É possível "virtualizar" um PC existente?

30

Estou executando o Ubuntu Desktop 12.04 e queria saber se era possível, de alguma forma, pegar todo o meu sistema de arquivos (com tudo incluído /) e criar uma ISO a partir dele. Então, talvez, use esse ISO como sistema de arquivos de uma VM VBox (obviamente, teria que ser o Ubuntu e provavelmente 12.04).

Basicamente, passei muito tempo configurando minha máquina de desenvolvimento, mas preciso trabalhar com ela em qualquer computador em que eu esteja. VMs parecem ser a solução perfeita. Desde já, obrigado!

pnongrata
fonte
7
Outra possibilidade (a que meus amigos profissionais recomendam) é organizar todos esses arquivos de configuração de forma que você possa abrir um repositório git, executar um .sh e ter basicamente qualquer máquina deb pronta.
Mikey
Relacionado: superuser.com/questions/438328/…
Caracol mecânico

Respostas:

12

Provavelmente seria mais fácil criar uma VM nova, instalar o Ubuntu nela, fazer backup da sua caixa de desenvolvimento e restaurar o backup na VM. Isso daria a você uma VM que você poderia executar em qualquer máquina em que o VirtualBox esteja ou possa estar instalado.

Dito isso, existe um motivo para você não poder simplesmente abrir o acesso VNC ou SSH à sua caixa de desenvolvimento existente e acessá-lo remotamente? Se possível, essa pode ser uma opção mais simples - pelo menos, você economizará um pouco de sofrimento toda vez que quiser usar a caixa de desenvolvimento de uma nova máquina.

Espero que isto ajude!

Aaron Miller
fonte
Obrigado @ Aaron Miller (+1) - que ferramenta de backup você recomendaria e como funciona? Faz o backup do meu PC inteiro em algum arquivo que pode ser usado para substituir todo o sistema de arquivos na VM? Obrigado novamente!
Pnongrata 01/10/12
1
Feliz por ajudar! Quanto a uma ferramenta de backup - man taré o que eu recomendaria aqui; não é a interface mais acolhedora, talvez, mas se você simplesmente tar / on the dev box (certifique-se de evitar / proc, / sys, / dev e / root através da opção --exclude) e desmarcar o resultado em seu VM, você provavelmente terá sobre o que precisa. (No entanto, eu pensaria seriamente em saber se é possível apresentar o material de desenvolvimento sem tocar no resto - talvez copie / home / nome de usuário e faça o resto via apt, por exemplo. Sempre é melhor fazer o menor quantidade de trabalho necessário, eu digo).
Aaron Miller
2
Embora muito informativa e útil, essa sugestão deve ser um comentário e não uma resposta. Não responde à pergunta.
dotancohen
27

você pode despejar seu hd em uma imagem com dd depois converter a imagem em um vmdk ou qualquer outra coisa.

apt-get install qemu (instala o QEMU no debian / ubuntu)

qemu-img convert imagefile.dd -O vmdk vmdkname.vmdk

retirado de: aqui

d4v3y0rk
fonte
Não sei ao certo se isso vai funcionar, mas +1, e vou tentar.
Mikey
1
Você também pode usar a imagem no VirtualBox. O Ubuntu normalmente instala drivers para vários hardwares (ao contrário do Windows), tornando-os mais portáteis, portanto, isso geralmente funciona.
Caracol mecânico
2
Isso não funcionará apenas. O arquivo / etc / fstab é o arquivo que seu sistema lê para saber quais discos montam onde. Os discos são armazenados por um uuid e, quando você cria um novo disco, isso não será o mesmo. Você precisará editar este arquivo no novo sistema para corrigir isso. Também placas de rede sejam renomeados (que iria acontecer de qualquer maneira.)
korylprince
Também para criar a imagem, você deve executar um live cd com o disco não montado. Armazene a imagem em outro disco.
Nikhil
10

Eu fiz isso anteriormente em uma máquina Windows XP, mas acho que você também pode fazê-lo no Ubuntu. Mas usa vmware, não virtualbox...

Instale vmware-converter(produto gratuito) na sua caixa do Ubuntu. Em seguida, converta o sistema físico em um sistema virtual, após ajustar as configurações.

Depois disso, você terá uma imagem virtualizada que pode ser 'reproduzida' vmplayer.

Luis
fonte
1
O VirtualBox poderá usar VMDKs criados dessa maneira.
bfhd
Não funciona tão bem, você precisa de um servidor VMware na sua rede para o qual exporta a imagem. Não tive sorte com isso.
Nikhil
5

Outra opção pode ser clonar seu sistema operacional em uma imagem de disco do VirtualBox:

