boot physical disk windows in virtualbox - Linux

Table of Contents

請問在 linux host 之下,開啟實體硬碟上的 windows 時, MBR 扮演甚麼角色?

我們都知道 MBR 有 512bytes,其中前面 0~445 為啟動程式與資料

446~509 為 partition table,而這 partition table 共有 64 bytes

每 16 bytes 裡面記錄著一個 partition 的起始,結束磁柱等等資料

那要啟動實體硬碟上的 windows 時候,理論上,只要告訴他 partition number

他自己應該去讀磁碟機的 MBR,就可知道位置及大小在哪裡了,不是嗎?

--------

但是我都開不了 guest windows 機,直到根據以下網頁,做一個 mbr

http://forums.virtualbox.org/viewtopic.php?t=2019

他說需要把 MBR 存成一個檔案,然後傳給 virtualbox

很好奇地是說:他的 opensource.mbr 是程式內建的嗎?

因為我在兩台主機上,硬碟 size 也不同(120G, 320G),做出來的 opensource.mbr

竟然是一樣的,不會根據硬碟的磁區磁扇磁柱而有所改變。

內容都是一樣的,那為什麼還要 user 手動做一個?直接內建一個萬用好了

--------

結果, 320G 上面 linux host, windows guest 可以開

但是, 120G 上面 linux host, windows guest 不可以開

120G 那台開 windows 的時候

若沒有放 mbr 的參數,會顯示 gurb> 意思好像是開到 linux 去了?然後就當了

若有放入 mbr 的參數,會顯示 MBR 這三個字,然後就沒反應了
install-mbr opensource.mbr --force

若放mbr partition 2,會顯示 1234FA 這幾個字,不管按1234F,還是沒反應
install-mbr opensource.mbr --force -p2



以下是我的 fdisk -l

/dev/sda1 : Primary, /boot (ext2fs, 104 Mb)
/dev/sda2 : Primary, WinXP (FAT32, 7Gb)
/dev/sda3 : Primary, MacOSX (HFS+, 20Gb)
/dev/sda4 : Extended Master
/dev/sda5 : Extended, / (XFS, 20Gb)
/dev/sda6 : Extended, /var (ReiserFS, 9.5Gb)
/dev/sda7 : Extended, /home (XFS, 55Gb)
/dev/sda8 : Extended, Linux swap

不好意思,問題有點長

--

All Comments

Rebecca avatarRebecca2010-04-06
建議你看一下VBOX的manual有超詳細說明.
Jacky avatarJacky2010-04-08
還有.用raw disk的方法並沒有比較快.就我測試過的結果來說.
Zora avatarZora2010-04-13
我沒有遇到這種問題耶,授權過不了倒是有,見#16095