背景
本文详细介绍了在Linux系统中进行磁盘分区、格式化、挂载以及持久化挂载磁盘的方法。首先,使用fdisk -l查看磁盘分区,选择需要操作的分区(如/dev/sda4),并通过mkfs.ext4格式化分区。接着,使用blkid获取分区的UUID,并编辑/etc/fstab文件,添加挂载信息。使用mount -a检查语法,重启后通过df -h确认挂载结果。此外,还介绍了如何调整挂载点权限、使用卷标(LABEL)挂载,以及系统无法启动时通过Live CD/USB修复的流程。最后,提供了为分区设置LABEL的命令,并展示了如何在/etc/fstab中使用LABEL进行挂载。
详细命令快速回忆
查看磁盘分区
fdisk -l 或 lsblk
格式化分区(需谨慎,会删除数据)
mkfs.ext4 /dev/sda4
获取分区 UUID
blkid /dev/sda4
编辑 fstab 文件
vim /etc/fstab 或 vi /etc/fstab
添加内容示例:
UUID=12345678-9abc-def0-1234-56789abcdef0 /data ext4 defaults 0 2
检查 fstab 语法
mount -a
调整挂载点权限
chmod 755 /data
chown your_username:your_group /data
使用卷标(LABEL)挂载
e2label /dev/sda4 mysda4(ext 文件系统)
ntfslabel /dev/sda4 mydata(NTFS 文件系统)
xfs_admin -L mydata /dev/sda4(XFS 文件系统)
系统无法启动时的修复流程(通过 Live CD/USB)
挂载根文件系统
mount /dev/sda1 /mnt/sysroot
备份 fstab
cp /mnt/sysroot/etc/fstab /mnt/sysroot/etc/fstab.bak
编辑 fstab
vim /mnt/sysroot/etc/fstab
检查文件系统一致性
e2fsck -f /dev/sda1(ext4 文件系统)
重新挂载根文件系统
umount /mnt/sysroot
mount /dev/sda1 /mnt/sysroot
更新 GRUB 引导
grub-install /dev/sda
重启系统
reboot
验证挂载结果
查看已挂载分区:df -h /data
查看 UUID 和 LABEL:blkid
具体步骤
fdisk查看设备:fdisk -l
查看到有几个磁盘,分了多少个区,要操作哪个,假设要操作sda4
格式化分区(注意备份):mkfs.ext4 /dev/sda4
假设这里要挂在为ext4格式
使用blkid /dev/sda4
获取UUID,长期挂载建议使用 UUID 而非设备名(如 /dev/sda4)这样更加准确。假设输出是:/dev/sda4: UUID="12345678-9abc-def0-1234-56789abcdef0" TYPE="ext4"
修改/etc/fstab文件,添加需要挂载的表项:假设挂载在data分区
在文件末尾添加一行(替换为实际 UUID):
UUID=12345678-9abc-def0-1234-56789abcdef0 /data ext4 defaults 0 2
字段说明:
UUID=…:分区的 UUID(来自 blkid 命令)。
/data:挂载点路径。
ext4:文件系统类型(根据格式化时选择的类型调整)。
defaults:默认挂载选项(包含 rw, suid, dev, exec, auto, nouser, async)。
0:是否被 dump 备份(0 表示不备份)。
2:fsck 检查文件系统的顺序(2 表示在根分区后检查)。
检查 /etc/fstab 语法是否正确:mount -a
重启:reboot
重启后确认分区是否自动挂载:df -h /data
其他
问题1:挂载后 /data 目录的权限可能需要调整:
sudo chmod 755 /data
sudo chown your_username:your_group /data
问题2:如果 /etc/fstab 配置错误导致系统无法启动,可以通过 Live CD/USB 修复
(这里只做简单方法记录,不做实验)
进入系统后fdisk -l或lsblk查看磁盘分区,然后用mount /dev/sda1 /mnt/sysroot命令将根文件系统挂载到该临时目录。然后备份原来的/etc/fstab。以及编辑fstab。以及使用文件系统检查工具检查根文件系统的一致性,例如对于 ext4 文件系统,可以使用e2fsck -f /dev/sda1命令。然后卸载并重新挂载根文件系统,以确保新的/etc/fstab配置生效。并且更新引导:grub-install /dev/sda(假设/dev/sda是系统所在的磁盘)来更新引导信息。然后重启
问题3:如何使用label挂载?
首先要为 /dev/sda4 分区设置 LABEL(卷标),使用 e2label 命令(适用于 ext2/ext3/ext4 文件系统)或 tune2fs 命令。
sudo e2label /dev/sda4 mysda4 #mysda4是卷标名称,可以替换为任意字符串.LABEL 名称不要包含空格或特殊字符,建议使用字母、数字和短横线。
验证 LABEL 是否生效:sudo blkid /dev/sda4
,如果生效会有:# /dev/sda4: UUID="606ed2cb-6c2c-4f22-9d86-0d2c02d21601" TYPE="ext4" LABEL="mysda4"
修改 /etc/fstab 文件,将原来的 UUID 替换为 LABEL:
UUID=606ed2cb-6c2c-4f22-9d86-0d2c02d21601 /data ext4 defaults 0 2
修改为:
LABEL=mydata /data ext4 defaults 0 2
`
如果不是ext的格式其他的:
ntfs: `ntfslabel /dev/sda4 mydata`
xfs: `xfs_admin -L mydata /dev/sda4`
临时挂载方式:
mount /dev/sda4 /mnt/data
mount -t ext4 /dev/sda4 /mnt/data #-t ext4:指定文件系统类型(如 ext4, ntfs, xfs 等)。