Ubuntu双启动报错:GRUB配置中的UUID指向是否正确?
Ubuntu双启动报错:GRUB配置中的UUID指向是否正确?
嗨,我来帮你梳理下这个双启动的问题~
首先先解答你最关心的核心疑问:GRUB配置里的root=UUID=xxx是指向Linux系统的根分区(也就是存放系统核心文件的那个ext4分区),而不是EFI启动分区,从你提供的grub.cfg截图来看,这个指向是完全正确的,所以这部分不是问题所在哦。
接下来咱们结合你遇到的报错(从截图提示来看,应该是找不到/boot下的内核文件或initramfs镜像),给你几个针对性的排查方向:
检查Live USB修复时的挂载步骤是否完整
你用Live USB修复时,有没有按正确流程挂载分区?正确步骤应该是:- 把你的Ubuntu根分区挂载到
/mnt - 如果是UEFI启动模式,还要把EFI分区挂载到
/mnt/boot/efi - 执行
sudo chroot /mnt进入本地系统环境后,再运行update-grub和update-initramfs -u
如果之前没做chroot就直接更新,操作的其实是Live USB的临时系统,根本没修改到你的本地Ubuntu,这就难怪没效果了。
- 把你的Ubuntu根分区挂载到
确认根分区的
/boot目录文件是否完整
可以在Live USB里挂载根分区后,查看/boot目录下有没有对应的vmlinuz-xxx内核文件和initrd.img-xxx镜像文件。如果这些文件缺失或损坏,哪怕GRUB配置正确,也会报错找不到文件。这种情况可以在chroot环境下重新安装内核包,比如执行:apt install --reinstall linux-image-$(uname -r)检查EFI分区的GRUB启动文件是否正常
如果是UEFI启动,EFI分区(也就是blkid里显示的FAT32格式分区)里的EFI/ubuntu/grubx64.efi文件是否存在?可以尝试在chroot环境下重新安装GRUB到EFI分区:grub-install --efi-directory=/boot/efi之后再重新更新GRUB配置。
备注:内容来源于stack exchange,提问作者DavvveN
相关产品推荐
相关产品推荐

