如何在双启动时修复Grub(win7 / ubuntu 11.10)
我已经安装了Windows 7,然后安装了Ubuntu 11.10,然后在easyBCD上安装了所有内容。
当我在启动菜单上选择Ubuntu时,我最终在grub提示符(如黑屏中的“grub>”)而不是直接加载Ubuntu。
我必须跑:
grub> root (dh0,4) grub> kernel /vmlinuzblahblah root=/dev/sda6 grub> boot
每次启动Ubuntu(其中vmlinuz是一个长文件名我总是选项卡)。
我怎么能跳过这个过程?
我的“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
但是由于你使用一些奇怪的第三方应用程序弄乱了你的bootsystem,我认为使用grub-install /dev/sda
*重新安装grub可能会更好。 - 完成后,
exit
chroot并重新启动系统(没有您的实时媒体)
注意:将
/dev/sda
替换为您希望安装grub的驱动器!注意2:这些信息大部分都在Ubuntu wikipage上,名为RecoveringUbuntuAfterInstallingWindows 。 在这篇文章中找到要链接的页面时,我注意到页面发生了很大的变化。 chrooting和stuff不再被描述,而是在一些live cds上提供了一个boot-repair实用程序 。 我没有经验,但我认为值得一试。
假设Windows 7引导环境控制引导:(Windows 7 MBR和Windows PBR + bootmgr + \ Boot文件夹,BCD存储在活动分区上)
- 启动Ubuntu LiveCD并将GRUB2重新安装到分区引导记录 。
- 将文件/boot/grub/boot.img从Ubuntu复制到Windows 7“\”根文件夹。
- 重新启动到Windows 7.下载并安装Visual BCD编辑器 。
- 创建BootSector加载器。 (右键单击选择“Create BootSector Loader”)
- 修改创建的加载程序的驱动器和路径以指向“boot.img”的驱动器和路径
就这样。