更新到最新内核(2.6.32-31-generic)后,当我启动我的电脑时,我得到的只是 grub2 提示符。我没有收到任何错误,它很简单不会启动。
我试过这个https://help.ubuntu.com/community/Grub2#Boot%20a%20Specific%20Kernel%20Manually但我的问题似乎是单独分区上的 /boot 并且教程不包括这部分。
如果我能启动,我想我可以做一个 grub-update,但首先我需要进入。
我有 Ubuntu 10.04,但我认为这是一个与 grub 相关的问题,Linux 版本无关紧要。
请帮忙,谢谢!
我可以按照以下说明多次恢复 grub:https ://wiki.ubuntu.com/Grub2#Recover
首先,您必须从 live cd 启动系统。然后
"方法 3 - CHROOT
这种安装方法使用 chroot 命令来访问损坏的系统文件。发出 chroot 命令后,LiveCD 将损坏系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏的系统文件系统,而不是 LiveCD 的文件系统。
1) 引导至 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。
2)打开一个终端 - 应用程序,附件,终端。
3)确定你正常的系统分区——(开关是小写的“L”)
如果不确定,请运行
查找正确的磁盘大小和 ext3 或 ext4 格式。4)挂载您的普通系统分区:
替换正确的分区:sda1、sdb5 等。
# 示例:sudo mount /dev/sda1 /mnt5) 仅当您有单独的引导分区时:sdYY 是 /boot 分区名称(例如 sdb3)
6)挂载关键的虚拟文件系统:
7) Chroot 进入你的普通系统设备:
8) 如果没有 /boot/grub/grub.cfg 或者它不正确,使用创建一个
9) 重新安装 GRUB 2:
替换正确的设备 - sda、sdb 等。不要指定分区号。
10) 验证安装(使用正确的设备,例如 sda。不要指定分区):
11) 退出 chroot:键盘上的 CTRL-D12) 卸载虚拟文件系统:
13) 如果你挂载了一个单独的 /boot 分区:
14) 卸载 LiveCD 的 /usr 目录:
15)卸载最后一个设备:
16) 重新启动。
"经过更多搜索,我找到了我真正想要的东西,这解决了我的问题。这篇文章解释了如果 /boot 和 / 在不同的分区上如何手动启动:http: //ubuntuaddict.com/ubuntu-how-to-boot-from-a-grub2-prompt-when-there-are-separate-引导和分区/
在我的例子中,我在 sda7 上有 /boot,在 sda8 上有 /,所以这些命令对我有用:
请注意:grub2 从 0 开始计算硬盘,从 1 开始计算分区。
这成功启动到我的 ubuntu,并在终端中输入:
我注意到实际上这是两个命令
update-grub
,update-grub2
并且实际上是相同脚本的启动器/usr/sbin/grub-mkconfig
,但具有不同的选项。(见update-grub2 --help
和)。cat /usr/sbin/update-grub
cat /usr/sbin/update-grub2
重启后一切正常:)
如果可以显示 grub 引导菜单,则不需要从 grub 提示符引导旧内核。
开机时按住左移。这将打开 Grub2 启动菜单。选择最新内核之前的内核(从顶部开始的第三个菜单选项)并启动它。