web-dev-qa-db-ja.com

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

Windows7とUbuntu12.04を搭載したデュアルブートラップトップを持っています。 Virtualboxを使用してWindowsからubuntuパーティションを起動しようとしています。 .vmdkを正常に作成し、仮想マシンを作成しました。ただし、(Virtualboxで)起動できません。私が得るのは、左上にカーソルがある黒い画面だけです。

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

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

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

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

なぜ起動しないのですか?

4
abalter

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

2
cagney

私は昨日これをやったばかりで、ついにこのチュートリアルを使って動作させました: 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の余分なエントリが削除されました(これは安全のため。誤って同じWindows7インストールで実行されている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から、grubをネイティブLinuxパーティションに再インストールします: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のバグだと思います。

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

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

私はこのように似たようなことを成し遂げました:

  1. 通常どおりに仮想ドライブを作成します。
  2. 説明したrawディスクを作成します
  3. 仮想ドライブにインストールする
  4. マウント/仮想ドライブ上および/homerawディスク上
  5. 仮想ドライブがブートディスクとして設定されていることを確認してください。これは私が問題を抱えていたところです。
  6. 楽しい
0
Hemlock