Est-il possible de «virtualiser» un PC existant?

30

J'utilise Ubuntu Desktop 12.04, et je me demandais s'il était possible de prendre mon système de fichiers en entier (tout en dessous /) et de créer une image ISO à partir de celui-ci. Ensuite, peut-être, utilisez cette ISO comme système de fichiers d'une machine virtuelle VBox (évidemment, il faudrait que ce soit Ubuntu, et probablement 12.04).

Fondamentalement, j'ai passé beaucoup de temps à configurer ma machine de développement, mais je dois pouvoir y travailler à partir de n'importe quel ordinateur sur lequel je me trouve. Les machines virtuelles semblent être la solution parfaite. Merci d'avance!

pnongrata
la source
7
Une autre possibilité (celle que mes amis professionnels recommandent) est d'organiser tous ces fichiers de configuration de manière à pouvoir dérouler un dépôt git, exécuter un .sh et avoir pratiquement n'importe quelle machine deb prête à l'emploi.
Mikey
Connexes: superuser.com/questions/438328/…
mécanique

Réponses:

12

Il serait probablement plus facile de créer une nouvelle machine virtuelle, d'installer Ubuntu dessus, puis de sauvegarder votre boîte de développement et de restaurer la sauvegarde sur la machine virtuelle. Cela vous donnerait une machine virtuelle que vous pourriez exécuter sur n'importe quelle machine sur laquelle VirtualBox est ou pourrait être installée.

Cela dit, y a-t-il une raison pour laquelle vous ne pouvez pas simplement ouvrir l'accès VNC ou SSH à votre boîte de développement existante et y accéder à distance? Si possible, cela pourrait bien être une option plus simple - au moins, cela vous éviterait des souffrances à chaque fois que vous souhaitez utiliser la boîte de développement d'une nouvelle machine.

J'espère que cela t'aides!

Aaron Miller
la source
Merci @Aaron Miller (+1) - quel outil de sauvegarde pourriez-vous recommander et comment cela fonctionne-t-il? Est-ce que tout mon PC est sauvegardé dans un fichier qui peut ensuite être utilisé pour écraser tout le système de fichiers sur la machine virtuelle? Merci encore!
pnongrata
1
Heureux d'avoir pu aider! Quant à un outil de sauvegarde - man tarest ce que je recommanderais ici; ce n'est peut-être pas l'interface la plus accueillante, mais si vous tarez / sur la boîte de développement (en évitant / proc, / sys, / dev et / root via l'option --exclude) et décompressez le résultat sur votre VM, vous aurez probablement ce dont vous avez besoin. (Cependant, je réfléchirais sérieusement à votre place pour savoir s'il est possible de simplement faire passer le développement sans toucher au reste - peut-être copier / home / nom d'utilisateur à travers et faire le reste via apt, par exemple. Toujours mieux de faire le le moins de travail nécessaire, dis-je.)
Aaron Miller
2
Bien que très informative et utile, cette suggestion devrait être un commentaire et non une réponse. Cela ne répond pas à la question.
dotancohen
27

vous pouvez vider votre hd dans une image avec ddpuis convertir l'image en vmdk ou autre.

apt-get install qemu (installe QEMU sur debian / ubuntu)

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

extrait de: ici

d4v3y0rk
la source
Je ne sais pas avec certitude si cela fonctionnera, mais +1 et je vais essayer.
Mikey
1
Vous pouvez également utiliser l'image dans VirtualBox. Ubuntu installe normalement des pilotes pour divers matériels (contrairement à Windows), ce qui le rend plus portable, donc cela fonctionnera généralement.
Escargot mécanique
2
Cela ne fonctionnera pas seulement. Le fichier / etc / fstab est le fichier que votre système lit pour savoir quels disques monter où. Les disques sont stockés par un uuid, et lorsque vous créez un nouveau disque, ce ne sera pas le même. Vous devrez modifier ce fichier sur le nouveau système pour résoudre ce problème. Les cartes réseau seront également renommées (ce qui arriverait de toute façon.)
korylprince
De plus, pour créer l'image, vous devez exécuter un CD live avec le disque non monté. Stockez l'image sur un autre disque.
nikhil
10

