Virtualização de um sistema pré-instalado na partição

Setembro 2017

Você tem uma máquina com vários sistemas operacionais (multi-boot) e está cansado de ter que reiniciar para alternar para outro sistema. Fora o uso de outra máquina, a solução pode ser a virtualização. Obviamente, é possível virtualizar totalmente, ou seja, criar uma máquina virtual tradicional, com o seu disco rígido virtual (ou seus discos rígidos virtuais). Porém, neste caso perderemos espaço no disco rígido físico por causa da existência de duas máquinas: uma física e uma virtual. Mas também é possível utilizar um sistema real como sistema virtualizado. Para informação, o VMware Workstation o permite e o VirtualBox também, através do seu reconhecimento do formato VMDK. Conclusão, mais perda de espaço no disco rígido físico.

Resumindo, este tutorial mostra as seguintes etapas: instalar o Sistema Operacional na partição física que será virtualizada a seguir; criar o arquivo VMDK, seja o disco virtual a ser usado pela VirtualBox, isto é, uma concha vazia apontando para a partição desejada; criar a máquina virtual e instalar as VBox Additions na máquina virtual

Máquina de base e objetivo

Este tutorial se baseia na seguinte configuração:
SDA1: Windows (NTFS)
SDA2: Mageia (Ext4)
SDA3: Swap
SDA5: Ubuntu (Ext4)
SDB1: Home (Ext4)
SDB2: DataNTFS (NTFS)

Na configuração do perfil do usuário do Windows, eu mudei todas as pastas de trabalho (documentos, imagens, vídeos, download, etc) em SDB2 (DataNTFS). Sempre faço assim para minimizar o que é necessário em C. Esta partição SDB2, partição ligada ao Windows é, na realidade, inseparável do SDA1 (Windows).

No Mageia, veja a situação dos discos em NTFS:
SDA1 Windows: não montado
SDB2 DataNTFS: montado automaticamente no /mnt/DataNTFS

Saiba também que, inicialmente, este tutorial foi testado em máquina virtual VirtualBox de 32 bits, integralmente. Uma máquina virtual de 32 bits com múltiplos sistemas onde eu sobrepus as virtualizações... e que funcionou. A implementação em máquina real de 64 bits também funcionou bem. A ideia é virtualizar as instalações físicas do Windows (SDA1), Ubuntu (SDA5) e Mageia (SDA2). Em suma, podemos virtualizar todos os sistemas a partir de qualquer distribuição GNU/Linux. Este tutorial deve ser utilizável para virtualizar sistemas BSD, logicamente. Este tutorial parte do princípio que todos os sistemas operacionais já foram instalados e, que o seletor de sistema operacional já está operacional. Você adaptará de acordo com a sua própria configuração.

Mudança dos direitos

Como roteador:
# chmod 666 /dev/sda
# chmod 660 /dev/sda1
# chmod 660 /dev/sda5
# chmod 660 /dev/sdb2

