ubuntu挂载磁盘或U盘

方法

在Ubuntu中,使用命令行读取U盘通常涉及到以下几个步骤:插入U盘、查找设备名称、挂载U盘以及访问文件。以下是详细步骤:

1. 插入U盘

将U盘插入计算机的USB端口。

2. 查找设备名称

你可以使用lsblkdmesg命令来查找新插入的U盘设备名称。

使用lsblk命令

在终端中输入以下命令:

lsblk

这个命令会列出所有的块设备。你应该能够看到一个新设备,通常是/dev/sdX(例如/dev/sdb),这里的X是一个字母,表示设备。

使用dmesg命令

你也可以使用dmesg命令来查找设备名称。输入以下命令并查看最后几行输出:

dmesg | tail

你应该能够看到与U盘相关的信息,包括设备名称。

3. 创建挂载点

在挂载U盘之前,你需要创建一个挂载点。通常,这只是一个空目录。例如:

sudo mkdir /mnt/usb

4. 挂载U盘

使用mount命令将U盘挂载到刚才创建的挂载点。假设你的设备名称是/dev/sdb1

sudo mount /dev/sdb1 /mnt/usb

5. 访问U盘

现在你可以通过访问挂载点来读取U盘中的文件。例如:

cd /mnt/usb
ls

6. 卸载U盘

完成操作后,确保在拔出U盘之前先卸载它,以避免数据损坏:

sudo umount /mnt/usb

以下是一个完整的工作流示例:

# 1. 插入U盘
# 2. 查找设备名称
lsblk
# 3. 创建挂载点
sudo mkdir /mnt/usb
# 4. 挂载U盘
sudo mount /dev/sdb1 /mnt/usb
# 5. 访问U盘
cd /mnt/usb
ls
# 6. 卸载U盘
cd ~
sudo umount /mnt/usb

请根据你的系统配置和需求,适当调整命令中的设备名称和挂载点路径。

mount命令错误

遇到mount命令错误时,通常表示文件系统类型不兼容、设备存在问题或缺少必要的文件系统支持。在你的情况下,错误提示可能是由于以下原因之一:

  1. 文件系统类型不匹配
  2. 设备存在问题
  3. 缺少必要的文件系统工具

以下是一些解决方法:

1. 检查文件系统类型

首先,使用lsblkblkid命令来确认文件系统类型:

lsblk -f

或者:

sudo blkid /dev/sdd

你可能会看到类似以下的输出:

/dev/sdd1: UUID="XXXX-XXXX" TYPE="vfat"
/dev/sdd2: UUID="YYYY-YYYY" TYPE="ext4"

根据输出确认文件系统类型,例如vfat(FAT32)、ntfsext4等。

2. 手动指定文件系统类型

如果文件系统类型是FAT32或NTFS,可以尝试手动指定文件系统类型:

# 对于FAT32
sudo mount -t vfat /dev/sdd1 /mnt/usb# 对于NTFS
sudo mount -t ntfs /dev/sdd1 /mnt/usb

3. 安装必要的文件系统支持工具

如果你的系统缺少必要的文件系统支持工具,安装它们可能会解决问题:

# 安装NTFS支持工具
sudo apt update
sudo apt install ntfs-3g# 安装exFAT支持工具
sudo apt install exfat-fuse exfat-utils

4. 检查设备和文件系统完整性

如果仍然无法解决问题,可能需要检查设备和文件系统的完整性:

使用dmesg查看详细错误信息
dmesg | tail
使用fsck修复文件系统

注意:在修复文件系统时请小心,因为它可能会导致数据丢失。

sudo fsck /dev/sdd1

5. 确认挂载点是否存在并且空闲

确保挂载点存在并且没有被其他设备占用:

# 确认挂载点存在
sudo mkdir -p /mnt/usb# 确认没有其他设备占用挂载点
sudo umount /mnt/usb

综上所述,这里是一个完整的工作流程示例:

