Posso migrar um convidado do VirtualBox Ubuntu para uma caixa de hardware * real *?

13

Quero transferir o Ubuntu de um 'dispositivo' do VirtualBox Guest para um computador real (metal e chips)?

Isso pode ser feito e quais etapas estão envolvidas?

Peter.O
fonte

Respostas:

7

Eu tentaria com isso dd(não se esqueça de substituir os nomes dos dispositivos como sdao nome do seu dispositivo):

  1. Substitua todos os uuids no seu /etc/fstabpor coisas como /dev/sda1( sda= número de destino do hd!)
  2. update-grub2 && grub-install /dev/sda
  3. Salve seu disco rígido virtual dentro do VBox em um arquivo: dd if=/dev/sda /home/user/sda.img
  4. Copie a imagem para um disco (disco rígido externo, compartilhamento de rede, dvd, ...)
  5. Restaure a imagem na unidade de destino: dd if=/media/drive/sda.img of=/dev/sda

O maior problema pode ser o carregador de inicialização (mas há tutoriais para isso mesmo neste fórum). Uma vez eu reinstalei um gerenciador de inicialização fazendo uma nova instalação do Ubuntu (de preferência a mesma que você criou) e depois dda partição antiga sobre a nova instalação (nesse caso, você faria apenas dd /dev/sda1isso /dev/sda, o que também inclui o gerenciador de inicialização e todas as partições)

sBlatt
fonte
Eu posso lidar com dd. Eu já o usei antes e sei se não é o início de uma declaração condicional :) ... Por alguma razão, uuids e grub me confundem .. Eles provavelmente são bem simples, mas, novamente, talvez eu também seja. provavelmente usarei o MBR em uma instalação nova (fictícia). O maior obstáculo para mim é realmente dd as partições da VM. Como posso dd de uma partição da VM para o host?
Peter.O
... um pouco mais (tentei editar isso no meu comentário anterior, mas a edição não foi permitida!? .. outro pequeno mistério):. . . As pastas compartilhadas do VirtualBox parecem depender dos complementos que não estão presentes em uma execução do Live CD, porque requer uma reinicialização.
Peter.O
você poderia dd para uma pasta de rede, eu fiz isso na semana passada e foi como 30MB / s. Se você definir uma pasta compartilhada em seu ambiente de live CD / windows / linux e ativar a rede em ponte para a VM, isso funcionará.
sBlatt
btw: é possível copiar uma partição do Linux inteira com cp (+ alguns argumentos para manter as permissoins! Muito importante! Eu acho que era -p ou --preserve = all). Eu fiz isso uma vez para copiar uma imagem de volta depois de redimensionar uma partição (por isso montado o arquivo dd-Imagem e fez cp)
sBlatt
Desculpe por ser tão burro quanto a isso, mas devo estar perdendo um ponto incrivelmente simples ... Tudo o que li parece implicar que o NAT permite que o Convidado acesse o Host por padrão (uma conexão na outra direção precisa de Bridging) .. Ok Eu tive minhas três suposições (mais como trinta!). Acessei com êxito as Pastas Compartilhadas da VBox apenas quando os Complementos de Convidado estão instalados. Não consigo instalar esses complementos em uma execução do LiveCD, por isso estou preso novamente. Como acesso o sistema de arquivos do host conectado ao NAT a partir do convidado (sem complementos)? Suponho que preciso fazer algo no host, mas não sei o que é?
Peter.O
1

Ainda não tentei isso , mas a descrição parece ser realista o suficiente para tentar.

Serge Broslavsky
fonte
O artigo que você mencionou está no mesmo caminho para onde eu quero ir. Se eu ignorar os problemas do LVM do Fedora, ele quase resolverá um dos meus problemas: Como obter a partição da VM no ambiente do host. Ele menciona uma ferramenta VirualBox VBoxManage que combina a montagem de uma imagem de disco de VM bruta no host. No entanto, há um problema com este artigo no que se refere a um host do Windows. O nome do comando está bom, mas nenhum dos argumentos é reconhecido ... mas presumo que o mesmo esteja disponível para Linux ... Alguém conhece a sintaxe?
Peter.O
Tente executar "VBoxManage internalcomands" - ele imprime algumas informações de uso. Pode parecer suficiente.
Serge Broslavsky
1

1> faça um tar do seu sistema operacional virtualBox

2> comece com uma distribuição ao vivo

3> descompacte seu sistema operacional virtualBox na partição de destino / s (/ dev / sda1, por exemplo)

