
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 でパーティション テーブルを配置して使用するために必要な操作をすべて実行する必要があることに注意してください。