Para poder explorar a partição (ou partições), é preciso mudar os direitos nos pseudo-arquivos correspondentes. Esta manipulação deve ser efetuada em cada partição desejada (SDAx mas também no próprio disco rígido (SDA).

Grupo de discos

O usuário deve fazer parte do grupo de discos. Isso permite criar arquivos VMDK como simples usuário. Como administrador:
# usermod -a -G disk usuário

Criação do arquivo VMDK

Será o arquivo correspondente ao disco rígido utilizado pela máquina virtual. Na realidade, uma concha vazia apontando para o disco real desejado. Vamos criar duas conchas VMDK: uma para o SDA, ou seja, SDA.vmdk, corresponde aos sistemas operacionais (Windows e Ubuntu) e outra para o SDB, o SDB.vmdk, corresponde à partição DataNTFS ligada ao sistema Windows.
Como simples usuário:
$ VBoxManage internalcommands createrawvmdk -filename /home/utilisateur/VirtualBox/SDA.vmdk -rawdisk /dev/sda
$ VBoxManage internalcommands createrawvmdk -filename /home/usuario/VirtualBox/SDB.vmdk -rawdisk /dev/sdb


Isso retorna a seguinte resposta para o primeiro arquivo VMDK (mesma resposta para o segundo VMDK):
RAW host disk access VMDK file /home/usuario/VirtualBox/SDA.vmdk created successfully
. Nós temos nossa concha vazia como ponteiro, pesando 630 KB (para uma partição SDA1 de 58 GB sendo 7,25 usados), sem perda de espaço e idem para o SDB.

Reestabelecimento dos direitos nos pseudo-arquivos dos discos rígidos

A VirtualBox retornará um erro se você abrir a máquina virtual tendo dado previamente os direitos de /dev/sda a 600. Portanto, não podemos mais alterar os direitos de/dev/sda que restam a 666. Em compensação, podemos remeter direitos sobre /dev/sda1 e /dev/sda5 a 600 assim como sobre /dev/sdb2.

Como administrador:
# chmod 600 /dev/sda1
# chmod 600 /dev/sda5
# chmod 600 /dev/sdb2

Configuração da maquina virtual

Nas configurações da máquina virtual, você deve escolher uma unidade existente e o arquivo VMDK. Quanto à escolha do conector, tudo dependerá da máquina real (IDE ou SATA). Conectemos esses dois arquivos VMDK na máquina virtual, tendo o cuidado de selecionar primeiro a SDA, para não correr o risco de perturbar este "Pobre" Windows com a ordem dos discos. Em compensação, você também pode marcar, para cada disco VMDK, a opção Solid-State Drive que, supostamente, deve reiniciar.

Reinicialização da máquina virtual

A máquina virtual funciona de primeira, sem qualquer aborrecimento. No entanto, ao seguir este tutorial, você deverá selecionar o sistema operacional a ser iniciado. A esta altura, qualquer validação de um sistema operacional não "chmodado" previamente, à criação da casca VMDK será sancionado por uma falha de inicialização. Então, não se esqueça de instalar neste sistema virtualizado as Extensões do VirtualBox! Isto que implica na reinicialização da máquina virtual reinicie.

As vantagens desse tipo de montagem

Qualquer atualização do sistema é diretamente explorável seja o sistema virtualização ou não. Não é mais preciso reiniciar para mudar para outro sistema operacional. Uma economia de espaço, pois você pode evitar ter duas versões: uma no disco físico e outra no virtualizado.

Desvantagens desse tipo de montagem

Pode parecer difícil de implementar. A dica é inutilizável no Windows (1) no que diz respeito aos sistemas não-Microsoft. O Windows não sabe lidar com discos não-Windows e, portanto, é impossível obter direitos sobre estas partições. Dica inutilizável no Windows (2) por causa do seu modo de gerenciamento de dispositivos. No Windows, não é muito fácil saber como discos rígidos e as partições são numerados e a geração do arquivo VMDK também não é nada fácil.

Avisos e lembretes importantes

Devemos "chmodar" cada dispositivo no qual desejamos poder acessar por meio da virtualização, incluindo as partições relativas ao sistema virtualizado. Qualquer omissão será punida por uma falha de inicialização. Pense em criar o arquivo VMDK que contém o selecionador de sistemas, se este selecionador estiver localizado em outro disco não relacionado diretamente (por exemplo, no Windows SDA1 e Grub no SDB). Você nunca deve montar as partições do sistema a serem virtualizadas (se for o caso, desmonte-as anteriormente). Você pode montar as partições anexas relacionados a um sistema Windows enquanto elas não contiverem o sistema a ser virtualizado. Se você montar as partições anexas relacionadas a um sistema não-Windows, você corre o risco de fracassar. Portanto, a partição/home do sistema virtualizado deve ser diferente da partição/home do sistema host.

Aviso na licença do Windows

Saiba que o fato de virtualizar uma instalação do Windows em uma máquina física leva, obrigatoriamente, a uma reativação da licença, mesmo se esta licença for oficial e já estiver ativada. Isso porque, o Windows vê a alteração da máquina já que com a virtualização passamos de uma placa-mãe física para uma placa-mãe virtualizada. Com isso, devemos escolher entre ativar o Windows novamente e usar somente a versão virtualizada ou se inscrever na virtualização do Windows.

Veja também

Artigo original publicado por teutates. Tradução feita por pintuda. Última modificação: 12 de janeiro de 2016 às 08:27 por ninha25.
Este documento, intitulado 'Virtualização de um sistema pré-instalado na partição', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.