créer une image .vdi de ma debian

bonjour,
j’aimerais savoir si il est possible de créer une image .vdi de ma Debian pour faire quelques test en virtualbox ?
Si oui comment faire ?
Et si non ou puis-je en trouver une de déjà faite car faire une installation en virtualbox prendrais trop de temps pour pas grand chose.
Merci d’avance

Je penses pas, en tous cas je sais pas.

Pour développer ta question.
Tu as besoin d’un système normal ou ton propre système avec tes config spéciale dessus.

Car si tu as juste besoin dun système normal, tu aurais déjà fini de faire l’installation sous virtualbox que trouver une réponse en contre temps ici.

oui je cherche juste un système normal (ou bien le mien).
Quand je vais sur des cites comme www.virtualboxes.com/images je ne trouve que des debian 5 et non des 6.

Bien entendu, tu peux copier une installation existante vers une machine virtuelle.
Ce sera de toute évidence plus compliqué que de faire une installation simple.
Sans entrer dans les détails exacts, il te faut un OS linux sur une machine virtuelle (un knoppix fait l’affaire), un disque virtuel supplémentaire pour y déposer la copie de l’installation existante, un point de communication avec la machine hôte (ssh, nfs,rsync …), y faire transiter la sauvegarde ou la copie instantanée de l’installation originale, réinstaller grub, retoucher /etc/fstab.
Lorsque tu as cloné l’installation, tu crées une nouvelle machine virtuelle à laquelle tu attaches le second disque seul détaché de la machine virtuelle précédente en prenant soin de régler les préférences du matériel virtuel ( type de cpu, eth0, audio …).

Pas besoin de tout ça dans la VM, tout devrait pouvoir se faire VM éteinte : le paquet virtualbox-fuse (outil vdfuse) permet de monter un .vdi, ensuite il n’y a “plus qu’à” cloner l’installation courante sur le .vdi (partie que tu as également expliquée donc je vais pas répéter). :wink:

+1

Oui, sur un .vdi partitionné et doté de fs. Non sur un .vdi brut. Il ne serait pas possible de faire ça sur un .vdi brut sans partitions ni fs. Il faudrait les créer pour l’occasion. Le knoppix dans la machine virtuelle peut aussi servir à tailler les partitions et à les formater.

Peut-on partitionner un fichier brut .vdi grâce à virtualbox-fuse ? Je ne sais pas, je n’ai jamais essayé de partitionner de fichier .vdi brut hors de machines virtuelles …

[quote=“etxeberrizahar”]Oui, sur un .vdi partitionné et doté de fs. Non sur un .vdi brut. Il ne serait pas possible de faire ça sur un .vdi brut sans partitions ni fs. Il faudrait les créer pour l’occasion.
[…]
Peut-on partitionner un fichier brut .vdi grâce à virtualbox-fuse ? Je ne sais pas, je n’ai jamais essayé de partitionner de fichier .vdi brut hors de machines virtuelles …[/quote]
D’après le man, je pense qu’on peut exploiter le fichier EntireDisk pour ça (après tout, tout est fichier y compris les /dev/sd… donc aucune raison que ça ne fonctionne pas avec un fichier situé ailleurs).

Je vais tester et te dire ça précisément. :wink:

Donc je confirme, ça marche très bien… :wink: Par contre l’installation de Grub risque d’être délicate car ça ne correspond à aucun disque physique. À moins d’un gros coup de chance on devrait n’avoir que la ligne de commande Grub une fois la VM démarrée (ce qui ne devrait pas empêcher de booter, en saisissant les bonnes commandes Grub, puis de réinstaller Grub proprement).

[code]$ mkdir test && cd test
$ VBoxManage createhd --filename test.vdi --size 4096
0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Disk image created. UUID: 4c0b7ce7-4679-4e8b-b729-d687eb8e3964
$ mkdir vdfuse
$ mkdir fs
$ ls
fs test.vdi vdfuse
$ vdfuse -f test.vdi vdfuse/
$ ls vdfuse/
EntireDisk
$ /sbin/fdisk vdfuse/EntireDisk
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xd07fa1cf.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won’t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): p

Disk vdfuse/EntireDisk: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd07fa1cf

        Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1):
Using default value 1
First sector (2048-8388607, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607):
Using default value 8388607

Command (m for help): p

Disk vdfuse/EntireDisk: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xd07fa1cf

        Device Boot      Start         End      Blocks   Id  System

vdfuse/EntireDisk1 2048 8388607 4193280 83 Linux

Command (m for help): w
The partition table has been altered!

Syncing disks.
$ ls vdfuse/
EntireDisk Partition1
$ /sbin/mkfs.ext4 vdfuse/Partition1
mke2fs 1.42.5 (29-Jul-2012)
vdfuse/Partition1 n’est pas un périphérique spécial en mode bloc.
Procéder malgré tout ? (o,n) o
Étiquette de système de fichiers=
Type de système d’exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
« Stride » = 0 blocs, « Stripe width » = 0 blocs
262144 i-noeuds, 1048320 blocs
52416 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=1073741824
32 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
8192 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocation des tables de groupe : complété
Écriture des tables d’i-noeuds : complété
Création du journal (16384 blocs) : complété
Écriture des superblocs et de l’information de comptabilité du système de
fichiers : complété

$ su
Mot de passe :

mount -o loop vdfuse/Partition1 fs

ls fs

lost+found

umount fs

exit

$ fusermount -u vdfuse[/code]