# 1. 插入U盘
# 2. 查找设备名称和文件系统类型
lsblk -f
sudo blkid /dev/sdd# 3. 创建挂载点
sudo mkdir -p /mnt/usb# 4. 尝试手动指定文件系统类型进行挂载
sudo mount -t vfat /dev/sdd1 /mnt/usb  # 如果文件系统是FAT32
# 或者
sudo mount -t ntfs /dev/sdd1 /mnt/usb  # 如果文件系统是NTFS# 5. 安装必要的文件系统支持工具
sudo apt update
sudo apt install ntfs-3g  # 对于NTFS
sudo apt install exfat-fuse exfat-utils  # 对于exFAT# 6. 检查设备和文件系统完整性
dmesg | tail
sudo fsck /dev/sdd1# 7. 确认挂载点是否存在并且空闲
sudo mkdir -p /mnt/usb
sudo umount /mnt/usb

希望这些步骤能帮助你解决问题。如果问题依旧存在,请提供更多的错误信息以便进一步诊断。

设备尚未分区或者格式化时

如果你发现lsblk -f命令显示某些设备(例如/dev/sda/dev/sdb)没有文件系统类型,这可能意味着这些设备尚未分区或格式化,或者存在其他问题。以下是一些排查和解决方法:

1. 确认设备是否已分区

首先,使用fdisk -lparted命令查看设备是否已分区:

使用fdisk -l
sudo fdisk -l
使用parted
sudo parted -l

如果这些命令显示设备没有分区,那么你需要先创建分区。

2. 创建分区

可以使用fdiskparted工具来创建分区。以下是使用fdisk创建分区的步骤:

sudo fdisk /dev/sdb

fdisk交互界面中,输入以下命令来创建新分区:

  1. 输入n创建新分区
  2. p选择主分区
  3. 选择分区号,例如1
  4. 指定起始扇区(通常直接回车使用默认值)
  5. 指定结束扇区(通常直接回车使用默认值)
  6. 输入w保存分区表并退出

3. 格式化分区

创建分区后,格式化分区以创建文件系统。可以使用mkfs命令:

格式化为FAT32
sudo mkfs.vfat /dev/sdb1
格式化为NTFS
sudo mkfs.ntfs /dev/sdb1
格式化为EXT4
sudo mkfs.ext4 /dev/sdb1

4. 挂载分区

格式化完成后,你可以继续挂载分区:

sudo mount /dev/sdb1 /mnt/usb

5. 检查新的文件系统

再次使用lsblk -f命令查看设备和分区的文件系统类型:

lsblk -f

完整工作流程示例

以下是一个完整的示例来创建、格式化和挂载新分区:

# 1. 插入U盘并确认设备名称
lsblk# 2. 查看设备是否已分区
sudo fdisk -l /dev/sdb# 3. 创建新分区 (假设设备名称为 /dev/sdb)
sudo fdisk /dev/sdb
# fdisk 交互命令:
# n -> p -> 1 -> 回车 -> 回车 -> w# 4. 格式化新分区 (假设新分区名称为 /dev/sdb1)
sudo mkfs.ext4 /dev/sdb1  # 或者 mkfs.vfat, mkfs.ntfs, 根据需要选择文件系统# 5. 创建挂载点
sudo mkdir -p /mnt/usb# 6. 挂载新分区
sudo mount /dev/sdb1 /mnt/usb# 7. 检查挂载情况
lsblk -f

通过这一步骤,你应该能够成功分区、格式化并挂载U盘。如果仍有问题,请提供详细的错误信息,以便进一步诊断。

继续使用磁盘剩余空间

如果你已经在一个总容量为5.5TB的磁盘上创建了一个2TB的分区,并且想继续使用剩余的空间,你可以按照以下步骤来创建和使用新的分区。这里假设你的磁盘使用的是GPT分区表,因为GPT可以支持大于2TB的分区。

1. 查看当前分区表

首先,查看当前分区表和剩余的未分配空间:

sudo parted /dev/sda print

sudo fdisk -l /dev/sda

2. 创建新的分区

你可以使用partedfdisk工具来创建新的分区。

