¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Resizing a QEMU raw image with an NTFS filesystem
Esta es una guía rápida para aumentar el espacio en disco disponible para su máquina virtual de Windows con un sistema de archivos NTFS. El ejemplo se basa en aumentar una partición de 5 GB a 6 GB.
Use qemu-img para cambiar el tamaño de la imagen de disco raw QEMU
Este comando aumenta el tamaño de la imagen de disco en el archivo Windows_XP_Professional_SP_3.img en 1 GB.
qemu-img redize Windows_XP_Professional_SP_3.img + 1G
Después de este comando, si inicia su máquina virtual, verá que hay 1 GB adicional de espacio libre en el disco disponible.
Encuentra el desplazamiento en la imagen
Montar en bucle la imagen.
losetup / dev / loop0 Windows_XP_Professional_SP_3.img
Inspeccione la tabla de particiones (aquí se usa parted pero también se puede usar fdisk o cfdisk).
parted / dev / loop0
Dentro de parted, configure las unidades en sectores, luego vea la tabla de particiones actual.
(parted) unit s (parted) print
The output will look something like this:
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
Tenga en cuenta el tamaño del sector y los números de sector de inicio en la salida. Ahora sal de parted.
(parted) quit
Elimina el dispositivo loop.
losetup -d / dev / loop0
Use ntfsresize para cambiar el tamaño de la partición NTFS
Montar la partición NTFS en loop para cambiar el tamaño, utilizando un desplazamiento calculado a partir del tamaño del sector y el sector de inicio.
losetup -o $ ((512 * 63)) / dev / loop0 Windows_XP_Professional_SP_3.img
Ejecuta una prueba antes de proceder.
ntfsresize -n -s 6G / dev / loop0
Si todo está bien, hazlo de verdad.
ntfsresize -s 6G / dev / loop0
Eliminar el dispositivo loop.
losetup -d / dev / loop0
Actualizar la tabla de particiones
Montar en loop la imagen.
losetup / dev / loop0 Windows_XP_Professional_SP_3.img
Actualice la tabla de particiones usando parted (tanto fdisk como cfdisk parecen fallar aquí).
parted / dev / loop0
Esto parece un paso hacia atrás, pero ahora use parted para eliminar la partición existente.
(parted) rm 1
Use el comando parted rescue para volver a encontrar la partición, con la opción FIN establecida en el tamaño de la partición en MB.
(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
Setear el flag boot en la particion de rescate.
(parted) set 1 boot on
La tabla de particiones se escribe al salir de parted.
(parted) quit
Eliminar el dispositivo de loop.
losetup -d / dev / loop0
Finish up
Boot the virtual machine and allow the Windows chkdsk program to run.
Sources
* Original source: http://cauldrondevelopment.com/blog/2009/02/26/resize-qemu-ntfs-image/