¡macOS no permite cambiar la secuencia de particiones desde la command-line!

Esta es la list de discos para mi iMac.

enter image description here

Estoy intentando fusionar las particiones macOS y macOS 2 usando diskutil mergePartitions ahora el problema está en ejecutar este command macOS mantendrá los datos en la primera partición que es macOS y borrará todo entre la primera y la última partición (última partición incluida), ahora la última partición es macOS 2.

Quiero preservar la última partición que es macOS 2 y eliminar cada otra partición, así que pensé por qué no include la última partición como la primera partición (en la que deseo conservar los datos) e include la primera partición en el último parámetro, que será borrado.

Aquí es donde ocurre el problema macOS no me permite cambiar la secuencia de la partición

Así que estoy atascado con la fusión de particiones desde la command-line

No quiero usar la utilidad de disco para fusionar particiones porque la última vez que lo usé para fusionar particiones se crearon algunos espacios libres y no se iban a ir hasta y a less que se realizara un formatting de disco completo.

Una cosa más, macOS es el primer volumen en el disco, por lo que no será posible eliminarlo de la utilidad del atardecer utilizando la opción de partición.

¡No puede expandir disk0s4 para networkingucir los numbers de bloques con herramientas integradas! Para "expandir" disk0s4, deberá eliminar disk0s2, agregar una nueva partición con el mismo tamaño y escribir disk0s4 directamente después de disk0s1, todo con gpt , dd disk0s4 a disk0s2, eliminar disk0s3 y disk0s4 con gpt y finalmente expandir disk0s2 con diskutil en el espacio no asignado entre disk0s2 y disk0s5.

En lugar de los dos últimos pasos, también puede usar el diskutil mergePartitions ...

Todo lo que se inició en modo de recuperación de Internet o en una unidad externa con macOS instalado.


  • Arranque en el modo de recuperación de Internet o en una unidad de arranque externa (si no es superusuario, debe anteponer los commands sudo a gpt ... y dd ... .
  • Obtenga una descripción general y compruebe el disco y los volúmenes (repárelos si es necesario):

     diskutil verifyDisk disk0 diskutil verifyVolume disk0s2 diskutil verifyVolume disk0s4 diskutil list gpt -r show disk0 
  • Eliminar disk0s2:

     diskutil umountDisk disk0 gpt remove -i 2 disk0 
  • agrega una partición con el mismo tamaño que disk0s3

     diskutil umountDisk disk0 gpt add -i 2 -b 409640 -s 485642672 -t 48465300-0000-11AA-AA11-00306543ECAC disk0 
  • copy disk0s4 en disk0s2:

     diskutil umountDisk disk0 dd if=/dev/disk0s4 of=/dev/disk0s2 bs=4m 
  • fusionar disk0s2-disk0s4 y cambiar el nombre de macOS 2 a macOS :

     diskutil mergePartitions HFS+ "macOS" disk0s2 disk0s4 

Como los volúmenes son aproximadamente del mismo tamaño, puede usar la aplicación Disk Utility para "Restaurar" el volumen de macOS volumen de macOS 2 . Básicamente, tendrás duplicado macOS 2 . Luego puede eliminar disk0s4 y expandir disk0s2 para recuperar el espacio libre.

Todas estas operaciones se pueden realizar utilizando la aplicación Disk Utility.

Si desea utilizar la línea de command, este es el command para clonar el volumen labeldo como "macOS 2".

 sudo asr restre --source "/Volumes/macOS 2" --target /Volumes/macOS --erase 

Nota: El command anterior también clona /dev/disk0s5 a /dev/disk0s3 .

El command para eliminar /dev/disk0s4 y expandir /dev/disk0s2 se proporciona a continuación.

 diskutil mergePartitions FREE "" disk0s2 disk0s4 

Nota: El command anterior también elimina /dev/disk0s5 y reubica /dev/disk0s3 para que esté debajo del /dev/disk0s2 .

La operación de clonación / restauración podría realizarse mientras se arranca desde /dev/disk0s5 . La operación de fusión podría realizarse mientras se inicia en /dev/disk0s2 .