Je l'ai déjà fait sur une machine Windows XP, mais je suppose que vous pouvez également le faire dans Ubuntu. Mais il utilise vmware, non virtualbox...

Installez vmware-converter(produit gratuit) dans votre boîte Ubuntu. Convertissez ensuite le système physique en système virtuel, après avoir modifié les paramètres de configuration.

Après cela, vous avez votre image virtualisée qui peut être «jouée» avec vmplayer.

Luis
la source
1
VirtualBox pourra utiliser des VMDK créés de cette manière.
bfhd
Cela ne fonctionne pas si bien, vous avez besoin d'un serveur vmware sur votre réseau vers lequel il exporte l'image. Je n'ai pas eu de chance avec ça.
nikhil
5

Une autre option pourrait être de cloner votre système d'exploitation dans une image disque 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
la source
4

Il y a donc deux façons de procéder. Pour créer un ISO directement, vous devez utiliser Remastersys. Il s'agit d'un outil qui vous permettra de créer une image ISO du système actuel. Vous pouvez ensuite démarrer l'ISO et obtenir cet enviornemtn en tant que LiveCD. Un bon guide peut être trouvé ici .

Si vous voulez créer un VHD (disque dur virtuel) à partir du disque physique, le seul outil que je connaisse serait disk2VHD . Il s'agit d'un outil Windows uniquement. Cependant, vous pouvez également utiliser l'outil Linux dd. Il existe un bon tutoriel pour cela ici .

prateek61
la source
4

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

sudo dd if=DRIVE | VBoxManage convertfromraw stdin FILENAME BYTES

Exemple réel

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

Remarques:

  1. Pour obtenir le nombre d'octets dans la partition, vous pouvez utiliser la commande suivante sudo fdisk -l /dev/sda

  2. Vous devez utiliser / dev / xxx et non / dev / xxx1 ou xxx2 pour que l'image contienne des enregistrements MBR

ossandcad
la source
0

Pour commencer, vous pouvez créer une image disque à l'aide de l'utilitaire partimage dans une interface de ligne de commande. Après cela, j'imagine que vous pourrez démarrer l'iso nouvellement créé avec VMware.

Utilisation de Partimage Si vous utilisez Ubuntu 12.04 ou même 11.04, Partimage doit être disponible à partir du centre logiciel Ubuntu. Cette méthode d'installation vous permettra de rechercher et d'installer facilement le logiciel sélectionné.

Étape 1. Ouvrez l'Ubuntu Software Center et localisez la barre de recherche dans le coin supérieur droit de la fenêtre. Tapez "partimage" dans la barre de recherche puis appuyez sur entrée. Le progiciel partimage sera le premier à s'afficher. Les résultats de cette recherche sont également partclone (utilitaire pour cloner et restaurer une partition), partimage-server (utiliser partimage sur un réseau) et partimage-doc (documentation utilisateur de l'image de partition). Vous voudrez cliquer sur installer et laisser le centre logiciel installer le package pour vous.

Étape 2. Ouvrez Terminal et entrez la commande suivante "sudo partimage", puis entrez votre mot de passe et appuyez sur Entrée.

Étape 3. Après avoir entré votre mot de passe, l'application Partimage devrait s'afficher dans la fenêtre Terminal.

Étape 4. Comprendre les options disponibles.

* 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.

Étape 5. Cet écran est assez explicite. Vous devrez d'abord sélectionner le niveau de compression souhaité, le cas échéant. Vous pouvez également modifier la façon dont l'image sera divisée pendant le processus d'écriture. Le mode par défaut consiste à créer un fichier 2 Go. L'option finale donne des instructions à l'image de la pièce sur ce qu'il faut faire si elle termine le travail avec succès. Choisissez l'option qui convient le mieux à votre situation.

http://www.ubuntulinuxguide.com

Paul Stine
la source
Avez-vous essayé votre solution?
user66001