fdisk分区后文件系统未知,Grub无法识别Linux分区求助
修复调整分区后GRUB无法识别文件系统的问题
这种情况我太熟悉了——用fdisk删除旧分区重建后,GRUB的分区索引和实际GPT表对不上,再加上分区UUID大概率变了,直接就卡在grub>提示符。既然你已经进了Linux Live系统,咱们一步步把它救回来:
第一步:找到正确的Linux根分区
首先得确认哪个分区是你的系统盘,毕竟重建分区后编号可能变了:
- 运行
lsblk或者blkid,找带ext4/xfs这类Linux文件系统的分区,记下它的设备路径(比如/dev/sda5)和UUID。 - 要是拿不准,也可以用
sudo fdisk -l看分区表,结合分区大小来判断——毕竟你刚调整过分区,大小应该有印象。
第二步:挂载系统分区到Live环境
把你的系统盘挂载到Live系统的目录里,这样才能操作它:
- 创建挂载目录:
sudo mkdir /mnt/root - 挂载根分区:
sudo mount /dev/sdaX /mnt/root(把X换成你找到的分区号,比如sda5) - 如果有单独的/boot分区,也要挂载:
sudo mount /dev/sdaY /mnt/root/boot(Y是boot分区的编号) - 如果是UEFI系统,必须挂载EFI分区:
sudo mount /dev/sdaZ /mnt/root/boot/efi(Z是EFI分区,通常是FAT32格式)
第三步:重新安装并更新GRUB
进入chroot环境,让系统以为我们在原系统里操作,然后修复GRUB:
- 进入chroot:
sudo chroot /mnt/root - 根据你的启动方式选择安装命令:
- BIOS/MBR系统:
grub-install /dev/sda(注意这里是磁盘设备,不是分区,比如/dev/sda,别加分区号) - UEFI系统:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
- BIOS/MBR系统:
- 更新GRUB配置,让它识别新的分区:
update-grub
第四步:修复fstab(如果UUID变了)
重建分区后UUID会变,要是fstab里还是旧的UUID,系统启动后会找不到分区:
- 退出chroot:
exit - 查看原系统的fstab:
cat /mnt/root/etc/fstab - 和之前
blkid得到的新UUID对比,如果根分区(或者boot/efi分区)的UUID不对,编辑fstab:sudo nano /mnt/root/etc/fstab,把旧UUID替换成新的,保存退出(按Ctrl+O,回车,再Ctrl+X)
做完这些,重启电脑应该就能正常进入系统了。核心问题就是分区重建后,GRUB的旧配置和新的分区信息不匹配,咱们通过重新安装GRUB+更新配置来解决。
内容的提问来源于stack exchange,提问作者Veladus
相关产品推荐
相关产品推荐

