识别外部设备使用lsblk或fdisk -l,通过sudo mount -t指定文件系统类型,-o设置挂载选项如rw、umask等;卸载时用umount命令,遇“device is busy”可用lsof或fuser排查占用进程,或使用umount -l懒惰卸载;为实现开机自动挂载,需编辑/etc/fstab文件,推荐使用UUID代替设备名,配置挂载点、文件系统类型、选项、dump和fsck字段,并用sudo mount -a测试配置正确性,避免系统启动失败。

在Linux系统中,挂载外部存储设备,说白了,就是告诉操作系统:嘿,我这里有个新的硬盘、U盘或者其他什么存储介质,你得把它识别出来,然后指定一个地方(一个目录)让它能被访问。这个过程的核心就是
mount
要挂载一个外部存储设备,你通常需要知道两件事:设备本身的名字(比如
/dev/sdb1
/mnt/usb
一个最基本的挂载流程是这样的:
lsblk
fdisk -l
/dev/sdb1
sudo mkdir /mnt/my_usb_drive
sudo mount /dev/sdb1 /mnt/my_usb_drive
当然,这只是最简单的情况,很多时候你还需要指定文件系统类型、挂载选项等等。
识别外部存储设备,这在Linux下是个基础活儿,但有时候也挺让人头疼的,特别是当你插了好几个设备的时候。最常用的工具是
lsblk
当你输入
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 part /boot/efi ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 237.1G 0 part / sdb 8:16 1 14.9G 0 disk └─sdb1 8:17 1 14.9G 0 part
这里,
sdb
sdb1
RM
1
另一个老牌工具是
fdisk -l
如果你想知道某个分区是什么文件系统类型,
sudo blkid /dev/sdb1
TYPE
ext4
vfat
ntfs
TYPE
mount
-t <文件系统类型>
-t vfat
ntfs-3g
-t ntfs-3g
sudo mount -t vfat /dev/sdb1 /mnt/usb sudo mount -t ntfs-3g /dev/sdb1 /mnt/data_drive
如果你不指定,
mount
-o <挂载选项>
mount
ro
rw
defaults
rw, suid, dev, exec, auto, nouser, async
noauto
/etc/fstab
user
users
user
users
exec
noexec
noexec
sync
async
sync
async
uid=<用户ID>
gid=<组ID>
umask=<权限掩码>
uid=1000,gid=1000,umask=0022
举个例子,挂载一个NTFS分区,并允许当前用户读写:
sudo mount -t ntfs-3g -o defaults,uid=$(id -u),gid=$(id -g) /dev/sdb1 /mnt/data_drive
这里
$(id -u)
$(id -g)
挂载了设备,用完之后可不能直接拔掉,那样很容易导致数据损坏。正确的方式是先“卸载”它。
卸载命令是
umount
sudo umount /mnt/my_usb_drive
sudo umount /dev/sdb1
通常推荐使用挂载点,因为它更直观,而且在某些情况下,设备名可能会变。
卸载时最常见的错误就是:“device is busy”(设备忙)。 这意味着有程序正在使用这个挂载点里的文件或者目录。遇到这种情况,你不能硬拔,得先找出是谁在“霸占”着它。
解决“设备忙”问题,有几个办法:
找出占用进程:
lsof <挂载点>
fuser -m <挂载点>
kill <进程ID>
fuser -m /mnt/usb
sudo kill <PID>
懒惰卸载(Lazy Unmount): 如果实在找不到或者无法关闭占用进程,
umount -l <挂载点>
确保数据同步: 在卸载之前,尤其是对U盘这类可移动设备,最好先运行一下
sync
sync
sync
记住,安全卸载是保护数据完整性的关键步骤,千万不能省。
对于那些你需要长期固定使用的外部存储设备,比如一个专门的数据盘,每次开机都手动挂载显然不现实。这时,
/etc/fstab
编辑
/etc/fstab
/etc/fstab
sudo cp /etc/fstab /etc/fstab.bak
/etc/fstab
/dev/sdX
/dev/sdX
sudo blkid
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ext4
ntfs-3g
vfat
mount -o
defaults
ro
noauto
user
defaults
errors=remount-ro
dump
0
fsck
1
2
0
一个典型的
/etc/fstab
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /mnt/data_disk ext4 defaults 0 2
这行配置的意思是:将UUID为
a1b2c3d4-e5f6-7890-1234-567890abcdef
ext4
/mnt/data_disk
dump
配置完成后,不要急着重启! 你可以用
sudo mount -a
fstab
fstab
自动挂载虽然方便,但一不小心写错了,那开机就可能直接进到紧急模式了。所以,理解每个字段的含义,并且在修改后进行测试,是至关重要的。
以上就是如何在Linux中挂载外部存储设备 Linux mount命令参数详解的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号