物理パーティションにインストールしたOSを起動する

VirtualBoxユーザーマニュアルの9章の「Using a raw host hard disk from a guest」に書いてあることを試しました。 GUIメニューには用意されていないので、すべてコマンドから設定します。

間違えるとシステムを破壊します。ここに書いてあること試すときは すべて自己責任でお願いします
Windows XPを使いましたが、マシン構成が変わりアクティベーションを求められるので、試しても起動するだけで使用できません

Windowsのアクティベーションについてですが、Virtualboxで動かした時にアクティベーションを解除しても、実機として動かすと、実機のほうでもまたアクティベーションを求められるので、両方で使うことは事実上不可能です。 もう一つ。実機と仮想マシンでOSを共有することはライセンス上の問題もあります。

マウントしたまま実行すると当然ながらパーティションが壊れるので、アンマウントして実行します。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda

-registerオプションをつけるかmodifyvmで仮想ディスクマネージャーに登録できるみたいですが、GUIのほうから仮想ディスクマネージャーを起動して「追加」もできるので別に気にしなくてもおk。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -register
VBoxManage modifyvm WindowsXP -hda /path/to/file.vmdk

パーティションの指定は-partitionsオプションを使います。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5

パーティションの番号を調べるにはlistpartitionsをつけると調べられるので、この数字を使います。

VBoxManage internalcommands listpartitions -rawdisk /dev/sda

安全のため何も指定せず登録すると読み込みのみのvmdk形式で登録されますが、-relativeオプションを指定すると読み書き可能なvmdk形式で登録することできます。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5 -relative

ddで切り取ったMBRのファイルを使って起動することもできます。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5 -mbr winxp.mbr

ちなみにddでMBRを保存するには以下のようにします。

dd if=/dev/sda of=windows.mbr bs=512 count=1