Usando o VirtualBox com um Windows 7 local instalado no disco rígido

4

Acabei de descobrir hoje que é possível criar arquivos VirtualBox VMDK que simplesmente fazem referência a partições reais em discos locais e, é desnecessário dizer, ficaram bastante empolgados. "Isso significa que posso inicializar minha instalação do Windows 7 a partir do VirtualBox em execução no Linux!"

Eu criei o arquivo VMDK da seguinte forma:

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

A partição 2 é minha partição de inicialização EFI, a partição 4 é a partição msft do Windows e a partição 5 é a partição NTFS real do Windows. Isso aconteceu sem problemas, então eu fiz o chown dos arquivos VMDK para o meu usuário atual para que eu pudesse executá-los com meu usuário de login.

Isso levou ao primeiro engate. Eu não consigo adicionar esta imagem ao VirtualBox como qualquer usuário, exceto root, e eu realmente gostaria de não executá-lo como root, se possível. Existe uma solução alternativa?

O próximo problema é o EFI. Eu habilitei a inicialização EFI no VirtualBox, mas sempre que eu inicializo a imagem EFI / Microsoft / Boot / bootmgfw.efi, vejo o seguinte código:

BlXmiInitialize failed 0xc000009a

enãoinicializa.Alémdisso,terqueusaroshellUEFIrealparaobterascoisasdeinicializaçãoé,namelhordashipóteses,umaborrecimento.

ComopossoobterminhainstalaçãolocalrealdoWindows7comoumusuárionão-rootdoLinuxnoVirtualBox?

Atualizar

AoadicionarseuusuárioLinuxaogrupodisk,vocêpodeusaraunidadeVMDKcomoumusuárionão-root:

sudoaddusermedisk

Aindanãoconsigoultrapassaroerrodeinicialização.

Euimagineiquepoderiaserporcausadeoutrosproblemas,entãoeutenteiusaromeudiscodeinstalaçãodoWindows7parareparodeinicialização,masparecenemsequerverainstalaçãodoWindows,comoodiscomepedeparainstalaroWindows.

Pararesolverpossíveisproblemascomafaltadeinformaçõesvitais,fizoseguinteparacriarumVMDKdetodoodisco,nãoapenasdepartiçõesindividuais:

VBoxManageinternalcommandscreaterawvmdk-filename".VirtualBox/Hard Disks/Windows 7 Local.vmdk" -rawdisk /dev/sdb

A unidade /dev/sdb é uma unidade virtual fornecida por uma placa RAID Intel de hardware (RS2BL080).

    
por Naftuli Kay 18.01.2013 / 04:32

2 respostas

2

De acordo com membros da equipe do VirtualBox e de acordo com o manual do VirtualBox :

Note that the VirtualBox EFI support is experimental and will be enhanced as EFI matures and becomes more widespread. While Mac OS X and Linux guests are known to work fine, Windows guests are currently unable to boot with the VirtualBox EFI implementation.

É muito ruim, mas é verdade. Curiosamente, seria sem dúvida mais difícil implementar EFI para Mac OSX do que para Windows, já que basicamente todas as placas-mãe modernas possuem firmware UEFI que "funciona apenas" com o Windows, enquanto a Apple usa seus próprios recursos. Implementação EFI projetada para seu próprio hardware.

TL; DR : A partir da redação deste post, o suporte da EFI realmente não funciona com o Windows no VirtualBox.

    
por 28.01.2013 / 21:04
0

A informação parece ser muito limitada em relação ao erro de inicialização do Windows efi. Eu só posso encontrar 2 links abaixo, o que parece ser um backup do outro, em russo

  1. link Google Tradutor
  2. link Google Tradutor

Não está endereçando a inicialização do VirtualBox Windows EFI. No entanto, demonstra como modificar o Windows Bootmgfw.efi para dual boot com o grub-efi. Talvez você possa usar essa técnica para inspecionar o conteúdo do bootmgfw.efi e identificar o problema real.

Histórias de sucesso

  1. Este post , reivindicando o sucesso do QEMU, KVM e VirtualBox.
  2. Esta postagem , alegando que o KVM e o VMWare Workstation (não-livres) podem fazê-lo com facilidade.

No entanto, não há menção de usar efi. Então eles talvez usem bios antigos.

Problema potencial - ativação

De acordo com esta postagem , o Windows pode solicitar a ativação toda vez que alternar o modo de inicialização (VM vs Nativo). Eu acho isso compreensível, como alternar entre o modo é como mudar para uma placa-mãe diferente e cpu.

    
por 23.01.2013 / 21:30