web-dev-qa-db-ja.com

ハードドライブにインストールされているローカルWindows7でVirtualBoxを使用する

私は今日、ローカルディスク上の実際のパーティションを参照するだけのVirtualBox VMDKファイルを作成できることを発見し、言うまでもなく、かなり興奮しました。 「これは、Linuxで実行されているVirtualBoxからWindows 7のインストールを起動できることを意味します!」

私は次のようにVMDKファイルを作成しました:

Sudo VBoxManage internalcommands createrawvmdk -filename .VirtualBox/Hard\ Disks/Windows\ 7\ Local.vmdk -rawdisk /dev/sdb -partitions 2,4,5

パーティション2は私のEFIブートパーティション、パーティション4はWindows msftパーティション、パーティション5は実際のNTFSWindowsパーティションです。これは問題なく実行されたので、VMDKファイルを現在のユーザーにchownして、ログインユーザーで実行できるようにしました。

これが最初の問題につながりました。このイメージをroot以外のユーザーとしてVirtualBoxに追加することはできないようです。可能であれば、rootとして実行したくないのです。回避策はありますか?

次の問題はEFIです。 VirtualBoxでEFIブートを有効にしましたが、EFI/Microsoft/Boot/bootmgfw.efiイメージをブートするたびに、次のコードが表示されます。

BlXmiInitialize failed 0xc000009a

boot error

そしてそれは起動しません。さらに、実際のUEFIシェルを使用して起動する必要があるのは、せいぜい面倒です。

VirtualBoxのLinuxから非rootユーザーとして実際のローカルWindows7インストールを起動するにはどうすればよいですか?

更新

Linuxユーザーをdiskグループに追加すると、VMDKドライブをroot以外のユーザーとして使用できます。

Sudo adduser me disk

それでも、ブートエラーを乗り越えることはできません。

他の問題が原因である可能性があると考えたので、起動時の修復にWindows 7インストールディスクを使用してみましたが、ディスクからWindowsをインストールするように求められるため、Windowsのインストールが表示されないようです。

重要な情報が欠落しているという潜在的な問題を解決するために、次の手順を実行して、個々のパーティションだけでなく、ディスク全体のVMDKを作成しました。

VBoxManage internalcommands createrawvmdk -filename ".VirtualBox/Hard Disks/Windows 7 Local.vmdk" -rawdisk /dev/sdb

ドライブ /dev/sdbは、ハードウェアIntel RAIDカード(RS2BL080)によって提供される仮想ドライブです。

4
Naftuli Kay

VirtualBoxチームのメンバー および VirtualBoxマニュアル によると:

VirtualBox EFIのサポートは実験的なものであり、EFIが成熟して普及するにつれて拡張されることに注意してください。 Mac OS XおよびLinuxゲストは正常に動作することが知られていますが、Windowsゲストは現在VirtualBoxEFI実装で起動できません。

それはかなり下手ですが、本当です。興味深いことに、基本的にすべての最新のマザーボードにはWindowsで「正しく動作する」UEFIファームウェアがあるのに対し、Mac OSXではWindowsよりもEFIを実装するのがもっと難しいでしょう。 Appleは、独自のハードウェア用に設計された独自のEFI実装を使用しています。

TL; DR:この投稿の執筆時点では、EFIサポートはVirtualBoxのWindowsでは実際には機能しません。

2
Naftuli Kay

Windowsのefiブートエラーに関する情報は非常に限られているようです。私はロシア語で、お互いのバックアップのように見える以下の2つのリンクしか見つけることができません

  1. http://habrahabr.ru/post/160655/Google翻訳
  2. http://savepearlharbor.com/?p=160655Google翻訳

VirtualBox WindowsEFIブートに対応していません。ただし、Windowsを変更する方法を示していますBootmgfw.efigrub-efiを使用したデュアルブート用。たぶん、そのテクニックを使用してbootmgfw.efiコンテンツを検査し、実際の問題を特定することができます。

サクセスストーリー

  1. この投稿 、QEMUを主張、KVMおよびVirtualBoxの成功。
  2. この投稿 、KVMおよびVMWareWorkstation(非フリー))は簡単にそれを行うことができると主張しています。

ただし、efiの使用については言及されていません。したがって、彼らはおそらく古いスタイルのBIOSを使用しています。

潜在的な問題-アクティベーション

この投稿 によると、Windowsはブートモード(VMとネイティブ)を切り替えるたびにアクティベーションを要求する場合があります。モードを切り替えることは、別のマザーボードとCPUに切り替えるようなものなので、これは理解できると思います。

0
John Siu