Creé una imagen de disco con capacidad de escritura más grande de lo necesario, copié el contenido en ella y luego reduje la partición con diskutil resizeVolume
.
Esto dejó un gran vacío al final de la tabla de particiones:
MEDIA: ""; Size 20 GB [41943040 x 512]; Max Transfer Blocks 2048
SCHEME: 1 APM, "Apple Partition Scheme" [1]
SECTION: 1 Type:'MAP'; Size 20 GB [41943040 x 512]; Offset 1 Blocks (41943039 + 1) x 512
ID Type Offset Size Name (4)
-- -------------------- ------------ ------------ -------------------- --------
1 Apple_partition_map 1 63 Apple
2 Apple_Free 64 262144 Explicit Record
3 Apple_HFS 262208 25941040 disk image
4 Apple_Free 26203248 15739792 Explicit Record
No consigo averiguar cómo eliminar este hueco y reducir la imagen de disco al tamaño mínimo. El comando obvio no hace nada (con o sin -nofinalgap
):
hdiutil resize -sectors min image.dmg
Incluso puedo editar el archivo con un editor hexadecimal para cambiar el recuento de particiones, lo que resulta en esta tabla de particiones (nota Free
no Apple_Free
), pero aún así no consigo averiguar cómo eliminar el espacio libre.
ID Type Offset Size Name (3)
-- -------------------- ------------ ------------ -------------------- --------
1 Apple_partition_map 1 63 Apple
2 Apple_Free 64 262144 Explicit Record
3 Apple_HFS 262208 25941040 disk image
Free 26203248 15739792