感谢支持
我们一直在努力

使用NTLDR在Windows启动GNU/Linux

虽然大部份 GNU/Linux 在安装时都会自动安装开机管理程序 GRUB 让使用者型以在开机时选择启动 GNU/Linux、 Windows 系统或其他作业系统。但不少人并不喜欢外来的程序佔据其 MBR (Master Boot Record)。本文讲解如何使用 Windows NT/2000/XP 上的 NTLDR 取替 GRUB 在启动 Windows 时让使用者选择启动 Windows 还是其他作业。


安装 GNU/Linux 时把开机管理程序安装在分割区中


这点很重要,安装 GNU/Linux 时不要把开机管理程序安装 MBR 中而安装在分割区中。


Ubuntu


使用NTLDR在Windows启动GNU/Linux


在『已准备好要安装』划面按『进阶…』(Advanced…):


使用NTLDR在Windows启动GNU/Linux


把『用来安装开机管理程序的装置』改成 GNU/Linux 所在的分割区。如 GNU/Linux 所在的分割区 hda2 或 sda2 就设定成“(hd0,1)” (hda/sda 对 hd0,第二个分割区对 1)。切忌改成“(hd0)”或 Windows 所在的分割区,会复写 MBR 或损坏 Windows 的启动。

Fedora/CentOS/RHEL


在选择分割硬盘方案时,把『What drive you would like to boot this installation from?』改成 GNU/Linux 所在的分割区。


使用NTLDR在Windows启动GNU/Linux


切忌改成“hda”、“sda”或 Windows 所在的分割区,会复写 MBR 或损坏 Windows 的启动。


复制 VBR


如果您打算使用 VBR 映像档启动 GNU/Linux,您需要预先把 VBR 复制成档案。方法是以系统管理员身份 (即使用者 root):


dd if=/dev/hda2 bs=512 count=1 of=gnu.dos


以上命令把分割区 hda2 的第一个磁区复制成档案 gnu.dos。如果您安装开机管理程序并不安装在 hda2,请把以上命令中的 hda2 改成所在的分割区名称。


您需要把 VBR 映像档 gnu.dos 放在 Windows 中,如果您是使用 2007 年推出的 GNU/Linux,应会提供读写 NTFS 功能,可以直接把映像档复制至 Windows 的档案系统中。您亦可以选择把映像档复制至已格式化的软碟或 USB 储存器中,再在启动 Windows 后复制至 Windows 的档案系统中。

改变 NTLDR 设定档 boot.ini


使用 GNU/Linux 的 VBR (Volume Boot Record) – 安装 GNU/Linux 时有把开机管理程序安装在分割区中,那只要执行分割区最开首几个磁区 (即 VBR) 就可以启动 GNU/Linux。


使用 GRUB4DOS – GRUB4DOS 顾名思意就是 DOS 版本的 GRUB,功能和原本的 GRUB 差不多。由于可以直接在 Windows 或 MS-DOS 上执行,无需要改动 MBR,比使用 PBR 弹性大,但安装较麻烦。


使用 GNU/Linux 的 VBR (Volume Boot Record)


把之前复制出来的 GNU/Linux VBR 放在 Windows 上的 C:\,改一个容易识别的名称,例如 gnu.dos。


编辑档案 C:\boot.ini 并在 operating systems 章节加入一行 「C:\gnu.dos=”GNU/Linux”」:


[boot loader]
timeout=30
Default=multi(0)disk(0)rdisk(0)partition(1)\windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows=”Windows” /NoExecute=OptIn /fastdetect /usepmtimer
C:\gnu.dos=”GNU/Linux”
使用 GRUB4DOS


首先下载 grub4dos-*.zip 至您的 Windows 系统。GRUB4DOS 的最新版本为 0.4.4。(见http://www.linuxidc.com/Linux/2009-01/18027.htm)


下载完成后,把 grub4dos-*.zip 里的所有档案解压至开机磁盘 (一般为 C:) 的一个新资料夹中,例如 C:\GRUB4DOS 。把 C:\GRUB4DOS 中的 grldr.mbr 和 grldr 两个档案复制至 C:\ 中。


编辑档案 C:\boot.ini 并在 operating systems 章节加入一行 「C:\grldr.mbr=”Grub4Dos”」:
[boot loader]
timeout=30
Default=multi(0)disk(0)rdisk(0)partition(1)\windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\windows=”Windows” /NoExecute=OptIn /fastdetect /usepmtimer
C:\grldr.mbr=”Grub4Dos”


完成后,您只需要设定好 GRUB4DOS 的设定档 C:\menu.lst 就可以了。 menu.lst 的设定颇复杂,最简单的方法是把安装好 GNU/Linux 中的 /boot/grub/menu.lst 复制出来 (如以使用 LiveCD 或在 Windows 安装 Ext2 IFS 把 menu.lst 复制至 Windows 中) ,把第一个 title 上面所文字删掉用以下文字取代:


color black/cyan yellow/cyan
timeout 30
如下:
color black/cyan yellow/cyan
timeout 30
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=5502783d-5a11-4918-9091-691042c466c4 ro quiet splash locale=zh_TW
initrd /boot/initrd.img-2.6.24-19-generic
quiet
title Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=5502783d-5a11-4918-9091-691042c466c4 ro single
initrd /boot/initrd.img-2.6.24-19-generic

赞(0) 打赏
转载请注明出处:服务器评测 » 使用NTLDR在Windows启动GNU/Linux
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