2012年1月3日 星期二

从 Grub2 切换到 NTLDR 实现引导 windows 和 Fedora 双系统

thinkpad 上运行 Ubuntu Fedora 的日子让人舒适而轻松:没有病毒,更新简单迅速,Gnome3.2, 集成的协作软件高效而简洁。但一旦需要在同一块硬盘上安装 windows, 生活立即发生改变。

众所周知 windows 一定要改写 MBR 采用 NTLDR 来引导系统。如果你已经采用 grub2 来引导 Linux 而又不想每次安装完 windows 重新恢复 MBR, 那么你就得依赖 NTLDR 了,详见参考文章 Using NTLDR to dual boot Windows and Ubuntu

由于我已经在硬盘上安装了 Ubuntu Fedora, 所以此次安装 windows 的主要目标是用 NTLDR 来同时引导 windows 和 已经存在的 Linux.

我的 Fedora 安装在 sda2 上,此次将 windows 7 windows 2008 分别安装在了 sda3sda1 上。

注意:安装之前一定要备份 /boot/grub2/grub.cfg

安装完基本的操作系统后,可以从 windows boot manager 看到两个 windows 操作系统,但是 Fedora 没有了。这时你需要修改 windows boot manager 以加入对 linux 操作系统的引导。

由于 windows 7 开始已经没有了 boot.ini, 所以之前各种通过修改 boot.ini 文件实现的多系统引导方法都不能用。我的方法是安装 EasyBCD, 可以通过这个软件来安装 Nero Grub, 你可以理解为以前在 windows 上安装的grub.

  1. 下载 EasyBCD 2.x

  2. 安装到 windows 7

  3. "Add New Entry" -"Nero Grub" -" Install", 选择 "configure"时可以修改 grub 的配置文件 menu.lst

注意:这里需要用到你之前备份的 grub.cfg 来从 nero grub 引导 Fedora 的内核和 ramdisk.

我的修改如下:

#Fedora 16

title Fedora 16 (Verne)

root (hd0,1) # 第一块硬盘的第二个分区,即 sda2, 但是这里grub 只能识别 hd0

kernel /boot/vmlinuz-3.1.6-1.fc16.x86_64 root=/dev/sda2 ro quiet splash

initrd /boot/initramfs-3.1.6-1.fc16.x86_64.img

保存之后重新启动,你就会在 windows boot manager 里发现新创建的启动项 "Nero Bootloader",点击就进入了 Nero grub 的启动项。

这里你可以增加其他的Linux 系统启动项。

0 评论: