Linux 系统如何挂载U盘

一、问题描述

Linux系统不像Windows系统有图形化界面,对于机房服务器安装的Linux尤其如此,那么有时候需要拷贝U盘或者光盘的文件到Linux系统中去,与 Windows 系统自动为 U 盘分配盘符不同,Linux 系统需要手动将 U 盘挂载到指定目录下才能使用。该如何操作呢?

二、手动挂载

  1. 首先要查看所有存储设备,类似Windows在此电脑的一个显示所有分区的界面,每个分区多少容量,分区的名称标识符是什么。
  • 快速查看设备信息命令:

    lsblk

序号1和2.看作是2个磁盘设备。

  • 查看所有存储设备

    sudo fdisk -l

这里可以看到,有4个分区,最后一个分区/dev/sdb 就是我的U盘,我这个U盘是个U盘启动盘,也是有分区的,所以,下面还有细分项:/dev/sdb1、/dev/sdb2。

  1. 知道了U盘设备名和路径,就可以挂载U盘了
  • 正常情况下,可以直接使用下面的命令进行挂载

    mkdir /mnt/usb //新建一个usb挂载目录文件夹
    mount /dev/sdb1 /mnt/usb //挂载sdb1分区到usb目录下
    cd /mnt/usb/ //进入usb目录
    ls //就可以看到U盘的内容了
    cp xxx /usr/tmp //拷贝U盘内容到tmp文件夹中

根据 U 盘的文件系统类型选择合适的挂载命令

  • NTFS 格式(需安装 ntfs-3g)

    sudo mount -t ntfs-3g /dev/sdb1 /mnt/usb

  • FAT32/VFAT 格式

    sudo mount -t vfat /dev/sdb1 /mnt/usb

  • exFAT 格式(需安装 exfat-fuse 和 exfat-utils)

    sudo apt install exfat-fuse exfat-utils # Debian/Ubuntu
    sudo mount -t exfat /dev/sdb1 /mnt/usb

设置读写权限(可选):如果普通用户需要读写权限,挂载时可添加参数,例如:

复制代码
sudo mount -t ntfs-3g -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb
  1. 验证挂载

    df -h | grep /mnt/usb

如果能看到 U 盘的文件系统信息,说明 U 盘已经成功挂载。

三、自动挂载

如果希望系统启动时自动挂载 U 盘,可以通过修改 /etc/fstab 文件来实现:

  1. 获取 U 盘的 UUID

    sudo blkid /dev/sdb1

这里看到有一个UUID和一个PARTUUID,直接用UUID就行。

  1. 编辑 /etc/fstab 文件打开 /etc/fstab 文件进行编辑:

    sudo nano /etc/fstab

也可以使用vim进行编辑。,文件末尾添加 U 盘的挂载信息,例如(以 NTFS 为例):

复制代码
UUID=你的UUID /mnt/usb ntfs-3g defaults,uid=1000,gid=1000 0 0

发现这里有6列:

复制代码
UUID=64AABD17AABCE728  /mnt/usb ntfs defaults, 0 0
设备 挂载点 文件系统类型 挂载选项 备份选项 文件系统检查
UUID=64AABD17AABCE728 /mnt/usb ntfs defaults 0 0

保存并退出: Ctrl + X,然后按 Y 以确认修改,按回车即可返回。

  1. 测试 fstab 配置

在修改 fstab 之后,不要直接重启系统,以免因配置错误导致系统无法启动。可以先测试:

复制代码
sudo mount -a

如果没有错误,则说明 fstab 配置正确。

参考链接

Linux /etc/fstab文件详解:自动挂载配置指南(中英双语)

如能帮你解决问题,请点赞收藏评论,帮助更多的人解决问题。

相关推荐
EnigmaCoder12 分钟前
【Linux】Vim编辑器:从入门到高效使用
linux·运维·编辑器·vim
qq_4112624231 分钟前
为什么会“偶发 539/500 与建连失败”
服务器·c语言·网络·智能路由器
楚禾Noah36 分钟前
【通用常识】YAML 中的高阶语法
运维·docker·容器
我科绝伦(Huanhuan Zhou)1 小时前
Linux服务器性能优化总结
linux·服务器·性能优化
m0_571372821 小时前
关于linux软件编程9——网络编程1
linux·服务器·网络
白书宇1 小时前
12.从零开始写LINUX内核--控制台初始化
linux·c语言·驱动开发·嵌入式硬件·microsoft·iot
小白不想白a1 小时前
【Ansible】变量、机密、事实
运维·云原生·ansible
源代码•宸3 小时前
网络流量分析——基础知识(二)(Tcpdump 基础知识)
运维·开发语言·网络·c++·经验分享·tcpdump
_童年的回忆_5 小时前
Linux下解决Git保存用户名和密码的方法
linux·运维·git
东心十9 小时前
Win11安装WSL、Docker Desktop
运维·docker·容器