如何在双启动时修复 Grub(win7 / ubuntu 11.10)

如何在双启动时修复 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 是一个长文件名,我总是按制表符)。

我怎样才能跳过这个过程?

答案1

我的“Fix-Grub-routine”如下:

  1. 从 Ubuntu LiveCD 启动(通常是 USB 密钥)
  2. 在实时环境中安装我原始安装的/root分区/boot。假设我的根目录已安装/tmp/myRoot/并启动/tmp/myBoot/
  3. 挂载/绑定一些重要的目录
    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
  4. Chroot 进入我的原始安装
    sudo chroot /tmp/myRoot/
  5. 现在我通常会这样做update-grub,但是由于您使用一些奇怪的第三方应用程序弄乱了您的启动系统,所以我认为最好使用grub-install /dev/sda* 重新安装 grub。
  6. 完成后,exitchroot 并重新启动系统(没有你的 live-media)

笔记:替换/dev/sda为您想要安装 grub 的驱动器!

笔记2:这些信息大部分都位于 Ubuntu 维基页面上,名为安装 Windows 后恢复 Ubuntu。在这篇文章中查找要链接到的页面时,我注意到该页面已经发生了很大变化。chrooting 和其他内容不再描述,而是启动修复实用程序在一些现场 CD 上可用。我还没有用过,但我认为值得一试。

答案2

假设 Windows 7 启动环境控制启动:(Windows 7 MBR 和 Windows PBR + bootmgr + \Boot 文件夹,其中 BCD 存储在活动分区上)

  1. 启动 Ubuntu LiveCD 并重新安装 GRUB2 到分区引导记录
  2. 将文件 /boot/grub/boot.img 从 Ubuntu 复制到 Windows 7“\”根文件夹。
  3. 重新启动到 Windows 7。下载并安装可视化 BCD 编辑器
  4. 创建引导扇区加载器。(右键单击选择“创建引导扇区加载器”)
  5. 修改创建的加载程序的驱动器和路径,使其指向“boot.img”的驱动器和路径

就这样。

相关内容