
Para atualizar o BIOS no meu servidor Linux, preciso executar um programa Windows. Minha ideia era instalar rapidamente o Windows em uma unidade USB para que eu pudesse inicializar em um ambiente Windows ativo. A instalação está muito lenta porque as unidades USB demoram muito para gravar.
Minha ideia era criar um dispositivo de loopback do mesmo tamanho da unidade USB e instalar o Windows nele e, em seguida, apenas dd
aquela imagem no USB. Provavelmente seria mais rápido.
No entanto, o programa que estou usando para instalar o Windows em uma unidade USB (chamado WinToUSB) só será instalado (você adivinhou) em um dispositivo de armazenamento em massa USB. O dispositivo de loopback que criei e passei para o sistema operacional convidado do Windows 7 no qual estou executando o WinToUSB o apresenta como um disco fixo padrão. Portanto, o WinToUSB se recusa a tentar instalar neste disco fixo.
Então, estou tentando fazer com que o virtualbox apresente o dispositivo de loopback (como um vmdk) para o sistema operacional convidado como um dispositivo de armazenamento em massa USB emulado, para que o WinToUSB instale o Windows nele para que eu possa usá-lo dd
em um dispositivo USB real e usá-lo para atualizar meu BIOS. Que maldita máquina de Rube Goldberg!
SO host: Arch
SO convidado: Windows 7
Caixa virtual: 5.2.6
Responder1
Para anexar um disco virtual como dispositivo 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
Observe que, uma vez feito isso, o disco ficará em branco, então você precisará fazer tudo o que o sistema operacional convidado exigir para colocar uma tabela de partição nele e usá-lo.