我想报告我在安装 Ubuntu 12.04 64 位后遇到的一个问题
http://www.upubuntu.com/2011/11/how-to-change-default-os-at-boot-for.html
按照说明操作后,当我运行 update-grub 时,它询问我是否生成使用旧版 grub 的 menu.lst,我回答是。. 并且默认操作系统选项仍然保持不变。
我运行时 update-grub 的输出如下
sudo update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /vmlinuz-3.2.0-23-generic
Found GRUB 2: /boot/grub/core.img
Found kernel: /memtest86+.bin
Updating /boot/grub/menu.lst ... done
答案1
我认为您只是在寻求帮助,以更改系统上 GRUB 默认启动的操作系统。这个问题之前已经问过并得到回答。请查看此问题及其答案:
如何在引导加载程序中将 Windows 设置为默认引导?
GRUB_DEFAULT=
将要启动的操作系统的 GRUB 菜单设置为数字位置是一种“不太特殊”的方法。如果在 GRUB 菜单中添加了新条目,则此方法可能会失效。
您可以使用另外两种可能对您更有用的方法是:
请检查您计算机上使用的 GRUB 版本
根据本节Ubuntu GRUB 文档,您可以通过打开终端并输入以下内容从命令行检查系统上安装的当前版本...:
grub-install -v
Grub 2 应该显示版本号 1.96 或更高版本。Grub Legacy 是版本 0.97。
还请查看 GRUB 启动菜单上显示的版本信息。它很容易找到,但我还是提供了一张图片来说明。:-)
另一件你可以做的事情是安装启动修复工具并用它来Create a Bootinfo summary
。
为此,您首先需要使用 安装该工具apt-get
。执行此操作的终端命令是
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
- 当此操作完成(成功)后,输入命令
boot-repair
来启动该工具。 - 稍等片刻后,系统
boot-repair
会提示您下载最新版本。由于您刚刚下载并安装了该工具,因此无需执行此操作,因此请回答No
。 - 如果
boot-repair
请求安装该pastebinit
包,请响应Yes
。 - 该工具现在将扫描您的系统并(最终)显示下图所示的窗口。现在只需单击框/按钮即可
Create a Bootinfo summary
。这将收集有关系统启动配置的信息,但不会做出任何改变。
创建 bootinfo 摘要后,boot-repair
将显示一条包含如下 URL 的消息:http://paste.ubuntu.com/123456/
。请将此 URL 添加到您的问题中。此链接指向的信息将使我们能够更好地了解 GRUB 在您的计算机上是如何设置的。
答案2
我也遇到过类似的问题。
在我最近几次发行版升级之后,我的 grub 没有看到新内核,update-grub 也无济于事。我需要运行grub-mkconfig -o /boot/grub/grub.cfg
来让 grub 知道有新内核。
读完这篇文章后,我找到了原因。我的磁盘上安装了 grub2,但计算机上只安装了 grub 包。这可能是 dist-upgrade 脚本(可能使用 update-grub)只更新 menu.lst 而不更新 grub.cfg 的原因。
我刚刚安装了 grub2,现在update-grub
生成grub.cfg
答案3
我希望重新安装 grub 可以解决您的问题。尝试插入 Ubuntu CD 启动操作系统,然后尝试以下命令。
sudo grub-install /dev/XXX