4> torne a partição inicializável (o fdisk pode ajudá-lo): # fdisk / dev / sda Comando (m para obter ajuda): a (a = alterna um sinalizador inicializável) Número da partição (1-4): 1 (1 = / dev / sda1) Comando (m para obter ajuda): q (q = exit)

5> instale o grub no mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (NOT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Aproveite ...

daniele
fonte
1
Para tar meu VirtualBox OS soa tão fácil ... mas não para me ... Por exemplo; Para onde eu vou tar? Eu suponho que a maneira apropriada de tar um sistema de arquivos é não tê-lo em uso ... então eu inicializei a VM por meio de um LiveCD ... Isso me deu acesso à unidade da VM por meio do LiveCD's / media .... mas como obtenho os dados da VM .. As Pastas Compartilhadas do VirtualBox requerem os GuestAddons, que exigem uma reinicialização, que reiniciam o Live CD para o estado de não Addons ... Ou eu perdi algo sobre as Pastas Compartilhadas do VirtualBox /
Peter .O
Você pode tar (rsync também) o sistema diretamente, mesmo que esteja em execução (este é o Linux ...):
daniele
Você pode tar o sistema diretamente, mesmo se estiver em execução. Este é o Linux ;-). Primeiro instale estes pacotes: sshfs ( fuse.sourceforge.net/sshfs.htm ) e monte um diretório real dentro do virtualbox. Por exemplo, você pode usar, dentro do virtualbox como eu disse, um pendrive (montado, digamos, em / media / pendrive) desta maneira: # sshfs [email protected]: / media / pendrive / mnt Após o tar diretamente do seu EXECUTANDO o VirtualBox para o pendrive (Linux pode): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
daniele
1

O que exatamente da instalação você deseja migrar? Se tudo o que importa é com os dados e as preferências do usuário, você provavelmente pode copiar tudo do diretório inicial da VM para um sistema de arquivos fora da VM (uma unidade de chave, por exemplo), copiar esses arquivos para uma nova instalação do Ubuntu e, em seguida, reinstale todos os programas que você instalou na VM. Depende de quanto você personalizou a instalação da VM, em relação a quantos problemas as outras soluções aqui seriam.

JPL
fonte
Estou usando o Ubuntu (usuário Linux pela primeira vez) em hardware real. Eu tenho aprendido muito , mas meu sistema reuniu muita confusão. Alterei uma configuração e esqueci onde a defini, etc. Minha idéia é usar a (mínima) experiência que tenho agora e criar um sistema de VM paralelo, sem os erros, e depois transferi-lo para o hardware principal . Eu posso demorar um pouco e ainda experimentar o atual. É também uma boa "aprendizagem" projeto ... mas estou me sentindo como se eu tivesse mordido um pouco mais do que eu posso mastigar :) ... chegando lá devagar ...
Peter.O
1

Eu gosto de usar o rsync para fazer backup do meu sistema. Isso é bom para um diretório home directroy ou ect, mas pode não ser o que você está procurando em termos de uma migração completa do sistema. Para usar o rsync, você precisará instalar o ubuntu nos dois sistemas. Atualize os dois para que os pacotes sejam iguais e estejam no mesmo nível (isso não é obrigatório, mas facilita as coisas). Em seguida, para copiar seu diretório pessoal do servidor1 para o servidor2, você pode executar o seguinte no servidor1:

$rsync -avz /home/username/ username@server2:/home/username/

O que eu mais gosto nisso é que o rsync calculará as diferenças entre os diretórios e transferirá as alterações em vez de tudo. Dessa forma, você pode manter seu backup atualizado executando no servidor2 (para fazer backup no servidor1):

$rsync -avz /home/username/ username@server1:/home/username/

hth

spinlock
fonte
Obrigado, eu tenho usado o rsync para fazer backup de minhas partições que não são do sistema operacional (ou seja, dados, músicas, etc.). Eu também gosto da maneira como o rsync funciona; muito eficiente. Meu principal "problema" é que não sei se uma cópia simples do arquivo da VM para partições equivalentes funcionará. Por exemplo. Como o Ubuntu lidará com os diferentes HARDWARE. Ele detecta automaticamente e ajusta na inicialização? Windows certamente não! e ainda não tenho certeza de como lidar com os pontos de montagem: não quero sincronizar novamente minha unidade TeraByte na partição do SO; e o GRUB me deixa louco. Estas são as pequenas coisas divertidas que eu ainda não sei o suficiente ..
Peter.O