1. 摘要 2. NT OS Loader 是如何运作的? 3. 如何安装 Windows NT 及 Linux 在同一系统上的提示 3.1. 安装 Windows NT 3.2. 分割磁碟 3.3. 安装 Linux 3.4. Lilo 4. Bootpart 5. Linux 部份的工作 6. Windows NT 部份的工作 7. 再做一次 8. 排除问题 9. 其它 9.1. 参考资料 9.2. 感谢 9.3. 回馈 9.4. 译注: 以 NT Loader 启动 FreeBSD
1. 摘要 本文件描述了使用 Windows NT boot loader 来启动 Linux 的方法.本过程已在 Windows NT 4.0 Workstation 版及 Linux 2.0 上测试过.
2. NT OS Loader 是如何运作的? NT OS loader 希望来自其它作业系统的启动磁区变成一档案来取用.它读入这档案并启动选择的作业系统,也就是说,或是不同模式运作的 Windows NT 或是任何其它的作业系统.
3. 如何安装 Windows NT 及 Linux 在同一系统上的提示 3.1. 安装 Windows NT 先试著安装 Windows NT.如果你想使用 NTFS 作为你 Windows NT 分割区的档案系统,记住,目前版本的 Linux 无法取用 NTFS 的分割区.一个可以读 NTFS 分割区的 Alpha 版驱动程式可在 http://www.informatik.hu-berlin.de/~loewis/ntfs 找到.你可建立另外一个 FAT 分割区作为资料交换用,或是你可以使用 DOS 格式化的软碟片.
3.2. 分割磁碟 另外一个 mini-howto 建议不要使用 NT 的"磁碟系统管理员"来建立 Linux 的置换以及根目录分割区.它会留下一些空间.我也建议使用 Linux 的 fdisk.
3.3. 安装 Linux 现在从磁片上启动 Linux,建立置换及根目录分割区.Fdisk 会将 NTFS 分割区认为是 HPFS 分割区,这是正常的.再次从磁片启动 Linux 并按你的喜好安装 Linux.
在安装过程中建议你挂上它找到的 HPFS 分割区时: 忽略它.
3.4. Lilo 当你做到安装 Lilo 的部份时,指定你的 Linux 根目录分割区作为你的启动装置因为你磁碟的主启动记录(MBR)现在是 Windows NT 所有.这表示在你 /etc/lilo.conf 的 root 项目及 boot 项目会有相同的值.如果你有一个 IDE 硬碟且你的 Linux 分割区是在第二块分割区上,你 /etc/lilo.conf 的 boot 项目看起来会像:
boot=/dev/hda2
如果你有两个磁碟机而且你的 Linux 位於第二颗磁碟的第一个分割区上,你 /etc/lilo.conf 的 boot 项目看起来会像:
boot=/dev/hdb1
以符合你系统的核心执行 lilo.如果你不确定的话从磁片上启动以检查核心.
如果你现在无法启动 Windows NT,你有麻烦了.我希望你已经建立了最近的修复磁片.
4. Bootpart 有一个由 G. Vollant 所写的 NT 程式叫 bootpasr 可以为你做到下述的两点. Bootpart 可在此取得: http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm .
如果你想知道事情是如何运作的,使用第五及第六节描述的步骤.
5. Linux 部份的工作 你必须从磁片上启动 Linux 直到 NT 部份改好为止.
现在你必须从你的 Linux 根目录分割区中取出启动磁区.如果 /dev/hda2 是你的 Linux 分割区,这个 dd 指令是:
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
如果你的 bootsect.lnx 超过了 512 个位元组那麽就有些事不对劲.
现在将档案 bootsect.lnx 拷贝到一片 DOS 格式化过的磁片中,如果这是你将档案传到 NTFS 分割区内的方法的话.
并放到 C: 下.移去磁片後重新开机,在 NT Loader 的选单下选择 FreeBSD,接著就看到:
LILO loading FreeBSD >> FreeBSD BOOT @ 0x10000: 639/65536 k of memory Usage: [[0:][fd](0,a)]/kernel][-abcCdhrsv] Use 1:sd(0,a)/kernel to boot sd0 if it is BIOS drive 1 Use ? for file list or press Enter for defaults Boot: