Usando uma partição de disco rígido físico como uma VM do VirtualBox e como uma partição inicializável

10

É possível instalar o Ubuntu OS com VirtualBox usando a partição física do disco rígido e torná-lo inicializável?

O que eu quero é que o sistema operacional Ubuntu que eu instalei no VirtualBox possa ser acessado e inicializado na máquina física e na VM do VirtualBox (não ao mesmo tempo, é claro). Então, às vezes eu posso inicializá-lo como uma máquina virtual e às vezes eu posso inicializá-lo como uma máquina real (como uma inicialização dupla ao lado do meu sistema operacional principal, que é o Linux Mint).

Depois de ler alguns artigos sobre isso, aqui está o link:

  1. Migrar de uma máquina virtual (VM) para um sistema físico
  2. Usando um disco rígido host host de um convidado
  3. Usando um disco rígido físico com uma VM do VirtualBox
  4. VirtualBox: usando partição física como unidade virtual

Acho que posso fazer isso, mas não tenho certeza do resultado do meu problema. Dizem que, se houver um problema no processo, isso levará a uma grave corrupção de dados.

Isso significa que todos os dados no meu disco rígido (não apenas uma partição) serão corrompidos?

EDITAR

Esqueci de mencionar que, o SO virtual Ubuntu que eu instalei é particionado em três partições. E a unidade de partição física que usarei é uma partição lógica. Esse é o problema que não me garante o resultado.

Mas Bagol
fonte

Respostas:

9

Encontro solução para o meu próprio problema. Não é tão simples. Para mim, como usuários inexperientes do Ubuntu, é confuso. Eventualmente, eu decido não fazer isso. Mas talvez alguém tenha outra maneira de fazer isso melhor do que eu.

Instale o novo sistema operacional Ubuntu

Instale o sistema operacional Ubuntu ao lado do sistema operacional principal. No meu caso, é linux mint. Mas não vejo diferença no processo entre o mint e o Ubuntu, já que o mint é baseado no Ubuntu.

Criar arquivo médio para caixa virtual para ler o novo sistema operacional

Após concluir a instalação. Você precisa criar um meio para o VirtualBox ler a partição que contém o novo sistema operacional Ubuntu instalado. O jeito que você faz é assim:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Onde Xestá o seu disco rígido e o Yseu número de partição. Não inclua a partição que contém a inicialização principal do sistema operacional. Porque precisamos de um meio de inicialização diferente para o novo sistema operacional que não contenha a inicialização principal do sistema operacional. Pode ser necessário executar como root.

Criar meio para o Virtual Box para inicializar a partir do novo sistema operacional

Para criar a mídia de inicialização, criaremos uma imagem ISO a partir do novo arquivo de inicialização do sistema operacional. Primeiro, temos que fazer isso no nosso sistema operacional principal. Reinicie o computador e inicialize a partir do sistema operacional principal. No meu caso, eu reinicio no Linux Mint.

Precisamos criar uma pasta temporária para criar o arquivo de inicialização iso. Então, quando o Mint estiver pronto para fazer o trabalho. Crie uma pasta Suponho que estamos fazendo isso no Desktop. Faremos assim:

  • Vá para a área de trabalho.

  • Crie uma nova pasta e dê o nome "iso".

  • Abra a pasta iso e crie uma nova pasta chamada "boot".

  • Abra essa pasta de inicialização e crie uma nova pasta mais uma vez chamada "grub".

    Se estamos fazendo isso via terminal, basta digitar esta linha e pressionar enter

    mkdir -p ~/Desktop/iso/boot/grub
    

    O terminal é uma ótima ferramenta se sabemos o que estamos fazendo! ;)

  • Depois que as pastas são criadas, precisamos copiar os novos arquivos de inicialização do Ubuntu OS para essa pasta. Então, abra a partição onde instalamos o Ubuntu OS e copie todos os arquivos de /usr/lib/grub/i386-pc/para ~/Desktop/iso/boot/grub. E copie todos os arquivos de /boot/grub/grub.cfgpara ~/Desktopiso/boot/grub.

    Novamente, se esta etapa for feita via terminal, devemos fazer o seguinte:

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • Abra o grub.cfg ~/Desktop/iso/boot/grub/grub.cfgcom o editor de texto. O aviso não se engane, o que você editar aqui não é o seu /boot/grub/grub.cfg. Se você editar o último que mencionei, a inicialização do sistema operacional principal falhará.

  • Depois que o grup.cfg foi aberto. Exclua menuentryisso não relacionado ao novo sistema operacional Ubuntu que instalamos. Geralmente é assim:

    ### Begin /etc/grub.d/your_main_os ###
    menuentry 'The text displayed in boot menu' {
        ----
        some code we don't need understand for this
        ----
    }
    ### End /etc/grub.d/your_main_os  ###
    

    Exclua todas as entradas de menu que não estejam relacionadas ao novo sistema operacional Ubuntu que instalamos. Nós não precisamos que eles existam no VirtualBox, não é?

  • Em seguida, converta as pastas com todos os arquivos incluídos em iso com isso:

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    Nota: Se você tiver um erro ao fazer isso, precisará instalar xorrisoprimeiro. com isso:

    sudo apt-get install xorriso
    
  • O arquivo ISO para inicialização é criado. Será bom se colocarmos esse arquivo iso na mesma pasta que o arquivo médio que somos criados.

