没有lvm的情况:
标准挂载流程
假设 /dev/vda2 是根分区,/dev/vda1 是 /boot 分区。
第一步:挂载根目录
将原系统的根目录挂载到救援系统的 /mnt 目录下:
mount /dev/vda2 /mnt第二步:挂载虚拟文件系统(关键步骤)
为了让救援环境能够运行原系统的命令(如 passwd 或 grub-install),必须挂载内核相关的虚拟目录:
for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done第三步:挂载其他分区(可选)
如果原系统有独立的 /boot 或 /home 分区,也需要一并挂载:
mount /dev/vda1 /mnt/boot如果 /dev/vda2 是 LVM (Logical Volume Management) 卷,那么标准的挂载方式会有所不同,因为你不能直接挂载分区,而是需要先激活卷组(VG)并挂载逻辑卷(LV)。
以下是处理 LVM 分区的标准救援步骤:
1. 扫描并激活 LVM 卷
在 Rescue 模式下,系统默认不会自动挂载 LVM。你需要手动让内核识别它们:
# 1. 扫描物理卷
pvscan
# 2. 扫描卷组 (VG)
vgscan
# 3. 激活所有检测到的卷组
vgchange -ay
2. 确认逻辑卷 (LV) 路径
激活后,使用 lvdisplay 或 lsblk 确认根目录所在的逻辑卷名称。
lsblk
# 你通常会看到类似 /dev/mapper/ubuntu--vg-root 或 /dev/vg0/root 的路径
3. 标准挂载流程 (针对 LVM)
假设你的根分区 LV 路径是 /dev/mapper/vg0-root,而 /dev/vda1 是非 LVM 的 /boot 分区:
第一步:挂载根目录
mount /dev/mapper/vg0-root /mnt
第二步:绑定虚拟文件系统
这是确保 chroot 后网络、磁盘信息正常的关键:
for i in /dev /dev/pts /proc /sys /run; do mount --bind $i /mnt$i; done
第三步:挂载 Boot 分区 (如果有)
如果 /boot 是独立分区(通常 vda1 是 boot),必须挂载,否则无法修复内核或 GRUB:
mount /dev/vda1 /mnt/boot
4. 进入系统环境 (Chroot)
chroot /mnt /bin/bash
现在你已经身处原系统中了。你可以执行 passwd 改密码,或者修复 fstab 错误。
5. 卸载与清理 (退出时必做)
操作完成后,请务必按顺序退出并停用 LVM,否则重启后可能会由于文件系统未干净卸载导致磁盘自检:
- 退出:
exit - 递归卸载:
umount -R /mnt - 停用 LVM (安全做法):
vgchange -an