Linux 下通过命令行挂载设备
 
			1. 挂载 U 盘
首先,确保 U 盘已经插入计算机。
1.2 查看设备信息
使用 lsblk 或 fdisk -l 命令来列出系统中所有的存储设备,包括 U 盘。一般来说,U 盘会显示为类似 /dev/sdb1 或 /dev/sdc1 的设备。
| 1 | lsblk | 
加上 -f 参数可以显示磁盘的 UUID 。
或者:
| 1 | sudo fdisk -l | 
输出可能类似于:
| 1 | /dev/sdb1 ext4 15G 8G 7G 60% /media/sky/USB | 
此处 /dev/sdb1 是 U 盘的设备路径。
1.3 创建挂载点
挂载点是一个空目录,用于访问 U 盘中的文件。你可以选择将 U 盘挂载到一个现有目录,也可以创建一个新目录作为挂载点。
例如,创建一个新的挂载点 usb:
| 1 | sudo mkdir /mnt/usb | 
也可以选择其他路径,例如 /media/usb 或 /home/sky/usb。
1.4 挂载 U 盘
将 U 盘挂载到刚才创建的挂载点。假设你的 U 盘设备是 /dev/sdb1,你可以执行以下命令:
| 1 | sudo mount /dev/sdb1 /mnt/usb | 
如果挂载成功,使用 ls /mnt/usb 或 lsblk 可以看到 U 盘的内容。
1.5 查看挂载情况
你可以使用 df -h 或 lsblk 查看所有挂载的设备,确认 U 盘是否成功挂载:
| 1 | df -h | 
或者:
| 1 | lsblk | 
1.6 卸载 U 盘
完成对 U 盘的操作后,记得安全卸载。使用 umount 命令:
| 1 | sudo umount /mnt/usb | 
如果挂载的目录不为空,或者使用 umount 时出现“设备忙”的错误,可以使用以下命令强制卸载:
| 1 | sudo umount -l /mnt/usb | 
1.7 总结
- 使用 lsblk或fdisk -l查找 U 盘设备路径(例如/dev/sdb1)。
- 创建一个空目录作为挂载点。
- 使用 sudo mount /dev/sdb1 /mnt/usb将 U 盘挂载到该目录。
- 使用 sudo umount /mnt/usb卸载 U 盘。
如果你的 U 盘有特定的格式(如 NTFS、FAT32 等),也许需要安装特定的工具来支持该格式的挂载,如 ntfs-3g(对于 NTFS 格式)。
2. 挂载磁盘设备(扩容)
该方式是挂载子目录(更简单,但不改变根分区大小),如果不想用 LVM,可以将新磁盘挂载到某个子目录下,比如 /home、/var 等。
2.1 分区与格式化
| 1 | sudo fdisk /dev/sdb | 
- 创建新分区(n)
- 保存并退出(w)
格式化:
| 1 | sudo mkfs.ext4 /dev/sdb1 | 
mkfs.ext4等价于mkfs -t ext4。
2.2 挂载新磁盘
临时挂载到 /mnt/sdb1 :
| 1 | sudo mkdir -p /mnt/sdb1 | 
| 1 | sudo mount /dev/sdb1 /mnt/sdb1 | 
如果希望将其永久挂载到 /home:
- 先临时挂载到 /mnt/sdb1:
| 1 | sudo mkdir -p /mnt/sdb1 | 
| 1 | sudo mount /dev/sdb1 /mnt/sdb1 | 
- 备份 - /home数据:- 1 - sudo rsync -a /home/ /mnt/sdb1/ 
- 获取 UUID: - 1 - blkid /dev/sdb1 
- 编辑 - /etc/fstab:- 1 - UUID=xxxxx /home ext4 defaults 0 2 
- 重新挂载: - 1 
 2
 3- sudo rm /home/$USER/ -rf 
 sudo umount /mnt/sdb1
 sudo mount -a- 然后执行重启命令 - reboot。当你将磁盘挂载到- /home目录时,挂载操作会暂时遮盖掉- /home目录中的现有内容。也就是说,挂载后,- /home目录下的内容将会变成新挂载磁盘的内容,而原先的- /home目录下的文件将变得不可见。这些文件并没有被删除,只是暂时隐藏,它们仍然存在于磁盘上。你可以通过卸载磁盘(- sudo umount /home)查看这些原始文件。如果你希望保留原来的- /home内容,建议先将原来的文件备份到其他地方,或者在挂载之前将- /home目录的内容移动到另一个临时位置。
