MicrosoftWindowsBootManager

除了利用 Linux 的 LILO 之外,MS Windows NT/2000/XP/2003 也有自已的開機管理程式。

 

MS Windows NT/2000/XP/2003 預設一定會把 Microsoft Windows Boot Manager 安裝在您的電腦上。Microsoft Windows Boot Manager 並不是使用 MBR,而是利用位於 系統分割區(System Partition,即包含 MS Windows NT/2000/XP/2003 開機程式的分割區) 裡的開機檔案來做到多重開機的功能。如果想改換 Microsoft Windows Boot Loader 來當做開機管理程式時步驟很單純,只要使用 Fdisk 將 開機分割區 指向 MS Windows NT/2000/XP/2003 的 System Partition 即可。

 

它的設定檔為 C:\boot.ini。它的檔案內容看起來是這樣子的:

 

{{[boot loader]}}
{{timeout=10}}
{{default=C:\BootSect.lnx}}
{{[operating systems]}}
{{multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft MS Windows 2000 Professional" /fastdetect}}
{{C:\BootSect.lnx="Debian GNU/Linux 3.0"}}
{{C:\BootSect.dos="Microsoft MS Windows Millennium Edition"}}

其中的 BootSect.lnx 及 BootSect.dos 則必須到 Linux 下,使用以下方法來產生:(MS Windows NT/2000/XP/2003 無法自動產生這些檔案)

dd if=/dev/hda2 of=~/BootSect.lnx bs=512 count=1(假設您的 Linux 是裝在 /dev/hda2)
dd if=/dev/hda3 of=~/BootSect.dos bs=512 count=1(假設您的 MS Windows ME 是裝在 /dev/hda3)

 

然後把 BootSect.lnx 及 BootSect.dos 放到 MS Windows NT/2000/XP/2003 的 System Partition,即 C: 下即可。即使這個 System Partition 的格式是 NTFS 的話也可以用這個方法哦。

 

更進一步說,如果您想在一台電腦上安裝 MS Windows 2000 + MS Windows ME + Linux,那麼安裝步驟如下:

  1. 安裝 MS Windows 2000,並使用 NTFS 的格式。
  2. 安裝 MS Windows Me。在安裝時,會出現警告訊息(因為找到了 NTFS 格式的磁區)。不要理它,繼續安裝。安裝完成之後,系統會變成從 MS Windows ME 開機(開機磁區被安裝程式改為 MS Windows ME)。
  3. 安裝 Linux,並把 LILO 寫入 Linux 的分割區中。(而不是寫入 MBR!)
  4. 使用 Linux 開機,並製作 BootSect.lnx 及 BootSect.dos。使用 Fdisk 之類的程式讓開機磁區變為 MS Windows 2000。
  5. 重新開機,進入 MS Windows 2000。將上述 BootSect.lnx 及 BootSect.dos 放到 C:\ 底下,同時別忘了編輯 C:\boot.ini 設定檔。
  6. 由於 MS Windows 2000 支援 FAT32,所以它看得到 MS Windows ME 的磁區,大多是最後一個磁碟。您可能會希望把 MS Windows Me 的分割區隱藏起來。(提示:使用在控制台中的『電腦管理』)
  7. 重新開機後,開機選單就會出現多重開機系統的選項了。
  8. 如果您重新安裝 MS Windows ME、MS Windows 2000 或 Linux 的 LILO 而使得多重開機系統發生錯誤無法執行,您可以重覆以上動作,製作一個新的 !Bootsect.dos 或 !Bootsect.dos 即可。(不過比較起來真的有點麻煩!)
 
注意:MS Windows ME 的開始磁區『絕對』不要位於 1024 磁柱之後!
注意:這個方法筆者嘗試過,似乎無法啟動位於另一顆硬碟的作業系統。