使用parted

以下是使用parted创建新分区的步骤:

sudo parted /dev/sda

parted的交互模式下,输入以下命令:

  • 输入mkpart来创建新分区。例如,如果你想创建一个从2TB位置开始到剩余磁盘末尾的新分区,可以输入:

    mkpart primary ext4 2000GiB 100%
    
  • 输入print查看新的分区表。

  • 输入quit退出parted

使用fdisk

以下是使用fdisk创建新分区的步骤:

sudo fdisk /dev/sda

fdisk的交互模式下,输入以下命令:

  • 输入n创建新分区。
  • 按提示选择分区类型和起始位置,默认情况下它会从上一个分区的末尾开始。例如,如果上一个分区的结束位置是2TB,它会从2TB位置开始。
  • 输入分区的大小或结束位置,例如可以直接按回车使用默认的剩余全部空间。
  • 输入w保存更改并退出。

3. 格式化新分区

创建分区后,格式化它以创建文件系统:

sudo mkfs.ext4 /dev/sda2  # 假设新分区是 /dev/sda2

4. 挂载新分区

创建和格式化分区后,挂载它:

sudo mkdir -p /mnt/newpartition
sudo mount /dev/sda2 /mnt/newpartition

5. 更新/etc/fstab(可选)

为了在系统重启后自动挂载新分区,你可以将新分区的信息添加到/etc/fstab文件中。编辑/etc/fstab

sudo nano /etc/fstab

添加如下行:

/dev/sda2 /mnt/newpartition ext4 defaults 0 2

保存并关闭文件,然后运行以下命令测试挂载:

sudo mount -a

完整示例

以下是一个完整的示例,从查看分区表到创建、格式化和挂载新分区:

# 查看当前分区表
sudo parted /dev/sda print# 使用 parted 创建新分区
sudo parted /dev/sda
# 在 parted 交互模式下输入以下命令:
# mkpart primary ext4 2000GiB 100%
# print
# quit# 格式化新分区
sudo mkfs.ext4 /dev/sda2# 创建挂载点并挂载新分区
sudo mkdir -p /mnt/newpartition
sudo mount /dev/sda2 /mnt/newpartition# 更新 /etc/fstab 文件(可选)
sudo nano /etc/fstab
# 添加以下内容:
# /dev/sda2 /mnt/newpartition ext4 defaults 0 2
# 保存并关闭文件# 测试自动挂载
sudo mount -a

通过这些步骤,你应该能够成功使用剩余的磁盘空间。如果仍有问题,请提供详细的错误信息,以便进一步诊断。

权限问题

如果你在挂载新分区到/mnt目录时遇到了权限问题,可以按以下步骤检查和调整权限设置,以确保你能够正常访问和使用该挂载点。

查看当前权限

首先,查看/mnt目录和其子目录(如新挂载点)的权限:

ls -ld /mnt
ls -ld /mnt/newpartition  # 假设你的新挂载点是 /mnt/newpartition

修改挂载点目录权限

为了确保用户能够访问和写入挂载点目录,可以使用chmodchown命令调整权限和所有权。

调整权限和所有权
  1. 设置所有权:将挂载点目录的所有权设置为当前用户和组。

    sudo chown -R yourusername:yourgroup /mnt/newpartition
    

    替换 yourusernameyourgroup 为你的实际用户名和组名。通常组名与用户名相同。

  2. 设置权限:将挂载点目录的权限设置为允许用户读写。

    sudo chmod -R 755 /mnt/newpartition
    

    或者,如果你希望允许所有用户读写(不推荐用于公共系统):

    sudo chmod -R 777 /mnt/newpartition
    

确保挂载时权限生效

有时,挂载时的权限设置可能会覆盖文件系统的原始权限。你可以在/etc/fstab中通过指定挂载选项来控制权限。例如:

  1. 编辑/etc/fstab

    sudo nano /etc/fstab
    
  2. 添加或修改挂载选项
    在相应的行中添加uidgid选项,将所有权设置为特定用户和组。例如:

    /dev/sda2 /mnt/newpartition ext4 defaults,uid=1000,gid=1000 0 2
    

    其中1000是你的用户ID和组ID。你可以使用id username命令来查看具体的ID。

