Virtualbox: ゲスト OS に仮想 USB 大容量ストレージ デバイスを作成する

Virtualbox: ゲスト OS に仮想 USB 大容量ストレージ デバイスを作成する

Linux サーバーの BIOS を更新するには、Windows プログラムを実行する必要があります。Windows を USB ドライブにすばやくインストールして、ライブ Windows 環境で起動できるようにすることを考えました。USB ドライブの書き込み速度が非常に遅いため、インストールに非常に時間がかかります。

私のアイデアは、USB ドライブと同じサイズのループバック デバイスを作成し、代わりにそこに Windows をインストールし、ddそのイメージだけを USB にインストールするというものでした。おそらくその方が速いでしょう。

しかし、Windows を USB ドライブにインストールするために使用しているプログラム (WinToUSB という名前) は、(ご想像のとおり) USB 大容量ストレージ デバイスにのみインストールされます。WinToUSB を実行している Windows 7 ゲスト OS に作成して渡したループバック デバイスは、それを標準の固定ディスクとして表示します。そのため、WinToUSB はこの固定ディスクへのインストールを拒否します。

そこで、VirtualBox でループバック デバイス (vmdk として) をエミュレートされた USB 大容量ストレージ デバイスとしてゲスト OS に提​​示し、WinToUSB でそこに Windows をインストールして、それをdd実際の USB デバイスにインストールし、それを使用して BIOS をフラッシュできるようにしようとしています。なんてすごいルーブ ゴールドバーグ マシンなのでしょう!

ホストOS: Arch

ゲストOS: Windows 7

バーチャルボックス: 5.2.6

答え1

仮想ディスクを USB デバイスとして接続するには:

VMNAME="test"
USB_SIZE_MB=$((16*1024))
vboxmanage storagectl "$VMNAME" --add usb --name usb --controller USB
vboxmanage createmedium disk --filename /tmp/test.vmdk --size "$USE_SIZE_MB"
vboxmanage storageattach "$VMNAME" --storagectl usb --medium /tmp/test.vmdk --port 0 --type hdd

これが完了するとディスクは空になるため、ゲスト OS でパーティション テーブルを配置して使用するために必要な操作をすべて実行する必要があることに注意してください。

関連情報