Defina a máquina virtual como capaz de inicializar o sistema operacional exato do Ubuntu que foi instalado

Criamos o meio para ler o novo sistema operacional instalado e o gerenciador de inicialização do VirtualBox de forma independente. A última coisa é configurar, como o Virtual Box deve fazer isso.

  • Vá para onde colocamos a nossa medium.vmdk. Abra o terminal lá e faça o seguinte:

    chmod -v 666 medium.vmdk
    
  • Como alteração de raiz medium.vmdke boot.isopermissão de arquivo. Temos que ser o dono desse arquivo.

  • Abra o VirtualBox. Crie uma nova máquina. Quando a opção Disco rígido oferecer opções, selecione use an existing virtual hard drivee leve omedium.vmdk

  • Conclua, mas não execute ainda. Com a nova máquina selecionada, abra as configurações.

  • Na seção Armazenamento, se não houver armazenamento em CD, crie o novo. Em seguida, faça a montagem boot.isoque criamos nesse armazenamento de CD.

  • Antes de fechar as configurações, vá para a seção Sistema para ter certeza. O armazenamento do CD que contém boot.isoé lido primeiro antes do disco rígido. Dessa forma, o Virtual Box será inicializado a partir do CD para ler o novo sistema operacional instalado.

  • Terminar. E podemos executar o novo sistema operacional instalado na máquina virtual e na máquina real.

Anotações importantes

Mesmo que possamos inicializá-lo de duas maneiras. Existem alguns problemas que encontrei.

  1. Sempre que inicializarmos da máquina real e, em seguida, tentarmos inicializá-la da máquina virtual, haverá erro. Porque o estado da unidade física é alterado sem o medium.vmdksaber. Portanto, precisamos criar um novo meio e alterar sua permissão novamente para poder inicializar a partir da máquina virtual. Mas, não precisamos criar novos boot.iso.

  2. Porque o endereço MAC das duas máquinas é diferente. O sistema operacional ficará confuso ao tentar definir as configurações de rede. No meu caso, instalei o Ubuntu Server como novo sistema operacional e sempre que inicializava em uma máquina diferente, ele exibia uma mensagem como "Aguardando configuração da rede ..." por cerca de 2 minutos e, em seguida, inicializava.

É isso aí. Minha solução para o meu próprio problema.

Mas Bagol
fonte
1
Exatamente o que eu estava procurando fazer hoje. Mas o contrário, inicialize o sistema operacional Windows a partir de uma partição física. Costura como se eu pudesse ir para o outro lado também.
nelaaro
@ Nelaaro Estou tentando fazer o mesmo. Eu tenho um disco rígido com o windows10 instalado que eu conectei a uma máquina Ubuntu 14.04. O Ubuntu é o meu host, com isso quero executar uma VM do Virtualbox do meu Windows10. Eu criei o arquivo rawvmdk, mas não foi possível inicializar. De acordo com esta resposta, eu devo criar um arquivo ISO, mas o iso criado através do comando acima me leva ao grub e não é realmente capaz de inicializar. Você pode por favor ajudar?
Phani
1
@nelaaro Eu criei uma pergunta separada sobre isso: askubuntu.com/questions/944509/… Por favor, me ajude.
Phani