我刚刚安装了 ubuntu 12.04,使用不同的分区作为 /boot(我不知道我为什么要这样做,我记得在网上读过关于这方面的内容)。问题是,在执行此操作后,grub 不会在启动时显示,因此计算机直接加载到 Windows。我的硬盘上可用的分区如下所示:
- ubuntu 分区 -> 已挂载 /
- 交换区域分区
- ubuntu 启动分区 -> 挂载 /boot
- 窗户分区
- Windows 系统保留分区(自动创建)
我应该怎么做才能让 grub 在启动时显示?我在互联网上搜索了此类问题(包括本网站),发现我可以使用 live cd 启动并安装一个名为 Boot-Repair 的程序,然后尝试使用它来解决问题。我还在考虑使用 live cd 启动并从终端使用另一个分区(我想是主 /dev/sda)重新安装 grub。
您觉得如何?这种情况的正确解决方案是什么?也许编辑 grub 配置文件是另一种选择(我不知道具体怎么做,但它应该可行)?
编辑:
由于没有互联网连接,所以我无法安装 Boot-Repair,因此我做了以下操作:
- 使用实时 CD 启动并进入终端
- 安装了 ubuntu 安装分区、初始分离的 /boot 分区以及 /sys、/proc、/run、/dev
- chroot 到 ubuntu 安装
- 使用 /dev/sda 作为位置重新安装 grub
- 更新 grub
此时 grub 更新显示检测到两个 linux 映像,一个是免费的 dos,另一个是 windows 系统。我以为一切都没问题,所以我重启了电脑。但是当 grub 出现时,只有两个选项可供选择,免费的 dos 和 windows。
我做错了什么 ?
答案1
尝试这个:
- 从 Ubuntu Live CD 启动并按Ctrl+ Alt+进入终端T。
安装 GRUB 并指定启动分区,如下所示:
sudo mount /dev/sdaN /mnt
sudo grub-install –boot-directory=/mnt/boot /dev/sda
假设/dev/sda
是您的主驱动器,并且N
是/boot
分区号。
如果不起作用,请尝试列出的启动修复方法别处。
希望这可以帮助
答案2
我终于成功地修复了靴子,使用启动修复公用事业。
答案3
我还在考虑使用 Live CD 进行启动,然后从终端使用另一个分区(我想是主 /dev/sda)重新安装 grub。
我相信你已经回答了自己的问题。/dev/sda 是驱动器的主引导记录。如果在安装时选择将 GRUB 安装到 /boot 分区 (/dev/sda?),则 Windows 引导加载程序仍保留在 MBR 上。这就是为什么它直接引导到 Windows。安装到 MBR 的任何引导加载程序都是您的 bios 将启动的引导加载程序。将 GRUB 安装到 /dev/sda 并运行后,sudo update-grub
所有已安装的操作系统都应添加到 GRUB 菜单中。然后只需重新启动,您的 GRUB 菜单就会自动弹出。