Linux磁盘挂载需分四步:识别设备→分区格式化→手动挂载测试→配置fstab;每步须确认成功,关键用lsblk、fdisk -l、blkid查状态,fstab推荐UUID防设备名变动。

Linux磁盘挂载不是一步到位的操作,而是分阶段推进:先让系统认出磁盘,再划分区域、写入文件系统,接着临时挂上验证,最后才配置成开机自动挂载。关键在于每步都得确认上一步已成功,否则 mount 会报“wrong fs type”或“no such device”这类错误。
确认磁盘与分区状态
挂载前必须知道目标设备是否存在、是否已分区、用什么文件系统。常用命令有三个:
- lsblk:快速列出所有块设备及挂载点,重点关注 MOUNTPOINT 为空的项(比如 /dev/sdb 没挂载,/dev/sdb1 也没挂载)
- sudo fdisk -l:查看详细分区表,确认设备路径(如 /dev/nvme0n1p2)和未分配空间
- sudo blkid /dev/sdX1:查 UUID 和 TYPE,例如输出 /dev/sdb1: UUID="a1b2c3d4..." TYPE="ext4",这是后续 fstab 的核心依据
分区与格式化(仅新盘必需)
如果 lsblk 显示只有 /dev/sdb(无数字后缀),说明还没分区,必须先分再格:
- 运行 sudo fdisk /dev/sdb,输入 n 新建分区 → p 主分区 → 默认起始扇区 → 回车占满剩余空间 → w 保存退出
- 再执行 sudo mkfs.ext4 /dev/sdb1(若需 NTFS 则用 mkfs.ntfs,前提已装 ntfs-3g)
- 完成后再次 lsblk,应看到 /dev/sdb1 出现,且 blkid 能查到它的 UUID
手动挂载测试(临时生效)
这步是验证前面操作是否成功的“安全阀”,不写入任何配置,重启即失效:
- 创建空目录作挂载点:sudo mkdir -p /mnt/data
- 挂载:sudo mount /dev/sdb1 /mnt/data(读写)或 sudo mount -o ro /dev/sdb1 /mnt/data(只读)
- 验证:df -h | grep sdb1 或 ls /mnt/data 看是否能列出内容
- 卸载测试:sudo umount /mnt/data,确保没进程占用
配置fstab实现开机自动挂载
/etc/fstab 是系统启动时读取的挂载清单,推荐用 UUID 避免设备名变动(如插槽更换、内核识别顺序变化):
- 编辑文件:sudo nano /etc/fstab
- 追加一行(按空格或 Tab 分隔六个字段):
UUID=a1b2c3d4... /mnt/data ext4 defaults,noatime 0 2 - 字段说明:
— 第1列:UUID=值(用 blkid 查到的完整字符串)
— 第2列:挂载点目录(必须已存在)
— 第3列:文件系统类型(ext4/xfs/ntfs-3g 等)
— 第4列:挂载选项,defaults 包含 rw,suid,dev,auto;加 noatime 可减少 I/O
— 第5列:dump 备份标志,填 0(禁用)
— 第6列:fsck 检查顺序,根分区为 1,其他一般填 2 - 立即测试配置:sudo mount -a,无报错即成功;若有错,检查 UUID 是否抄错、目录是否存在、文件系统类型是否匹配










