¿Cuál es la mejor manera de clonar un disco entre dos Mac?

22

¿Cuál es la mejor manera de clonar un disco entre dos Mac? Le pregunto esto cada dos años más o menos y cada vez que obtengo la misma respuesta. "Utilice Carbon Copy Cloner ", dicen. Pero el hecho desafortunado es que CCC es una copia de nivel de archivo entre discos. Cuando migro a mi nueva Mac, estoy seguro de que todos los archivos están ahí, pero hay algunas peculiaridades aquí y allá (incluyendo fechas de archivo diferentes, etc.).

Entonces, realmente ahora, una vez más: ¿cómo clonar el disco sobre byte por byte?

    
pregunta erotsppa 27.03.2012 - 20:24

7 respuestas

43

Puede utilizar el dd comando para hacer un clon perfecto de un disco. Es una herramienta de línea de comandos que se incluye con OS X. Para hacer que el clon sea perfecto, deberá asegurarse de que la fuente y el destino no estén en uso.

Para prepararme para el clon, recomiendo crear un disco de arranque secundario desde el que pueda arrancar. Su fuente para el clon debe ser un volumen fuera de línea, no en uso, cuando está haciendo la copia. De lo contrario, se arriesga a copiar cosas que están en estados incompletos en el disco.

Con su máquina iniciada en su disco de arranque secundario, inicie sesión y abra una ventana de Terminal o iTerm.

Ejecute diskutil para obtener una lista de sus Unidades disponibles. Uno de ellos será tu unidad de destino que estás intentando clonar. El otro será tu disco de origen. Por ejemplo:

> diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *320.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            319.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3       
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Backup                  499.8 GB   disk1s2
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk2
   1:                        EFI                         209.7 MB   disk2s1
   2:                  Apple_HFS Clone                   499.8 GB   disk2s2

Digamos que Macintosh HD es la fuente y Clone es el objetivo para nuestra operación dd . Comienza el clon con:

> sudo dd if=/dev/rdisk0 of=/dev/rdisk2 bs=1m conv=noerror,sync

Cuando dd finalice, es posible que vea un error como este:

dd: /dev/rdisk2: short write on character device
dd: /dev/rdisk2: Input/output error
3726+1 records in
3726+1 records out
500107862016 bytes transferred in 14584.393113 secs (34290619 bytes/sec)

El último mensaje de error está bien. El último bloque escrito fue un bloque corto porque no había un bloque completo de 1 MB para copiar. No te preocupes.

Ahora tienes un clon perfecto de tu unidad Macintosh HD . ¡Reinicie su sistema con la unidad Macintosh HD y disfrute de su clonación!

    
respondido por el Ian C. 27.03.2012 - 21:17
13

La utilidad de línea de comandos personalizada de Apple para realizar la clonación de discos es asr .

Se adapta a las necesidades específicas de OS X para realizar archivo a archivo, así como a imágenes basadas en bloque y se ocupa de las diferencias en los tamaños de partición, permite la transmisión en red (e incluso la transmisión en multicast), así como la copia entre discos que están localmente conectado. A diferencia de dd , conoce la administración de volúmenes de Core Storage más reciente de Apple y es el programa al que llama la Utilidad de Discos gráfica para mover datos de una partición o volumen a otra.

Puedes leer más en la página de manual para asr .

    
respondido por el bmike 05.01.2014 - 03:55
8

La Utilidad de Discos puede hacer una clonación de volumen a volumen con la pestaña Restaurar. Entre dos volúmenes extendidos de Mac OS, esto hará una copia en bloque, es decir, simplemente copiará las estructuras del volumen, de modo que todos los archivos salgan idénticos (hasta los números de ID de archivo). Esto es esencialmente lo mismo que hace dd , excepto que la Utilidad de Discos puede expandir / contraer el volumen si el destino no tiene exactamente el mismo tamaño que la fuente, y es mucho más rápido (por alguna razón, dd es bastante lento en OS X).

EDITAR: Después de ver la nota de @ Ian sobre la velocidad usando / dev / rdiskN vs. / dev / diskN, corrí algunos puntos de referencia sucios y rápidos copiando entre dos unidades flash de 4GB:

