虚拟机里的Ubuntu18.4启动时进入到grub rescue救援模式(无法正常进入到系统),ls查看后只有一个硬盘和分区,且无法找到/boot/grub文件【已解决】

您所在的位置:网站首页 boot已损坏且无法读取硬盘文件怎么解决 虚拟机里的Ubuntu18.4启动时进入到grub rescue救援模式(无法正常进入到系统),ls查看后只有一个硬盘和分区,且无法找到/boot/grub文件【已解决】

虚拟机里的Ubuntu18.4启动时进入到grub rescue救援模式(无法正常进入到系统),ls查看后只有一个硬盘和分区,且无法找到/boot/grub文件【已解决】

2024-07-10 15:46| 来源: 网络整理| 查看: 265

现象描述:启动ubuntu的时候就发现进入到了grub rescue救援模式,无法进入到系统,网上百度了一大堆,都是说在救援模式下ls查看每个分区,直到找出哪个分区下面有/boot/grub,然后再用命令把启动引导分区设置成这个,千篇一律的答案,他们那些适用于启动分区设置错误,但是/boot/grub和vmlinuz等文件本身存在的情况。但是我的情况是:只有一个硬盘和分区,并且压根没有找到grub文件

问题原因:当我在ubuntu里使用yocto为imx8plus构建系统的时候,由于构建过程中会产生大量的中间文件,导致磁盘占用快满了,于是我在windows端的磁盘管理下为ubuntu所在的物理磁盘E拓展了80G的磁盘空间,然后在ubuntu的命令行用fdisk给虚拟机扩容了。中间少了一步,导致分区错乱,文件系统受到损坏

正确的步骤应该是 1.先在windos端为ubuntu所在的磁盘驱动器拓展卷(win+x->磁盘管理->找到ubuntu安装位置所在磁盘->右键->拓展卷)

2.打开虚拟机,在虚拟机设置里为它拓展,如下图:

3.在ubuntu系统里用fdisk或gparted等工具进行扩展(我下面是已经拓展过的,这里只是说明一下操作方法):

上面略微有点啰嗦了,接下来进入正题,看如何解决

解决方案:

第一步:你要知道你的ubuntu是哪个版本的,像我的是18.04,那么就需要准备ubuntu18.04的原生iso镜像,如果没有可以到网上自行下载

第二步:在虚拟机设置里设置成使用ISO映像文件,浏览选中刚才第一部提到的ubuntu18.4镜像,点击确定

第三步:打开虚拟机,启动ubuntu,在启动时迅速按下F2,会出现下列界面。把boot设置下面的四个选项中的优先级调整一下,这是用来配置启动顺序的地方。设备的排列顺序决定了计算机启动时检查启动设备的顺序,这里我们把CD-ROM drive挪到最上面(shift + 加号 代表上移 减号可以下移),按下F10保存,选择yes确定保存,然后重启,这时候会先尝试从CD-ROM驱动器启动

第四步:重启完之后会会正常进入ubuntu的系统里,进去之后会出现一个引导界面,会有两个选项,一个是try ubuntu,另一个是install ubuntu,这里我们选择try ubuntu,稍等一下会进入到ubuntu系统桌面,这里打开终端,先修复下磁盘sudo fsck -f /dev/sda1

如果显示有error就多执行几次,直到出现/dev/sdxxx:clean

第五步:为/dec/sda1创建grub启动文件

sudo mount /dev/sda1 /mnt

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

sudo chroot /mnt

grub-install /dev/sda

update-grub

Exit

for i in /dev/pts /proc /sys /run; do sudo umount /mnt$i; done

sudo umount -l /mnt

sudo reboot

如果sudo umount /mnt的时候显示umount :/mnt is busy可以换成sudo umount /mnt,或者lsof | grep “/mnt”查看哪些进程在占用它,找到它的进程号杀死它

图片示例:

这些步骤将修复或重新安装GRUB到您的硬盘(/dev/sda),并确保虚拟机可以正常启动Ubuntu系统

第六步:重启,这时就可以正常进入到ubuntu系统里了,并且以前系统里的数据都还在,没有被破坏。如果想把启动引导方式改成物理磁盘驱动器,那就按照上面第二步的示例自行改回来即可,看你个人选择。至此,大功告成。我的方法也不一定适合你们,如果跟我的情况不一样,还是要多自己研究,把这个原理搞清楚。

我这里只是提供了一个方法论,用下面的比喻会更容易理解一些:

通过Live CD/USB进入了系统,相当于拿到了系统的“备用钥匙”,然后进入了系统,就像进入了一座房子一样。我们重新安装了GRUB引导程序,相当于重新贴了一张门牌,告诉系统应该从哪里启动。然后我们更新了一下配置,就像是给系统一份新的地图,让它知道应该怎么启动。

最后,我们收拾了一下,卸载了我们用来进入系统的工具,然后重启了系统。这样系统就能够正常启动了,就像以前一样!

总的来说,我们的做法就是通过一个备用的方式进入你的系统,修复了一些东西,然后再正常地启动。这样你的Ubuntu系统又回来了,一切都像以前一样



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3