====== Redimensionner une Image RAW QEMU Comportant un Système de Fichiers NTFS ======
C'est un guide rapide pour augmenter l'espace disponible de votre machine virtuelle Windows munie d'un système de fichiers NTFS. L'exemple s'appuie sur le redimensionnement d'une partition de 5Go à 6Go.
Sauvegardez votre fichier original au cas où quelque chose ne se déroulerait pas bien.
===== Utiliser qemu-img pour redimensionner l'image disque RAW de QEMU =====
Cette commande augmente la taille de l'image-disque du fichier Windows_XP_Professional_SP_3.img d'1Go.
qemu-img resize Windows_XP_Professional_SP_3.img +1G
Après cette commande, si vous démarrez votre machine virtuelle, vous verrez 1Go d'espace libre supplémentaire.
===== Trouver l'offset dans l'image =====
Monter l'image en mode loop.
losetup /dev/loop0 Windows_XP_Professional_SP_3.img
Regarder la table de partition (ici parted est utilisé mais fdisk ou cfdisk peuvent également être utilisés).
parted /dev/loop0
Dans parted, sélectionnez l'unité sur secteurs puis afficher la table de partition actuelle.
(parted) unit s
(parted) print
La sortie devrait ressembler à quelque chose comme ça:
Model: Loopback device (loopback)
Disk /dev/loop0: 12582912s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 63s 11718798s 11718736s primary ntfs boot
Notez les valeurs du début (Start) et de la taille (Size) du secteur.
Puis quittez parted.
(parted) quit
Supprimer le device loop.
losetup -d /dev/loop0
===== Utiliser ntfsresize pour redimensionner la partition NTFS =====
Monter la partition NTFS en mode loop pour la redimensionner; calculez l'offset d'après les valeurs sector size et start sector.
losetup -o$((512*63)) /dev/loop0 Windows_XP_Professional_SP_3.img
Faites un test.
ntfsresize -n -s 6G /dev/loop0
Si tout est OK, faites le pour de vrai.
ntfsresize -s 6G /dev/loop0
Supprimer le loop device.
losetup -d /dev/loop0
===== Mettre à Jour la table de partition =====
Monter l'image en mode loop.
losetup /dev/loop0 Windows_XP_Professional_SP_3.img
Mettez à jour la table de partition en utilisant parted (fdisk et cfdisk semble ne pas fonctionner ici).
parted /dev/loop0
Cela semble être un pas en arrière mais maintenant utilisez parted pour supprimer la partition existante.
(parted) rm 1
Utilisez la command rescue de parted pour retrouver la partition, entrez la taille de la partition en Mo avec l'option END
(parted) rescue 1 6000
Information: A ntfs primary partition was found at 32.3kB -> 6000MB. Do you want to add it to the partition table?
Yes/No/Cancel? Yes
Ajoutez l'option boot sur la partition récupérée.
(parted) set 1 boot on
La table de partition sera sauvegardée lorsque vous quitterez parted
(parted) quit
Supprimez le loop device.
losetup -d /dev/loop0
===== Cloturer =====
Démarrez la machine virtuelle et laissez le programme chkdsk de Windows se lancer.
====== Sources ======
* Source originale : [[http://cauldrondevelopment.com/blog/2009/02/26/resize-qemu-ntfs-image/]]
{{tag>fr:howtos Resize QEMU raw image NTFS filesystem author_allend translator_cedric }}