Possível dual boot * e * virtualizar a mesma unidade física que contém o Windows 10?

11

Uso o Linux como meu driver diário e acabei de instalar o Windows 10 em um novo disco físico no meu PC para inicialização dupla. Por um tempo, usei o Windows 7 por meio de uma imagem do VirtualBox montada sobre o iSCSI 1 .

Agora eu tenho dois ambientes Windows diferentes e isso é muito frustrante. Adoraria abandonar a VM do Windows 7 e acessar a instalação do Windows 10 diretamente através do VirtualBox por conveniência, mas sem perder a capacidade de iniciar a inicialização dupla quando preciso de desempenho de metal bruto.

É possível inicializar uma instalação existente do Windows 10 em mídia física dedicada (SSD SATA3 interna) através do VirtualBox sem perder a capacidade de inicialização dupla também?

Se isso torna as coisas mais complicadas (ou impossíveis), é importante notar que o SSD do Windows 10 está protegido com o FDE via VeraCrypt.

Chris Tonkinson
fonte
1
Eu adoraria se fosse possível, mas ainda não encontrei um caminho. Além do problema de executar uma VM com um disco físico, há dois aspectos da alternância entre inicialização rígida e virtual. (1) Haverá uma grande reconfiguração do driver sempre que você alternar os ambientes de execução. (2) Como corolário, o Windows provavelmente precisará de reativação de licença em cada comutador: se isso for possível, o licenciamento quase certamente se queixará após algumas reativações. O que você pode fazer é criar um disco virtual a partir de uma instalação física, mas novamente o licenciamento será um problema provável.
AFH 25/01
Convém executar a instalação do Linux em uma VM do Windows: pelo menos, evitará dificuldades de licença.
AFH 25/01
@AFH O problema da licença pode ser resolvido clonando o uuid do hardware host e os IDs de série do controlador de disco na VM. Ele permite executar o Windows uma vez a partir da VM e uma vez diretamente (embora o licenciamento m $ ainda não permita o uso de várias instalações com a mesma chave do produto simultaneamente, para que isso possa ser feito exclusivamente na configuração solicitada).
peterh - Restabelece Monica
@ Peterh - Obrigado: eu não sabia que a clonagem de UUID era suficiente para o licenciamento do Windows. Resta o problema de reconfiguração do driver na alternância. Vou experimentar sua resposta quando tiver tempo.
AFH 26/01

Respostas:

7

Sim, é possível.

  1. Configure a caixa virtual para usar seu disco físico. É um pouco arriscado, porque o convidado da VM verá seu disco host diretamente. Detalhes aqui .
  2. Conceda acesso direto de leitura / gravação ao seu disco físico ( setfacl -m u:yourusername:rw /dev/sda)
  3. Atualize sua VM do Virtualbox para usar o mesmo uuid do sistema que o host ( dmidecode -s system-uuidmostra o uuid do sistema vboxmanage modifyvm your-vm-name --hardwareuuid <your-hardware-uuid>). Pode ser necessário clonar também os uuids do controlador de unidade ( lsblk --nodeps --no name,serialmostra os IDs de série do seu host. Não precisei cloná-los na minha caixa virtual, mas pode ser necessário. Provavelmente algum vboxmanage modifyvmcomando complicado o faz, ou você deve editar o vm config xml manualmente.
  4. Tente configurar os mesmos tipos de controlador de disco e dvd na VM que o host (se o host for baseado em SATA, use controladores virtuais SATA; se for baseado em IDE, use IDE, etc).

Há outro perigo: se você inicializar em uma VM sua unidade host diretamente, é possível que você inicialize o mesmo sistema operacional duas vezes. Ou você abre a mesma partição duas vezes. Isso matará seus dados, portanto, nunca monte várias partições simultaneamente. Além disso, não monte suas partições NTFS enquanto elas são usadas pelo Windows (mas você ainda pode compartilhar dados entre as partições, por exemplo, com o Samba).

Se isso aconteceu acidentalmente, reinicie com sysrq (alt + printscreen + b) e fsck tudo. Alguns truques do grub também podem ser necessários para isso (reconfigurei o grub para inicializar o Windows por padrão, assim evito o problema de inicializar acidentalmente meu Linux novamente na VM do Windows - e isso certamente acontecerá, porque o Windows Update geralmente reinicia o Windows atrás de você).

Cuidado: o Win10 usa o uuid do sistema e o uuids do controlador de unidade para identificar o seu PC. Se você errar (3), o seu win10 pensará que foi clonado em uma nova máquina e não será mais ativado. Embora se você inicializar novamente com o hw original, ele será ativado novamente.

peterh - Restabelecer Monica
fonte
Fiz tudo o que você escreveu na sua resposta, mas estou recebendo um erro de acesso negado. Estou um pouco confuso, parece que o setfaclnão está segurando após a reinicialização. Sugestões? Nota: Não estou montando a unidade, porque não quero corrupção de dados. Documentação ACL diz que as unidades que necessitam ACL deve ser incluído no fstab, que iria montá-lo ...
Kartik
1
@ Kartik Certo, ele não se sustenta. A solução mais simples, mas um pouco suja, é inserir o comando setfacl no seu /etc/rc.local. A boa solução seria editá-lo em / etc / udev. Pessoalmente, não reinicializo o suficiente para tornar a digitação desse comando irritante.
peterh - Restabelece Monica
Usei o udev para definir as permissões corretas, mas a máquina virtual está presa no logotipo do Windows. Alguma ideia?
Kartik
@Kartik Se, pelo menos, for possível iniciar a inicialização, as permissões serão válidas. Provavelmente não tem nada a ver com esta solução, o motivo provável é que as janelas não serão iniciadas no ambiente emulado (a vitória pode ser vista como se tivesse sido movida para um hardware totalmente novo, portanto, é necessário religar muitas drivers). Tente iniciar a máquina de alguma forma mais degradada ou similar. Ou tente ativar algum modo de depuração, ou similar. Você pode lidar com isso como um problema "o Windows não inicializa no novo hardware". E tente configurar no vbox o ambiente hw mais semelhante possível que você tinha na máquina física.
peterh - Restabelece Monica
1
A falha na inicialização foi causada pela atualização 1703 ou pela Atualização do Criador, como a Microsoft chama. A reversão dessa atualização corrigiu o problema. VMs são incompatíveis com esta atualização. Se o Windows for atualizado durante a execução em metal, a reversão corrigirá a inicialização travada na VM.
Kartik
1

Eu consegui com o Windows 10 como convidado e o linux mint como host.

Primeiro você precisa desinstalar todas as atualizações do Windows 10 (apenas por precaução, talvez inúteis) e depois: No Linux, abra um console e linha por linha:

 sudo su

 fdisk -l # looking for EFI et Microsoft basic data for me 1 and 3 of sdb 

 VBoxManage internalcommands createrawvmdk -filename /home/borto/ww10.vmdk -rawdisk /dev/sdb -partitions 1,3 -relative

Adicione a máquina na caixa virtual (sempre com "sudo virtualbox" para ser root) e ative a EFI na guia sistema, e escolha o windows xp 64 em vez do windows 10, caso contrário você terá um sinalizador de janelas 10 congelado bonito. Isso é tudo.

Bormat
fonte