如何从LiveCD运行update-grub?
好的,所以我做了一些愚蠢的事。 我试图清理我的Grub条目,并意外地从Grub中删除了所有Linux内核(它们仍然在硬盘上)。 所以现在很明显,Grub没有给我任何启动Ubuntu的方法; 我可以很好地启动Windows,但Ubuntu甚至没有列出。
所以我只想以某种方式运行“sudo upgrade-grub”将Ubuntu恢复到列表中。 我可以从LiveCD启动,但是一旦在那里我如何运行该命令? (顺便说一下,我的Ubuntu安装在sda5上。)
既然你说你的grub bootloader出现了,但是菜单是空的,我认为你不需要重新安装grub,而是按照你的要求运行update-grub。 为此,您可以使用Live CD,从硬盘安装相关分区,chroot到已安装目录,然后运行update-grub,它应该像在实际硬盘上运行一样工作。
使用Live CD启动,选择“不安装即可试用Ubuntu”。
一旦它启动,打开一个终端(ctrl-alt-t)并在/ mnt上安装你的Ubuntu分区。 我假设Ubuntu分区是/ dev / sda5,但你应该自己确定。 如果您需要帮助,请告诉我们:
sudo mount /dev/sda5 /mnt
然后再安装一些所需的目录:
sudo mount --bind /dev /mnt/dev sudo mount --bind /sys /mnt/sys sudo mount --bind /proc /mnt/proc
此外,如果你有一个单独的Ubuntu启动分区(这些天非常罕见,但可能是这种情况):
sudo mount /dev/sdaX /mnt/boot
怎么知道你是否有启动分区?
安装完Ubuntu分区后,打开/mnt/etc/fstab
。 如果你看到/boot
的条目,请注意它指向哪个设备( /dev/sda4
可能?)。 这是你必须安装的那个。
安装完成后,执行chroot以开始使用已安装的目录作为根分区:
sudo chroot /mnt
你会得到一个#/
提示。 首先要做的是确认您使用的是正确的/boot
目录。 转到/boot/grub
并查看那里的文件。 应该有一堆.mod文件和一个grub.cfg文件。 如果目录为空,请不要继续,因为这意味着这不是您的实际boot
目录。 查看上面的内容,了解如何确定是否需要安装其他boot
目录。
一旦确认/boot/
包含正确的文件,意味着它是正确的位置,请键入:
sudo update-grub
这应该使用菜单条目重建/boot/grub/grub.cfg文件。
然后退出chroot:
exit
此时,您可能需要检查事情是否已正确更新。 为此, cd /mnt/boot/grub
并检查grub的文件是否存在,应该有一堆.mod文件和grub.cfg,后者应该有你的Ubuntu内核的条目。 如果你只看到grub.cfg而没有.mod文件,那就意味着这不是正确的启动目录,请看上面是如何挂载一个单独的启动分区。
卸载文件系统:
sudo umount /mnt/dev sudo umount /mnt/sys sudo umount /mnt/proc sudo umount /mnt/boot #Only if you mounted it earlier sudo umount /mnt/
然后重新启动,希望您的Grub菜单将被恢复。
从Live CD启动。
按Alt + Ctrl + T打开终端并运行以下命令:
sudo mount / dev / sda5 / mnt
安装GRUB2引导加载程序:
sudo grub-install --root-directory = / mnt / dev / sda
那是/dev/sda
– 硬盘本身,而不是Ubuntu分区 – /dev/sda5
。
卸载Ubuntu分区并重启计算机,如下所示:
sudo umount / dev / sda5; sudo重启
如果您安装了多个操作系统,请重新检测操作系统,如下所示:
sudo update-grub
而已!
我对这个问题的解决方案是:
- 从http://www.supergrubdisk.org/category/download/supergrub2diskdownload/super-grub2-disk-stable/下载supergrub2disk
- 把它放在pendrive上http://www.supergrubdisk.org/put-super-grub2-disk-into-an-usb-pendrive-as-an-iso-image-from-windows/
- 从pendrive引导计算机与supergrub2disk上
- 登录到您的Ubuntu
- 从https://help.ubuntu.com/community/Boot-Repair获取Ubuntu的Boot-Repair
也许它不是最快的解决方案,但对我来说这是最简单的解决方案。
感谢所有的帮助! 但是,最终似乎没有任何工作,因为我有一个单独的/ home分区,我能够重新安装Ubuntu而不会丢失任何数据。 我仍然需要重新安装程序并进行一些配置,但此时一切似乎都很好。
roadmr和Basharat Sialvi的组合说明可以在这里找到: https : //askubuntu.com/a/88432/293759
有关Grub2的chainloader和多引导命令的说明 ,请参阅Community Help Wiki 。