重新挂载分区

编辑完/etc/fstab文件后,重新挂载分区以使更改生效:

sudo umount /mnt/newpartition
sudo mount /mnt/newpartition

总结

通过调整挂载点目录的权限和所有权,以及在/etc/fstab中添加适当的挂载选项,你可以确保用户能够正常访问和使用挂载点。以下是完整的示例步骤:

# 查看当前权限
ls -ld /mnt
ls -ld /mnt/newpartition# 设置所有权和权限
sudo chown -R yourusername:yourgroup /mnt/newpartition
sudo chmod -R 755 /mnt/newpartition# 编辑 /etc/fstab 文件,添加或修改挂载选项
sudo nano /etc/fstab
# 添加以下行:
# /dev/sda2 /mnt/newpartition ext4 defaults,uid=1000,gid=1000 0 2
# 保存并关闭文件# 重新挂载分区
sudo umount /mnt/newpartition
sudo mount /mnt/newpartition

通过这些步骤,你应该能够解决挂载点的权限问题。如果仍有问题,请提供详细的错误信息,以便进一步诊断。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1544675.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

tokenizer简述

知乎:难赋链接:https://zhuanlan.zhihu.com/p/721054525 简述 为了方便计算机处理文本,我们常把文本转化为数值的形式。具体操作是把文本分割成有意义的片段,再把这些片段映射为数组,就能够利用各种深度学习的技术来处…

FastStone Capture屏幕长截图软件注册码

FastStone Capture是一款功能强大的电脑屏幕截图、录像软件,并支持图像编辑、注释及分享等使用功能。FastStone Capture可以免费用30天试用,终身版88元单台电脑终身使用,终身更新。不过网上分享的FastStone Capture注册码似乎也可以正常激活&…

Java开发:文件上传和下载

一、文件上传 使用MultipartFile 类型接收参数; 调用上传有两种方式: 方式一:使用curl命令 curl -F "file/data/filename.txt" http://localhost:8080/upload --verbose方式二:使用html,写一个form表单&…

Mysql基本理解

系列文章目录 Mysql的基础理论知识 目录 系列文章目录 文章目录 一、数据库概述 1.数据库概念 2.数据库的作用 3.什么是关系型数据库? 4.Mysql的优点 5.数据库术语 6.SQL语言分类 二、Mysql安装 三、 Mysql使用 1.登录数据库、退出登录 2.创建、列出数据库 3.选择…

Node.JS有什么用?给谁用?怎么学?通俗易懂,超级详细!

现在,nodejs主要是前端的小伙伴来用的。前端小伙伴也不用说去怎么学node,而是把node当做是一个环境。我们利用这个环境去搭建上层的一些应用,去使用一些工具。就像学习Windows一样,我们没有必要深入了解Windows的每一个细节&#…

【hot100-java】【环形链表 II】

