荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Navy (壮志凌云), 信区: WinNT
标  题:  Linux 与 NT共存(转)
发信站: BBS 荔园晨风站 (Sat Nov 28 20:55:44 1998), 转信

                    Linux + NT OS Loader mini-HOWTO 中译版

                  作者: Bernd Reichert reichert@dial.eunet.ch

                    译者: C.W.Huang cwhuang@phys.ntu.edu.tw

             v1.11, 2 September 1997 翻译日期: 11-12 November 1997



                                   Abstract

     本文件描述了使用 Windows NT boot loader 来启动 Linux 的方法.



1.  摘要

本文件描述了使用 Windows NT boot loader 来启动 Linux 的方法. 本过程已在 Win-
dows 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 分割区时: 忽略它.



当你做到安装 Lilo 的部份时,指定你的 Linux
根目录分割区作为你的启动装置因为你磁碟的主启动记录(MBR)现在是 Windows NT 所有.
这表示在你 /etc/lilo.conf 的 root 项目及 boot 项目会有相同的值. 如果你有一个
IDE 硬碟且你的T 程式叫 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 分割区内的方法的话.

你可以这样来拷贝

     # mcopy /bootsect.lnx a:

或者用

     # mount -t msdos /dev/fd0 /mnt
     # copy /bootsect.lnx /mnt
     # umount /mnt

6.  这个指令回复它的属性:

     C:\attrib +s +r c:\boot.ini

在关掉你的 Windows NT 并重新启动後你应该会看到像这样的:

       OS Loader V4.00

       请选择您想要启动的作业系统:

       Windows NT Workstation Version 4.0
       Windows NT Workstation Version 4.0 [VGA mode]
       Linux

       使用↑键和↓键将您想要的选项反白,
       选定後请按 Enter 键确认

选择 Linux 并会看到

       LILO loading zImage ....


7.  再做一次

每次你 Linux 分割区的启动磁区被修改後一份新拷贝的 bootsect.lnx 就必须转移到
C:\BOOTSECT.LNX. 一个例子是当你重新用 lilo 安装一新的核心时.
因此你可以看出这样的系统并不适合用来测试实验的核心.



8.  排除问题

如果事情并不按照预期的运作,用一磁片来检查可启动性. 如果 /dev/hdb1 是你的
Linux 分割区,你的 /etc/lilo.conf 有下列的项目:

     root=/dev/hdb1
     boot=/dev/fd0

插入一磁片并执行 lilo. 现在尝试从磁片上启动. 如果你在 /dev/hdb1 上的 Linux
无法被启动,那麽 NT OS loader 也将无法启动它. 如果你看到一大堆 01 01 01
01,表示你的 root 磁碟无法取用. 检查? 参考资料

   □The Linux+WindowsNT mini-HOWTO

   □The FAQ for FreeBSD 2.X

9.2  感谢

   □感谢 Xiaoming Yi <z3c20@ttacs.ttu.edu>
     提示这些过程也在除了第一颗磁碟外的其它磁碟上运作.

   □感谢 Frank Dennler <Frank.Dennler@zkb.ch> 提供的磁碟技巧.
9.3  回馈

任何意见都很欢迎.

9.4  译注: 以 NT Loader 启动 FreeBSD

因译者的电脑中除了 Windows NT 4.0 及 Linux 之外,还装了 FreeBSD
2.2,於是就仿照上面的做法试试 NT Loader 有没有办法启动 FreeBSD. 我的 FreeBSD
装在 /dev/sda2, 也就是 FreeBSD 的 /dev/sd0s2.  按照上面的做法我先将 /dev/sda2
的 boot sector 存成一档案:

     # dd if=/dev/sda2 of=/bootsect.bsd bs=512 count=1

并将它拷贝到 C:\ 下.再於 boot.ini 中加入

     C:\BOOTSECT.BSD="FreeBSD"

不料这个方法竟然失败了,无法启动 FreeBSD!

一方面觉得失望,一方面又不死心.忽然想到,lilo 也可以拿来启动 FreeBSD.
於是,又做了下面的实验,进入 Linux 後,将 /etc/lilo.conf 改为:

boot = /dev/fd0
     install = /boot/boot.b
     vga = normal

     other = /dev/sda2

--
█我不知从何开口    时间却不停地流逝  █
█虽只是老生常谈    却教我欲言又止    █
█只是因为你太好    令我无法坦白说爱你█

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.15]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店