分享
 
 
 

如何使用 Windows NT boot loader 来启动 Linux

王朝system·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

如何使用 Windows NT boot loader 来启动 Linux

如何使用 Windows NT boot loader 来启动 Linux 如何使用 Windows NT boot loader 来启动 Linux

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 版驱动程式可在

[4]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 可在此取得:

[5]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. Windows NT 部份的工作

从磁片上将档案拷贝到 C:bootsect.lnx. 我不会告诉你怎麽做. (译注: copy

a:bootsect.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 提示这些过程也在除了第一颗磁

碟外的其它磁碟上运作.

* 感谢 Frank Dennler 提供的磁碟技巧.

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:

我成功了!!

References

1. mailto:reichert@dial.eunet.ch

2. http://www.phys.ntu.edu.tw/~cwhuang/pub/

3. mailto:cwhuang@phys.ntu.edu.tw

4. http://www.informatik.hu-berlin.de/~loewis/ntfs

5. http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm

Linux + NT OS Loader mini-HOWTO 中译版

作者: Bernd Reichert [1]reichert@dial.eunet.ch

译者: [2]C.W.Huang [3]cwhuang@phys.ntu.edu.tw

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

_________________________________________________________________

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

_________________________________________________________________

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 版驱动程式可在

[4]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 可在此取得:

[5]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. Windows NT 部份的工作

从磁片上将档案拷贝到 C:bootsect.lnx. 我不会告诉你怎麽做. (译注: copy

a:bootsect.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 提示这些过程也在除了第一颗磁

碟外的其它磁碟上运作.

* 感谢 Frank Dennler 提供的磁碟技巧.

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:

我成功了!!

References

1. mailto:reichert@dial.eunet.ch

2. http://www.phys.ntu.edu.tw/~cwhuang/pub/

3. mailto:cwhuang@phys.ntu.edu.tw

4. http://www.informatik.hu-berlin.de/~loewis/ntfs

5. http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm

阅读:567次

来源:Linux自由空间

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有