dd using /dev/diskN: 2737 seconds
dd using /dev/rdiskN: 907 seconds
Disk Util, full volume: 840 seconds to copy + 213 seconds to verify
Disk Util, empty volume: 4 seconds to copy + 1 second to verify

Así que parece que la sugerencia de rdisk hace que dd se ejecute casi a la misma velocidad que la Utilidad de Disco; las diferencias reales son que la Utilidad de Disco verifica sus datos (más lento, pero tal vez más seguro) y salta el espacio en blanco (más rápido si el disco no está casi lleno). Eso, y como dije anteriormente, puede cambiar el tamaño de DU, ya que se copia.

    
respondido por el Gordon Davisson 27.03.2012 - 21:38
7

Salida detallada desde dd a través de pv

Copiarinclusoundiscopequeñopuedellevarmuchotiempoyelsilenciopuedeserfrustrante.Siinstala pv (visor de tuberías) puede usarlo para monitorear el progreso de cualquier flujo.

Si está utilizando homebrew (y debería estarlo), instalar pv es tan fácil como:

brew install pv

Luego decide qué discos quieres copiar.

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage SSD                     250.1 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            SSD                    +249.8 GB   disk1
                                 Logical Volume on disk0s2
                                 2CFBB247-D59D-474F-8467-2B1BDB275524
                                 Unencrypted

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk2
   1:             Windows_FAT_32 boot                    43.0 MB    disk2s1
   2:                      Linux                         15.5 GB    disk2s2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk3
   1:             Windows_FAT_32 NO NAME                 15.6 GB    disk3s1

En este caso, /dev/disk2 es una tarjeta Micro SD de mi Raspberry Pi en el lector interno y /dev/disk3 es una nueva MicroSD en un dongle USB.

El comando para copiarlo será muy similar a los comandos comunes dd , pero vamos a aprovechar el hecho de que of (archivo de salida) toma como valor predeterminado los valores predeterminados de STDOUT y if (archivo de entrada) a STDIN. Esto le permite utilizar canalizaciones de unix entre ellas.

# I'm going to define variables to make your copy-paste easier
SRC=/dev/rdisk2
DST=/dev/rdisk3

# This is the command you want
sudo dd bs=1m if=$SRC | pv | sudo dd bs=1m of=$DST

# Notice how similar this is to doing a simple
sudo dd bs=1m if=$SRC |      sudo dd bs=1m of=$DST

# ...which is functionally identical to
sudo dd bs=1m if=$SRC                      of=$DST

# (except 2 processes vs. 1)

La salida real se ve como:

dd bs=1m if=/dev/zero count=16000 | pv | dd bs=1m of=/dev/null
16GiB 0:00:06 [2.46GiB/s] [       <=>                                          ]
    
respondido por el Bruno Bronosky 15.05.2017 - 18:14
4

Carbon Copy Cloner fue bueno, pero en mi Mac Pro ya no se podían hacer clones de arranque, lo intenté 3 veces y todos los clones no se iniciaron a diferencia del anterior. ¡Así que me cambié a SuperDuper! y ese clon arrancó bien

    
respondido por el Jigs 02.02.2013 - 17:29
0

¿Qué tal un buen estilo de moda? dd . Puede hacer una copia bit a bit de su disco. Hay muchas guías sobre cómo hacerlo, como esta o this

    
respondido por el binarybob 27.03.2012 - 21:08
-3

Hay dos tipos de clonación de disco Mac. Nivel de archivo y clonación basada en nivel de bloque. Como sabemos, Carbon Copy Cloner puede crear clones basados solo en el nivel de archivo y es uno de los grandes competidores. Superduper puede crear clones de volúmenes y particiones, pero no todo el disco. Por lo tanto, sugeriré ir a por un nuevo software emergente de clonación de Mac que es capaz de clonar Stellar Drive tanto para la clonación a nivel de archivo como a nivel de bloque.

También puede crear una copia exacta bit a bit de toda su unidad y volúmenes particulares en cualquier unidad externa, volumen y unidad de red. Puede crear una copia de la unidad en la carpeta y restaurar copias de seguridad desde la misma en su función de versión de demostración gratuita. Puede crear un clon de HD de recuperación y admitir formatos de archivo de ventana, MBR, ExFAT, FAT32, etc. en tu Mac.

    
respondido por el Crestine 04.09.2013 - 09:08

Lea otras preguntas en las etiquetas