无法访问Ubuntu分区 - GRUB引导故障求助
无法访问Ubuntu分区 - GRUB引导故障求助
Dave你好,看到你的情况确实有点棘手,不过别慌,我们一步步来尝试恢复你的Ubuntu分区。先理清楚现状:UEFI环境下重装Windows后GRUB被覆盖,之前用TestDisk操作可能打乱了分区表,现在Windows也损坏了,但你只关心Ubuntu的话,我们重点放在恢复GRUB和挂载Ubuntu分区上。
第一步:确认Ubuntu根分区
先从Live USB启动,打开终端执行以下命令,确认nvme0n1p5是不是你的Ubuntu根分区:
sudo blkid /dev/nvme0n1p5
看输出里的TYPE字段,如果显示ext4,那它大概率就是根分区;如果是swap,那说明这是交换分区,得重新找其他分区。
第二步:挂载分区并创建EFI目录
确认根分区后,先挂载它:
sudo mount /dev/nvme0n1p5 /mnt
之前你创建/boot/efi失败,可能是因为没先挂载根分区,现在我们创建这个目录:
sudo mkdir -p /mnt/boot/efi
从你的lsblk输出看,nvme0n1p1是标注了ESP的vfat分区,这就是我们需要的EFI系统分区,把它挂载到刚才创建的目录:
sudo mount /dev/nvme0n1p1 /mnt/boot/efi
第三步:进入chroot环境重装GRUB
接下来需要挂载系统必要的虚拟目录,以便进入Ubuntu的chroot环境:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys
进入chroot:
sudo chroot /mnt
现在在chroot环境里,把GRUB安装到NVME磁盘上:
grub-install /dev/nvme0n1
更新GRUB的引导配置:
update-grub
完成后退出chroot并重启电脑:
exit sudo reboot
第四步:如果分区表损坏,用TestDisk修复
如果挂载分区时提示错误,或者blkid识别不出分区类型,大概率是分区表被之前的操作破坏了,可以用TestDisk尝试修复:
- 从Live USB启动,打开TestDisk工具
- 选择你的NVME磁盘(
nvme0n1) - 选择分区表类型(UEFI环境下一般是GPT)
- 执行「快速搜索」,找到你的Ubuntu分区
- 找到后标记该分区为「P」(主分区),然后写入分区表,重启后再尝试前面的GRUB修复步骤
重要提醒
操作前如果有条件,尽量用Live USB把Ubuntu分区里的重要数据(比如你的编程项目)复制到外接硬盘,避免操作失误导致数据丢失。
备注:内容来源于stack exchange,提问作者davide galbiati




