ubuntu挂载磁盘或U盘

embedded/2024/9/25 6:15:19/

方法

在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.ppmy.cn/embedded/116483.html

相关文章

游戏开发2025年最新版——八股文面试题(unity,虚幻,cocos都适用)

1.静态合批与动态合批的原理是什么?有什么限制条件?为什么?对CPU和GPU产生的影响分别是什么? 原理:Unity运行时可以将一些物体进行合并,从而用一个描绘调用来渲染他们,就是一个drawcall批次。 限…

Linux 基本指令的学习

01. ls 指令 语法 : ls [ 选项 ][ 目录或文件 ] 功能 :对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。 常用选项: -a 列出目录下的所有文件,包括以 . 开头的隐含…

从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之一:生产环境与目标服务器详情

从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之一:生产环境与目标服务器详情 目录 从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之一:生产环境与目标服务器详情一、操作系统环境二、Or…

springboot整合openfeign

文章目录 准备一、引入必要依赖二、写一个feign client并暴露到注册中心2.1 client2.2 开启Feign客户端功能 三、别的服务引入IProductClient并调用方法3.1 建一个order-service,引入IProductClient所在模块3.2 注入IProductClient,并调用方法 四、启动服…

【计算机网络 - 基础问题】每日 3 题(二十)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

01_WebRtc_一对一视频通话

文章目录 通话网页的设计客户端实现Web的API 服务端实现 2024-9-20 很久没有写博客啦,回顾总结这段时间的成果, 写下博客放松下(开始偷懒啦)主要内容:实现网页(html)打开摄像头并显示到页面需要…

线程池和JUC

1. 线程池 1.1 线程状态介绍 当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程 状态被定义在了java.lang.Thread.Stat…

Springboot Mybatis对数据库增删改查

Springboot中,用Mybatis对数据库进行增删改查 Mapper类 package com.wzb.MybatisExercise20240924;import com.wzb.Pojo20240924.Emp; import org.apache.ibatis.annotations.*;Mapper public interface EmpMapper {// 根据id查询数据Select("select * from e…