印象题 /*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*/ public class Solution {public ListNode detectCycle(ListNode head) {ListNode fasthea…

建筑工程系列专业职称评审条件大全

我们都知道,职称是分很多系列,今天甘建二主要是从建筑工程系列讲起来,从技术员到初级职称再到中级职称然后到高级职称,各个等级的评审条件给您一一解析,赶紧收藏起来。 ✨技术员1️⃣理工类或建筑工程相关专业大学专科…

视频生成技术分享

文本到视频(T2V)生成是一种技术,它通过将文本描述转换为视频内容,允许用户根据自然语言生成动态视觉媒体。近年来,扩散模型在这一领域取得了显著进展,但现有模型在处理多个对象和复杂场景时,面临…

android 跑了一个网易云信v1.0的app, 编译的过程中报错Entry name ‘assets/sm2/r.jks‘ collided的处理

1、一开始并没有报这个错误,然后直接就不知道注了什么信息以后,就报错,是因为下面的warning: 2、然后编译的时候就直接报下面的错误: 3、然后我们再之前的注解放开: 这样一切就正常了。 4、那么这个究竟是…

【动态规划】(五)动态规划——子序列问题

动态规划——子序列问题 子序列问题☆ 最长递增子序列(离散)最长连续递增序列(连续)最大子序和(连续)最长重复子数组(连续)☆ 最长公共子序列(离散-编辑距离过渡&#xf…

【动态规划】(四)动态规划——打家劫舍与买卖股票

打家劫舍与买卖股票 打家劫舍问题打家劫舍打家劫舍II打家劫舍III 买卖股票问题买卖股票的最佳时机买卖股票的最佳时机II买卖股票的最佳时机III买卖股票的最佳时机IV最佳买卖股票时机含冷冻期买卖股票的最佳时机含手续费 股票问题总结 打家劫舍问题 给定一个数组,相…

day-59 两两交换链表中的节点

思路 只需将链表两两交换节点即可,如果是奇数个节点,最后一个节点则不用交换 解题过程 可以先自定义一个头结点thead,这样更便于思考交换,最后返回thead.next即可 Code /*** Definition for singly-linked list.* public class…

SAM+无监督学习!能发顶会的高端局组合!idea效果绝佳

学过SAM的朋友都知道,SAM需要对训练数据进行全面的手动标记,每张图像都要超过20分钟...效率有待提升。那么如何解决这个短板?我们考虑SAM无监督学习。 这是因为无监督学习具有无需人工标注数据的特点,通过将两者结合,…

【LeetCode】动态规划—删除并获得点数(附完整Python/C++代码)

动态规划—#740. 删除并获得点数 前言题目描述基本思路1. 问题定义:2. 理解问题和递推关系:3. 解决方法:4. 进一步优化:5. 小总结: 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 给你一个整数数组 n u m s nums nums ,你可以对它进行一…

DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories

目录 DownShift: Tuning Shift Reduction With Reliability for Racetrack Memories文章摘要:文章的主要贡献包括:文章的结构如下:DownShiftDownShift通过以下方式改进了现有的数据放置策略: GROGU(Generating Reliabi…

2024最受欢迎的3款|数据库管理和开发|工具

1.SQLynx(原SQL Studio) 概述: SQLynx是一个原生基于Web的SQL编辑器,由北京麦聪软件有限公司开发。它最初被称为SQL Studio,后改名为SQLynx,支持企业的桌面和Web数据库管理。SQLynx支持所有流行的数据库&a…

工业一体机实现接口与模块选配

在现代工业自动化和智能制造的浪潮中,工业一体机因其集成化、稳定性高和适应性强的特性而逐渐成为企业生产过程中不可或缺的设备。为了满足不同客户的需求,工业一体机的接口与模块选配功能显得尤为重要。 一、工业一体机的基本概念 工业一体机是将计算、…

跟着B战学习JAVA面试八股文

学习链接:https://www.bilibili.com/video/BV1gm411S7EX/?spm_id_from333.337.search-card.all.click&vd_sourceefbaa07876b231ae3225ba8999116807 创建线程的几种方式? 继承Thread类实现Runnable接口实现Callable接口通过线程池来创建线程 为什么…

【官方Mamba库】原理简述和代码解析

目录 1 代码原理简述1.1 原始结构——SSM1.2 结构改进——S4(Structured State Space for Sequences)1.2.1 离散化1.2.2HiPPO 1.3 最终版本——Mamba(又称S6或selective SSMs) 2 代码库目录结构2.1 mamba_simple.py主体结构2.1.1 …

OLED(2)驱动篇

文章目录 1 概述2 代码简述2.1 OLED 对象2.2 OLEDProtocol 对象2.3 OLEDFont 对象 3 成果展示 1 概述 1)代码仓库:这里尝试了两种面向对象的方式,不足之处敬请指正。 OOP 方式:https://gitee.com/luyaocf/demo-jlc_stm32f407_oop.…