¡macOS no permite cambiar la secuencia de particiones desde la línea de comandos!

Esta es la lista de discos de mi iMac.

ingrese la descripción de la imagen aquí

Estoy tratando de fusionar las particiones macOS y macOS 2 usando diskutil mergePartitions ahora el problema está en ejecutar este comando 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 conservar la última partición que es macOS 2 y eliminar todas las demás particiones, así que pensé por qué no incluir la última partición como la primera partición (en la que quiero conservar los datos) e incluir 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 línea de comandos

No quiero usar la utilidad de disco para fusionar particiones porque la última vez que la usé para fusionar particiones se crearon algunos espacios libres y no desaparecieron hasta que se realizó un formato de disco completo.

Una cosa más: macOS es el primer volumen en el disco, por lo que no se eliminará de la utilidad de anochecer usando la opción de partición

Respuestas (2)

¡No puede expandir disk0s4 para reducir el número de bloques con herramientas integradas! Para "expandir" disk0s4, tendría que eliminar disk0s2, agregar una nueva partición con el mismo tamaño y tipo que disk0s4 directamente después de disk0s1 todo con, gptdisk0s4 dda disk0s2, eliminar disk0s3 y disk0s4 con gpty finalmente expandir disk0s2 con diskutilen el espacio no asignado entre disk0s2 y disk0s5.

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

Todo eso se inició en el 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 un superusuario, debe anteponer los sudocomandos y gpt ....dd ...
  • Obtenga una descripción general y verifique el disco y los volúmenes (repare 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
    
  • agregue 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
    
  • copiar disk0s4 a disk0s2:

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

    diskutil mergePartitions HFS+ "macOS" disk0s2 disk0s4 
    
Pegaré el resultado del comando gpt para comprender mejor los pasos. ¡Estoy confundido y no quiero borrar nada en confusión!
¡Péguelo como texto (no como captura de pantalla)!
Aquí está la salida pastebin.com/ud17Ribf
Después de toda la fusión cuando inicié el sistema operativo, recibí un ícono de grupos y un cuadro de diálogo de nombre de usuario y contraseña en blanco. ¡No sé qué ingresar!
¿Tu antiguo nombre de usuario y contraseña de macOS 2?
¡Mis dos particiones tenían macOS con el usuario root habilitado! Ambos tenían diferentes nombres de usuario y contraseñas, estoy escribiendo tanto contraseñas como nombres de usuario y no se acepta nada.
Luego "root" y su contraseña de root
Estoy escribiendo eso, pero macOS no lo acepta y no veo el Avatar predeterminado que tenía para mi nombre de usuario en lugar de eso, hay un ícono de grupos y usuarios.
Root fue aceptado!
¡Pero no veo mis archivos y toda mi configuración personalizada se ha revertido a la configuración predeterminada!

Dado que los volúmenes tienen aproximadamente el mismo tamaño, puede usar la aplicación Utilidad de disco para "restaurar" el macOSvolumen desde el macOS 2volumen. Básicamente habrás duplicado macOS 2. Luego puede eliminar disk0s4y expandir disk0s2para recuperar el espacio libre.

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

Si desea utilizar la línea de comandos, este es el comando para clonar el volumen con la etiqueta "macOS 2".

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

Nota: El comando anterior también clona /dev/disk0s5a /dev/disk0s3.

El comando para eliminar /dev/disk0s4y expandir /dev/disk0s2se da a continuación.

diskutil mergePartitions FREE "" disk0s2 disk0s4  

Nota: El comando anterior también elimina /dev/disk0s5y reubica /dev/disk0s3para estar debajo del archivo /dev/disk0s2.

La operación de clonación/restauración se puede realizar mientras se arranca desde /dev/disk0s5. La operación de combinación se puede realizar mientras se arranca en /dev/disk0s2.

Me gustaría mucho saber cómo hacer esto desde la propia Utilidad de Discos. No veo ninguna forma obvia más allá de crear una imagen de disco del segundo volumen y restaurarlo al primero.
No importa, una vez que inicié en modo de recuperación, veo que puede restaurar una partición directamente desde otra. ¡Muy genial!