vboxmanage createhd --filename foo.vdi --size 10240

modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 foo.vdi

# create a partition (will automatically produce a new device /dev/nbd0p1)
sfdisk -D /dev/nbd0 <<EOF
,,L,
EOF

mkfs -t ext2 /dev/nbd0p1
mount -o loop /dev/nbd0p1 /mnt

# clone your OS
rsync -aH --exclude mnt --exclude dev --exclude proc --exclude sys / /mnt/

# install the boot loader on the virtual disk
mount --bind /dev /mnt/dev
chroot /mnt grub-install /dev/sda

umount /mnt
qemu-nbd -d /dev/nbd0

rmmod nbd
Ansgar Wiechers
fonte
4

Portanto, há uma das duas maneiras de fazer isso. Para criar um ISO diretamente, você deve usar o Remastersys. Esta é uma ferramenta que permitirá criar um ISO do sistema atual. Você pode inicializar o ISO e obter esse ambiente como um LiveCD. Um bom guia pode ser encontrado aqui .

Se você deseja criar um VHD (disco rígido virtual) a partir do disco físico, a única ferramenta que eu conheço seria disk2VHD . Essa é uma ferramenta apenas para Windows. No entanto, você também pode usar a ferramenta Linux dd. Há um bom tutorial para isso encontrado aqui .

prateek61
fonte
4

Copiado de ( http://karim-ouda.blogspot.com/2011/11/how-to-create-virtualbox-image-from.html )

sudo dd if=DRIVE | VBoxManage convertfromraw stdin FILENAME BYTES

Exemplo real

sudo dd if=/dev/sda | VBoxManage convertfromraw stdin MyLinuxImage.vdi 120034123776

Notas:

  1. Para obter o número de bytes na partição, você pode usar o seguinte comando sudo fdisk -l /dev/sda

  2. Você precisa usar / dev / xxx not / dev / xxx1 ou xxx2 para que a imagem contenha registros MBR

ossandcad
fonte
0

Para começar, você pode criar uma imagem de disco usando o utilitário partimage em uma interface da linha de comandos. Depois disso, imagino que você seria capaz de inicializar o recém-criado iso com o VMware.

Usando o Partimage Se você estiver usando o Ubuntu 12.04 ou mesmo 11.04, o Partimage deve estar disponível no centro de software do Ubuntu. Este método de instalação permitirá pesquisar e instalar facilmente o software selecionado.

Etapa 1. Abra o Ubuntu Software Center e localize a barra de pesquisa no canto superior direito da janela. Digite "partimage" na barra de pesquisa e pressione enter. O pacote de software da partimage será o primeiro a ser exibido. Também são retornados desta pesquisa partclone (utilitário para clonar e restaurar uma partição), partimage-server (use partimage em uma rede) e partimage-doc (documentação do usuário da imagem da partição). Você deseja clicar em instalar e deixar o centro de software instalar o pacote para você.

Etapa 2. Abra o Terminal e digite o seguinte comando "sudo partimage", digite sua senha e pressione enter.

Etapa 3. Após digitar sua senha, o aplicativo Partimage deve ser exibido na janela Terminal.

Etapa 4. Compreendendo as opções disponíveis.

* Partition to save/restore -  A list of all available partitions on all drives able to be backed up from or restored to. You may only choose to operate on one partition at a time. 
* Image file to create/use - If creating a new image file enter the path and file name where the created back up will be written. If using an image file to restore a partition or drive enter the path to the mounted drive where the file is located. 
Action to be done: 
    (*) Save partition into a new image file - Choosing this option will tell Partition Image to create a backup .img file from the partition selected in "Partition to save/restore", and write the file to the path entered in "Image file to create/use."
    (  ) Restore partition from an image file - This option will write the image file from the path entered under "Image file to create/use", and write it to the partition and/or drive selected under "Partition to save/restore."
    (   ) Restore an MBR from the image file - This will restore the MBR to the drive selected under "Partition to save/restore" to the image file contained in the path under "Image file to create/use."
[  ] Connect to server - This option will allow you to connect to a remote server to read or write an image file.

Etapa 5. Essa tela é bastante autoexplicativa. Você primeiro deseja selecionar o nível de compactação desejado, se houver. Você também pode alterar como a imagem será dividida durante o processo de gravação. O modo padrão é criar arquivos de 2 GB. A opção final fornece instruções sobre a imagem da peça sobre o que fazer se o trabalho for concluído com êxito. Escolha qual opção é a mais apropriada para sua situação.

http://www.ubuntulinuxguide.com

Paul Stine
fonte
Você já tentou sua solução?
user66001