- 相關(guān)軟件
>如何使用 Windows NT boot loader 來啟動 Linux 創(chuàng)建者:webmaster 更新時(shí)間:2005-05-17 23:19
1. 摘要
2. NT OS Loader 是如何運(yùn)作的?
3. 如何安裝 Windows NT 及 Linux 在同一系統(tǒng)上的提示
* 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 是如何運(yùn)作的?
NT OS loader 希望來自其它作業(yè)系統(tǒng)的啟動磁區(qū)變成一檔案來取用. 它讀入這
檔案并啟動選擇的作業(yè)系統(tǒng),也就是說,或是不同模式運(yùn)作的 Windows NT 或是
任何其它的作業(yè)系統(tǒng).
3. 如何安裝 Windows NT 及 Linux 在同一系統(tǒng)上的提示
3.1 安裝 Windows NT
先試著安裝 Windows NT.如果你想使用 NTFS 作為你 Windows NT 分割區(qū)的檔案
系統(tǒng),記住,目前版本的 Linux 無法取用 NTFS 的分割區(qū). 一個(gè)可以讀 NTFS
分割區(qū)的 Alpha 版驅(qū)動程式可在
[4]http://www.informatik.hu-berlin.de/~loewis/ntfs 找到. 你可建立另外
一個(gè) FAT 分割區(qū)作為資料交換用,或是你可以使用 DOS 格式化的軟碟片.
3.2 分割磁碟
另外一個(gè) mini-howto 建議不要使用 NT 的“磁碟系統(tǒng)管理員“來建立 Linux 的置
換以及根目錄分割區(qū). 它會留下一些空間.我也建議使用 Linux 的 fdisk.
3.3 安裝 Linux
現(xiàn)在從磁片上啟動 Linux,建立置換及根目錄分割區(qū).Fdisk 會將 NTFS 分割區(qū)
認(rèn)為是 HPFS 分割區(qū),這是正常的. 再次從磁片啟動 Linux 并按你的喜好安裝
Linux.
在安裝過程中建議你掛上它找到的 HPFS 分割區(qū)時(shí): 忽略它.
3.4 Lilo
當(dāng)你做到安裝 Lilo 的部份時(shí),指定你的 Linux 根目錄分割區(qū)作為你的啟動裝置
因?yàn)槟愦诺闹鲉佑涗?MBR)現(xiàn)在是 Windows NT 所有. 這表示在你
/etc/lilo.conf 的 root 項(xiàng)目及 boot 項(xiàng)目會有相同的值. 如果你有一個(gè) IDE
硬碟且你的 Linux 分割區(qū)是在第二塊分割區(qū)上,你 /etc/lilo.conf 的 boot 項(xiàng)
目看起來會像:
boot=/dev/hda2
如果你有兩個(gè)磁碟機(jī)而且你的 Linux 位於第二顆磁碟的第一個(gè)分割區(qū)上,你
/etc/lilo.conf 的 boot 項(xiàng)目看起來會像:
boot=/dev/hdb1
以符合你系統(tǒng)的核心執(zhí)行 lilo.如果你不確定的話從磁片上啟動以檢查核心.
如果你現(xiàn)在無法啟動 Windows NT,你有麻煩了.我希望你已經(jīng)建立了最近的修復(fù)
磁片.
4. Bootpart
有一個(gè)由 G. Vollant 所寫的 NT 程式叫 bootpasr 可以為你做到下述的兩點(diǎn).
Bootpart 可在此取得:
[5]http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm.
如果你想知道事情是如何運(yùn)作的,使用第五及第六節(jié)描述的步驟.
5. Linux 部份的工作
你必須從磁片上啟動 Linux 直到 NT 部份改好為止.
現(xiàn)在你必須從你的 Linux 根目錄分割區(qū)中取出啟動磁區(qū). 如果 /dev/hda2 是你
的 Linux 分割區(qū),這個(gè) dd 指令是:
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
如果你的 bootsect.lnx 超過了 512 個(gè)位元組那麼就有些事不對勁.
現(xiàn)在將檔案 bootsect.lnx 拷貝到一片 DOS 格式化過的磁片中,如果這是你將檔
案傳到 NTFS 分割區(qū)內(nèi)的方法的話.
你可以這樣來拷貝
# 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:, 應(yīng)該會吧.)
就像 Linux 下的 lilo.conf, 在 Windows NT 中是 c:boot.ini. 在你編修它之
前用這個(gè)指令除去它的系統(tǒng)及唯讀屬性:
C:attrib -s -r c:boot.ini
現(xiàn)在用一編輯器更改 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 後用這個(gè)指令回復(fù)它的屬性:
C:attrib +s +r c:boot.ini
在關(guān)掉你的 Windows NT 并重新啟動後你應(yīng)該會看到像這樣的:
OS Loader V4.00
請選擇您想要啟動的作業(yè)系統(tǒng):
Windows NT Workstation Version 4.0
Windows NT Workstation Version 4.0 [VGA mode]
Linux
使用↑鍵和↓鍵將您想要的選項(xiàng)反白,
選定後請按 Enter 鍵確認(rèn)
選擇 Linux 并會看到
LILO loading zImage ....
7. 再做一次
每次你 Linux 分割區(qū)的啟動磁區(qū)被修改後一份新拷貝的 bootsect.lnx 就必須轉(zhuǎn)
移到 C:BOOTSECT.LNX. 一個(gè)例子是當(dāng)你重新用 lilo 安裝一新的核心時(shí). 因
此你可以看出這樣的系統(tǒng)并不適合用來測試實(shí)驗(yàn)的核心.
8. 排除問題
如果事情并不按照預(yù)期的運(yùn)作,用一磁片來檢查可啟動性. 如果 /dev/hdb1 是
你的 Linux 分割區(qū),你的 /etc/lilo.conf 有下列的項(xiàng)目:
root=/dev/hdb1
boot=/dev/fd0
插入一磁片并執(zhí)行 lilo. 現(xiàn)在嘗試從磁片上啟動. 如果你在 /dev/hdb1 上的
Linux 無法被啟動,那麼 NT OS loader 也將無法啟動它. 如果你看到一大堆
01 01 01 01,表示你的 root 磁碟無法取用. 檢查是否你所有的磁碟都被
BIOS 偵測到.
如果這磁片可以啟動你的 Linux 分割區(qū),你可以用下面指令取出你的啟動磁區(qū)給
NT OS loader 用:
# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
你可保留這磁片在你的 Windows NT 安裝出問題時(shí)作為你的急救磁片.
9. 其它
9.1 參考資料
* The Linux+WindowsNT mini-HOWTO
* The FAQ for FreeBSD 2.X
9.2 感謝
* 感謝 Xiaoming Yi 提示這些過程也在除了第一顆磁
碟外的其它磁碟上運(yùn)作.
* 感謝 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“
不料這個(gè)方法竟然失敗了,無法啟動 FreeBSD!
一方面覺得失望,一方面又不死心.忽然想到,lilo 也可以拿來啟動 FreeBSD.
於是,又做了下面的實(shí)驗(yàn),進(jìn)入 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.然後將磁片的啟動磁區(qū)變成一檔案:
# dd if=/dev/fd0 of=/bootsect.bsd bs=512 count=1
并放到 C: 下.移去磁片後重新開機(jī),在 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 是如何運(yùn)作的?
3. 如何安裝 Windows NT 及 Linux 在同一系統(tǒng)上的提示
* 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 是如何運(yùn)作的?
NT OS loader 希望來自其它作業(yè)系統(tǒng)的啟動磁區(qū)變成一檔案來取用. 它讀入這
檔案并啟動選擇的作業(yè)系統(tǒng),也就是說,或是不同模式運(yùn)作的 Windows NT 或是
任何其它的作業(yè)系統(tǒng).
3. 如何安裝 Windows NT 及 Linux 在同一系統(tǒng)上的提示
3.1 安裝 Windows NT
先試著安裝 Windows NT.如果你想使用 NTFS 作為你 Windows NT 分割區(qū)的檔案
系統(tǒng),記住,目前版本的 Linux 無法取用 NTFS 的分割區(qū). 一個(gè)可以讀 NTFS
分割區(qū)的 Alpha 版驅(qū)動程式可在
[4]http://www.informatik.hu-berlin.de/~loewis/ntfs 找到. 你可建立另外
一個(gè) FAT 分割區(qū)作為資料交換用,或是你可以使用 DOS 格式化的軟碟片.
3.2 分割磁碟
另外一個(gè) mini-howto 建議不要使用 NT 的“磁碟系統(tǒng)管理員“來建立 Linux 的置
換以及根目錄分割區(qū). 它會留下一些空間.我也建議使用 Linux 的 fdisk.
3.3 安裝 Linux
現(xiàn)在從磁片上啟動 Linux,建立置換及根目錄分割區(qū).Fdisk 會將 NTFS 分割區(qū)
認(rèn)為是 HPFS 分割區(qū),這是正常的. 再次從磁片啟動 Linux 并按你的喜好安裝
Linux.
在安裝過程中建議你掛上它找到的 HPFS 分割區(qū)時(shí): 忽略它.
3.4 Lilo
當(dāng)你做到安裝 Lilo 的部份時(shí),指定你的 Linux 根目錄分割區(qū)作為你的啟動裝置
因?yàn)槟愦诺闹鲉佑涗?MBR)現(xiàn)在是 Windows NT 所有. 這表示在你
/etc/lilo.conf 的 root 項(xiàng)目及 boot 項(xiàng)目會有相同的值. 如果你有一個(gè) IDE
硬碟且你的 Linux 分割區(qū)是在第二塊分割區(qū)上,你 /etc/lilo.conf 的 boot 項(xiàng)
目看起來會像:
boot=/dev/hda2
如果你有兩個(gè)磁碟機(jī)而且你的 Linux 位於第二顆磁碟的第一個(gè)分割區(qū)上,你
/etc/lilo.conf 的 boot 項(xiàng)目看起來會像:
boot=/dev/hdb1
以符合你系統(tǒng)的核心執(zhí)行 lilo.如果你不確定的話從磁片上啟動以檢查核心.
如果你現(xiàn)在無法啟動 Windows NT,你有麻煩了.我希望你已經(jīng)建立了最近的修復(fù)
磁片.
4. Bootpart
有一個(gè)由 G. Vollant 所寫的 NT 程式叫 bootpasr 可以為你做到下述的兩點(diǎn).
Bootpart 可在此取得:
[5]http://ourworld.compuserve.com/homepages/gvollant/bootpart.htm.
如果你想知道事情是如何運(yùn)作的,使用第五及第六節(jié)描述的步驟.
5. Linux 部份的工作
你必須從磁片上啟動 Linux 直到 NT 部份改好為止.
現(xiàn)在你必須從你的 Linux 根目錄分割區(qū)中取出啟動磁區(qū). 如果 /dev/hda2 是你
的 Linux 分割區(qū),這個(gè) dd 指令是:
# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1
如果你的 bootsect.lnx 超過了 512 個(gè)位元組那麼就有些事不對勁.
現(xiàn)在將檔案 bootsect.lnx 拷貝到一片 DOS 格式化過的磁片中,如果這是你將檔
案傳到 NTFS 分割區(qū)內(nèi)的方法的話.
你可以這樣來拷貝
# 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:, 應(yīng)該會吧.)
就像 Linux 下的 lilo.conf, 在 Windows NT 中是 c:boot.ini. 在你編修它之
前用這個(gè)指令除去它的系統(tǒng)及唯讀屬性:
C:attrib -s -r c:boot.ini
現(xiàn)在用一編輯器更改 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 後用這個(gè)指令回復(fù)它的屬性:
C:attrib +s +r c:boot.ini
在關(guān)掉你的 Windows NT 并重新啟動後你應(yīng)該會看到像這樣的:
OS Loader V4.00
請選擇您想要啟動的作業(yè)系統(tǒng):
Windows NT Workstation Version 4.0
Windows NT Workstation Version 4.0 [VGA mode]
Linux
使用↑鍵和↓鍵將您想要的選項(xiàng)反白,
選定後請按 Enter 鍵確認(rèn)
選擇 Linux 并會看到
LILO loading zImage ....
7. 再做一次
每次你 Linux 分割區(qū)的啟動磁區(qū)被修改後一份新拷貝的 bootsect.lnx 就必須轉(zhuǎn)
移到 C:BOOTSECT.LNX. 一個(gè)例子是當(dāng)你重新用 lilo 安裝一新的核心時(shí). 因
此你可以看出這樣的系統(tǒng)并不適合用來測試實(shí)驗(yàn)的核心.
8. 排除問題
如果事情并不按照預(yù)期的運(yùn)作,用一磁片來檢查可啟動性. 如果 /dev/hdb1 是
你的 Linux 分割區(qū),你的 /etc/lilo.conf 有下列的項(xiàng)目:
root=/dev/hdb1
boot=/dev/fd0
插入一磁片并執(zhí)行 lilo. 現(xiàn)在嘗試從磁片上啟動. 如果你在 /dev/hdb1 上的
Linux 無法被啟動,那麼 NT OS loader 也將無法啟動它. 如果你看到一大堆
01 01 01 01,表示你的 root 磁碟無法取用. 檢查是否你所有的磁碟都被
BIOS 偵測到.
如果這磁片可以啟動你的 Linux 分割區(qū),你可以用下面指令取出你的啟動磁區(qū)給
NT OS loader 用:
# dd if=/dev/fd0 of=/bootsect.lnx bs=512 count=1
你可保留這磁片在你的 Windows NT 安裝出問題時(shí)作為你的急救磁片.
9. 其它
9.1 參考資料
* The Linux+WindowsNT mini-HOWTO
* The FAQ for FreeBSD 2.X
9.2 感謝
* 感謝 Xiaoming Yi 提示這些過程也在除了第一顆磁
碟外的其它磁碟上運(yùn)作.
* 感謝 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“
不料這個(gè)方法竟然失敗了,無法啟動 FreeBSD!
一方面覺得失望,一方面又不死心.忽然想到,lilo 也可以拿來啟動 FreeBSD.
於是,又做了下面的實(shí)驗(yàn),進(jìn)入 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.然後將磁片的啟動磁區(qū)變成一檔案:
# dd if=/dev/fd0 of=/bootsect.bsd bs=512 count=1
并放到 C: 下.移去磁片後重新開機(jī),在 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相關(guān)文章
本頁查看次數(shù):