荔园在线

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

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


发信人: manet (天马行空), 信区: WinNT
标  题: Linux 与 NT共存(2)
发信站: BBS 荔园晨风站 (Sun Apr 11 13:27:08 1999), 转信

6.  Windows NT 部份的工作

从磁片上将档案拷贝到 C:\bootsect.lnx. 我不会告诉你怎麽做. (译注: copy a:boot□
sect.lnx c:\, 应该会吧.)

就像 Linux 下的 lilo.conf, 在 Windows NT 中是 c:\boot.ini.
在你编修它之前用这个指令除去它的系统及唯读属性:

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

现在用一编辑器更改 boot.ini 档案,例如 notepad, 像这样:

     [boot loader]
     timeout=30
     default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
     [operating systems]
     multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
     multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows NT Workstation ...
     C:\BOOTSECT.LNX="Linux"

在本例中只加入了最後一行.在你储存 boot.ini 後用这个指令回复它的属性:

     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 磁碟无法取用. 检查是否你所有的磁碟都被 BIOS 侦测到.

如果这磁片可以启动你的 Linux 分割区,你可以用下面指令取出你的启动磁区给 NT OS
loader 用:

     # dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1

你可保留这磁片在你的 Windows NT 安装出问题时作为你的急救磁片.


9.  其它

9.1  参考资料

   □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
           label = FreeBSD
           table = /dev/sda
           loader = /dev/os2_d.b

放入一格式化过的磁片,再跑 lilo -v.然後将磁片的启动磁区变成一档案:


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

并放到 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:


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


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

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