我已经安装了 Windows 7,然后安装了 Ubuntu 11.10,然后在 easyBCD 上设置了一切。
当我在启动菜单上选择 Ubuntu 时,我最终进入 grub 提示符(类似于黑屏中的“grub>”),而不是直接加载 Ubuntu。
我必须跑:
grub> root (dh0,4)
grub> kernel /vmlinuzblahblah root=/dev/sda6
grub> boot
每次启动 Ubuntu(其中 vmlinuz 是一个长文件名,我总是按制表符)。
我怎样才能跳过这个过程?
答案1
我的“Fix-Grub-routine”如下:
- 从 Ubuntu LiveCD 启动(通常是 USB 密钥)
- 在实时环境中安装我原始安装的
/root
分区/boot
。假设我的根目录已安装/tmp/myRoot/
并启动/tmp/myBoot/
- 挂载/绑定一些重要的目录
sudo mount --bind /dev /tmp/myRoot/dev
sudo mount --bind /proc /tmp/myRoot/proc
sudo mount --bind /sys /tmp/myRoot/sys
sudo mount --bind /tmp/myBoot /tmp/myRoot/boot - Chroot 进入我的原始安装
sudo chroot /tmp/myRoot/
- 现在我通常会这样做
update-grub
,但是由于您使用一些奇怪的第三方应用程序弄乱了您的启动系统,所以我认为最好使用grub-install /dev/sda
* 重新安装 grub。 - 完成后,
exit
chroot 并重新启动系统(没有你的 live-media)
笔记:替换
/dev/sda
为您想要安装 grub 的驱动器!笔记2:这些信息大部分都位于 Ubuntu 维基页面上,名为安装 Windows 后恢复 Ubuntu。在这篇文章中查找要链接到的页面时,我注意到该页面已经发生了很大变化。chrooting 和其他内容不再描述,而是启动修复实用程序在一些现场 CD 上可用。我还没有用过,但我认为值得一试。
答案2
假设 Windows 7 启动环境控制启动:(Windows 7 MBR 和 Windows PBR + bootmgr + \Boot 文件夹,其中 BCD 存储在活动分区上)
- 启动 Ubuntu LiveCD 并重新安装 GRUB2 到分区引导记录。
- 将文件 /boot/grub/boot.img 从 Ubuntu 复制到 Windows 7“\”根文件夹。
- 重新启动到 Windows 7。下载并安装可视化 BCD 编辑器。
- 创建引导扇区加载器。(右键单击选择“创建引导扇区加载器”)
- 修改创建的加载程序的驱动器和路径,使其指向“boot.img”的驱动器和路径
就这样。