Virtualbox: 生の Linux パーティションが起動しない

Virtualbox: 生の Linux パーティションが起動しない

私は Windows 7 と Ubuntu 12.04 のデュアル ブート ラップトップを持っています。Virtualbox を使用して Windows から Ubuntu パーティションを起動しようとしています。.vmdk を作成し、仮想マシンを作成しました。しかし、(Virtualbox で) 起動できません。画面の左上にカーソルがある黒い画面しか表示されません。

パーティションを正しく指定しているかどうか疑問です。私の Ubuntu インストールには 3 つのパーティションがあります: \、\boot、\home。スワップ パーティションはありません。これらはすべてディスク 0 のパーティション 3、4、5 にそれぞれあります。

.vmdk を作成するために使用したコマンドは次のとおりです。

 VBoxManage internalcommands createrawvmdk -filename C:\Users\abalter\.virtualbox\ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 3,4,5

次に、その .vmdk に基づいて仮想マシンを作成します。

なぜ起動しないのでしょうか?

答え1

これは既知のバグです:https://www.virtualbox.org/ticket/9926 これhttp://www.neowin.net/forum/topic/784138-howto-boot-existing-ubuntu-partition-using-virtualbox-inside-windows/回避策として、grub2 をブートストラップするカスタム ISO を作成することを提案します。

答え2

私は昨日これを実行しましたが、このチュートリアルを使用してようやく動作するようになりました。https://askubuntu.com/questions/78902/cannot-run-native-ubuntu-in-virtualbox-with-a-vmdk-created-using-the-createrawvm

私はceztkoの投稿(以下にコピー)を使用しました。また、すべてが機能した後、Ubuntuを起動したことにも注意してください。VM内を再実行してupdate-grub、Windows 7 の grub の余分なエントリを削除しました (これは安全のためです。同じ Windows 7 インストールで実行されている VM 内から誤って Win 7 パーティションを起動しようとすると、非常に悪い結果になります)。これを行うと、実質的に 2 つの grub が別々にインストールされます。1 つは Win 7 と Ubuntu のエントリを含むシステム MBR 上に、もう 1 つは VirtualBox .vmdk ファイルの MBR 上にあります (このファイルは生の Ubuntu パーティションを指していますが、異なる MBR を持つ可能性があります)。

ceztko の投稿:

完璧に機能する回避策を見つけました。sda7 は Linux をインストールしたパーティション、5、6、7 は仮想化したいネイティブ パーティション、そして「ceztko」は私のホームです :P

  • ネイティブ Linux から、ネイティブ Linux パーティションに GRUB を再インストールします。sudo-grub install --force /dev/sda7
  • パーティションのブートセクターをホームにコピーします。# dd if=/dev/sda7 of=/home/ceztko/virtualbox-native.mbr bs=512 count=1
  • virtualbox-native.mbrをWindowsインストールにコピーします
  • Windows を再起動し、管理者プロンプトから実行します。
    VBoxManage internalcommands createrawvmdk -filename C:\users\ceztko\ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 5,6,7 -mbr c:\users\ceztko\Dropbox\resources\virtualbox-native.mbr
  • VirtualBox を実行し、新しい仮想ドライブを仮想マシンに割り当てます。
  • 楽しむ!

これは Virtualbox のバグかもしれません。しかし、ブート ディスクに mbr としてインストールされたときにアクセスできない Windows パーティションによって混乱する grub のバグであると考えられます。

編集: Hemlock はかなり近かったことを述べておきます。問題は、raw パーティションを指す .vmdk ファイルに有効なブートローダー/ブートセクターが含まれていないことです。cetzko の投稿の最初の手順では、MBR に grub をインストールします。パーティションの次に、その MBR のコピーを作成して .vmdk ファイルに追加します。通常、grub はハード ドライブ全体の MBR にインストールされます。

答え3

問題はブート セクターです。おそらく、raw ディスクの使用可能なパーティションにブート セクターを含めていないのでしょう。

私は次のようにして同様のことを達成しました:

  1. 通常どおりに仮想ドライブを作成します。
  2. 記述したRAWディスクを作成します
  3. 仮想ドライブにインストールする
  4. /仮想ドライブと/homeRAWディスクにマウントする
  5. 仮想ドライブがブートディスクとして設定されていることを確認してください。ここで問題がありました。
  6. 楽しむ

関連情報