2.3 检查挂载
| 1 | df -h /home | 
3. 挂载 Windows 的磁盘分区(双系统)
示例:
| 1 | NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS | 
3.1 确认 Windows 分区信息
从 lsblk -f 输出中,可以看到 Windows 磁盘的 NTFS 分区:  
- nvme1n1p3→ 系统分区,UUID:- 95519C376F55F65F
- nvme1n1p4→ 软件分区,UUID:- 321ABC035AB41F42
3.2 安装 NTFS 支持工具
可能需要安装 ntfs-3g 来挂载 NTFS 文件系统:  
| 1 | sudo pacman -S ntfs-3g | 
3.3 创建挂载点
为每个分区创建挂载目录:
| 1 | sudo mkdir -p /mnt/windows_system | 
3.4 挂载分区
3.4.1 手动挂载(临时)
挂载 Windows 系统分区:
| 1 | sudo mount -t ntfs3 /dev/nvme1n1p3 /mnt/windows_system | 
挂载 Windows 软件分区:
| 1 | sudo mount -t ntfs3 /dev/nvme1n1p4 /mnt/windows_software | 
验证挂载情况:
| 1 | lsblk -f | 
挂载成功后可以查看挂载目录内容:
| 1 | ls /mnt/windows_system | 
3.4.2 自动挂载(持久化)
编辑 /etc/fstab,添加以下内容:  
| 1 | UUID=95519C376F55F65F /mnt/windows_system ntfs3 defaults 0 0 | 
生效配置:
| 1 | sudo mount -a | 
3.5 解决 Windows 快速启动问题
如果挂载时遇到 “Windows is hibernated” 错误,是因为 Windows 开启了 快速启动,需要关闭。
关闭 Windows 快速启动:
在 Windows 中:  
- 控制面板 → 电源选项 → 选择电源按钮的功能
- 取消勾选 启用快速启动(推荐)
- 重新启动 Windows 并进入 Linux
或者强制挂载(不推荐):
| 1 | sudo mount -t ntfs3 -o remove_hiberfile /dev/nvme1n1p3 /mnt/windows_system | 
3.6 断开挂载
如果不再需要挂载,可以使用以下命令卸载:
| 1 | sudo umount /mnt/windows_system | 
4. /etc/fstab 文件说明
4.1 示例
示例:
| 1 | # /etc/fstab: static file system information. | 
4.2 说明
每一行在 /etc/fstab 文件中都包含了 6 个字段,分别是:
- 设备或 UUID (磁盘或分区)
- 挂载点 (文件夹路径)
- 文件系统类型 (例如 ext4,vfat,tmpfs等)
- 挂载选项 (如 defaults,noatime,umask等)
- 转储选项 (用于备份),0表示该文件系统不需要备份。如果该字段为1,表示该文件系统会被dump命令处理。
- 文件系统检查顺序 (通常是 1或2)
关于示例中 noatime 和 umask 的含义:
- noatime是一个挂载选项,表示 不更新文件的访问时间(- atime) 。这对于提高性能非常有帮助,特别是在数据库或需要频繁读写的场景下,因为它减少了磁盘的写操作。默认情况下,每次访问文件(读取)时,文件的 访问时间(- atime) 会被更新。使用- noatime可以避免这种情况,从而提升性能,尤其是在频繁访问文件的情况下。
- umask用于设置新创建文件和目录的默认权限。- umask=0077意味着 默认权限为 700 ,即 只有文件的所有者 有读写执行权限,其他用户没有任何权限。- umask是通过掩码值来限制权限的,它是通过从默认权限(通常是 666 对于文件,777 对于目录)中减去掩码值来计算实际权限。
例如:
- 默认权限:666(文件的读写权限)
- 掩码 0077:减去 77 后,结果是600,意味着 文件只有所有者可以读写,而其他人没有权限。
- Title: Linux 下通过命令行挂载设备
- Author: loskyertt
- Created at : 2025-02-20 16:02:30
- Updated at : 2025-02-23 03:19:05
- Link: https://redefine.ohevan.com/2025/02/20/Linux挂载设备/
- License: This work is licensed under CC BY-NC-SA 4.0.
