OSWikiHK: 請協力 GPLv3 的中文翻譯工作。

使用 Windows Vista Boot Manager 啟動 GNU/Linux

OSWikiHK,自由中文開源知識庫

雖然大部份 GNU/Linux 在安裝時都會自動安裝開機管理程式 GRUB 讓使用者型以在開機時選擇啟動 GNU/Linux、 Windows 系統或其他作業系統。但不少人並不喜歡外來的程式佔據其 MBR (Master Boot Record)。本文講解如何使用 Windows Vista 上的 Vista Boot Manager 取替 GRUB 在啟動 Vista 時讓使用者選擇啟動 Vista、GNU/Linux 還是其他作業。

目录

安裝 GNU/Linux 時把開機管理程式安裝在分割區中

這點很重要,安裝 GNU/Linux 時不要把開機管理程式安裝 MBR 中而安裝在分割區中。

Ubuntu

在『已準備好要安裝』畫面按『進階...』(Advanced...):

把『用來安裝開機管理程式的裝置』改成 GNU/Linux 所在的分割區。如 GNU/Linux 所在的分割區 hda2 或 sda2 就設定成“(hd0,1)” (hda/sda 對 hd0,第二個分割區對 1)。切忌改成“(hd0)”或 Windows 所在的分割區,會覆寫 MBR 或損壞 Windows 的啟動。

Fedora/CentOS/RHEL

在選擇分割硬碟方案時,把『What drive you would like to boot this installation from?』改成 GNU/Linux 所在的分割區。

切忌改成“hda”、“sda”或 Windows 所在的分割區,會覆寫 MBR 或損壞 Windows 的啟動。

複製 VBR

如果您打算使用 VBR 映像檔啟動 GNU/Linux,您需要預先把 VBR 複製成檔案。方法是以系統管理員身份 (即使用者 root):

dd if=/dev/hda2 bs=512 count=1 of=gnu.dos

以上命令把分割區 hda2 的第一個磁區複製成檔案 gnu.dos。如果您安裝開機管理程式並不安裝在 hda2,請把以上命令中的 hda2 改成所在的分割區名稱。

您需要把 VBR 映像檔 gnu.dos 放在 Windows 中,如果您是使用 2007 年推出的 GNU/Linux,應會提供讀寫 NTFS 功能,可以直接把映像檔複製至 Windows 的檔案系統中。您亦可以選擇把映像檔複製至已格式化的軟碟或 USB 儲存器中,再在啟動 Windows 後複製至 Windows 的檔案系統中。

改變 NTLDR 設定檔 boot.ini

  • 使用 GNU/Linux 的 VBR (Volume Boot Record) - 安裝 GNU/Linux 時有把開機管理程式安裝在分割區中,那只要執行分割區最開首幾個磁區 (即 VBR) 就可以啟動 GNU/Linux 。
  • 使用 GRUB4DOS - GRUB4DOS 顧名思意就是 DOS 版本的 GRUB,功能和原本的 GRUB 差不多。由於可以直接在 Windows 或 MS-DOS 上執行,無需要改動 MBR,比使用 PBR 彈性大,但安裝較麻煩。

使用 GNU/Linux 的 VBR (Volume Boot Record)

把之前複製出來的 GNU/Linux VBR 放在 Windows 上的 C:\,改一個容易識別的名稱,例如 gnu.dos。

接著使用 bcdedit 為 Vista Boot Manager 加入啟動 GRUB4DOS 的選項。先使用命令「bcdedit /create /d "標題" /application bootsector」建立新的開機選項:

C:> bcdedit /create /d "GNU/Linux" /application bootsector
The entry {dcd59c20-830d-4456-a0b4-3da3e4ad299a} was successfully created.

留意傳回的識別碼 ( {} 包著的 ID)。再用命令「bcdedit /set {識別碼} device boot」設定新開機選項:

C:> bcdedit /set {dcd59c20-830d-4456-a0b4-3da3e4ad299a} device boot
The operation completed successfully.

再打命令「bcdedit /set {識別碼} path \開機檔案」設定新開機選項的開機檔案:

C:> bcdedit /set {dcd59c20-830d-4456-a0b4-3da3e4ad299a} path \gnu.dos
The operation completed successfully.

最後命令「bcdedit /displayorder {識別碼} /addlast」設定開機選項的次序:

C:> bcdedit /displayorder {dcd59c20-830d-4456-a0b4-3da3e4ad299a} /addlast
The operation completed successfully.

使用 GRUB4DOS

首先下載 grub4dos-*.zip 至您的 Windows 系統。GRUB4DOS 的最新版本為 0.4.3,下載點如下:

下載完成後,把 grub4dos-*.zip 裡的所有檔案解壓至開機磁碟 (一般為 C:) 的一個新資料夾中,例如 C:\GRUB4DOS 。把 C:\GRUB4DOS 中的 grldr.mbr 和 grldr 兩個檔案複製至 C:\ 中。

接著使用 bcdedit 為 Vista Boot Manager 加入啟動 GRUB4DOS 的選項。先使用命令「bcdedit /create /d "GRUB4DOS" /application bootsector」建立新的開機選項:

C:> bcdedit /create /d "GRUB4DOS" /application bootsector
The entry {86f1c5ed-68aa-4856-9a8a-a6d8784677c8} was successfully created.

留意傳回的識別碼 ( {} 包著的 ID)。再用命令「bcdedit /set {識別碼} device boot」設定新開機選項:

C:> bcdedit /set {86f1c5ed-68aa-4856-9a8a-a6d8784677c8} device boot
The operation completed successfully.

再打命令「bcdedit /set {識別碼} path \grub.mbr」設定新開機選項的開機檔案:

C:> bcdedit /set {86f1c5ed-68aa-4856-9a8a-a6d8784677c8} path \grub.mbr
The operation completed successfully.

最後命令「bcdedit /displayorder {識別碼} /addlast」設定開機選項的次序:

C:> bcdedit /displayorder {86f1c5ed-68aa-4856-9a8a-a6d8784677c8} /addlast
The operation completed successfully.

完成後,您只需要設定好 GRUB4DOS 的設定檔 C:\menu.lst 就可以了。 menu.lst 的設定頗複雜,最簡單的方法是把安裝好 GNU/Linux 中的 /boot/grub/menu.lst 複製出來 (如以使用 LiveCD 或在 Windows 安裝 Ext2 IFS 把 menu.lst 複製至 Windows 中) ,把第一個 title 上面所文字刪掉用以下文字取代:

color black/cyan yellow/cyan
timeout 30

如下:

color black/cyan yellow/cyan
timeout 30

title           Ubuntu 8.04.1, kernel 2.6.24-19-generic
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.24-19-generic root=UUID=5502783d-5a11-4918-9091-691042c466c4 ro quiet splash locale=zh_TW
initrd          /boot/initrd.img-2.6.24-19-generic
quiet

title           Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root            (hd0,1)
kernel          /boot/vmlinuz-2.6.24-19-generic root=UUID=5502783d-5a11-4918-9091-691042c466c4 ro single
initrd          /boot/initrd.img-2.6.24-19-generic


相關頁面

相關連結

Personal tools
廣告橫額