Restaurando una tarjeta SD usando un DMG con múltiples particiones

4

Tengo una distribución de Linux que instalé en una tarjeta SD. Una vez finalizada la larga instalación, creé una copia de seguridad DMG de todas las particiones utilizando la utilidad de disco integrada de Mac. La imagen de recuperación tiene actualmente un tamaño de 865.5MB y parece contener la información correcta.

Actualmente estoy intentando restaurar esta imagen en otra tarjeta SD para garantizar que el proceso de recuperación funcione correctamente. Para realizar esta acción, ingresé a la utilidad de disco en la pestaña de restauración e ingresé los campos correspondientes. Seleccioné el archivo de recuperación DMG como origen mientras seleccionaba el compartimento de la tarjeta SD como destino. Parecía que todo funcionaba, ya que el administrador de discos me preguntaba si estaba bien borrar completamente la tarjeta SD y mi contraseña de root para los permisos. Sin embargo, mi victoria duró poco, ya que enseguida me mostró este error: Recovery Error: Could not validate source - Invalid argument . Supuse que la fuente era incorrecta, así que intenté abrir el DMG y proporcionar la unidad virtual como la fuente. Sin embargo, el mismo error persiste.

Dado que esta tarjeta contiene tres particiones, una de ellas es una partición de inicio bendecida, me gustaría ver si hay alguna forma de que mi Mac genere estas para mí. Dado que la utilidad de disco archivó la tarjeta SD completa con particiones, supongo que tiene una forma de recuperarla en la otra dirección.

Registros completos de la Utilidad de Disco:

2013-01-23 19:02:27 -0500: Restore Disk
2013-01-23 19:02:27 -0500:  Source: “Raspbian.dmg”
2013-01-23 19:02:27 -0500:  Destination: “APPLE SD Card Reader Media”
2013-01-23 19:02:27 -0500:  Erase Destination: Yes
2013-01-23 19:02:27 -0500:  Erase “APPLE SD Card Reader Media” and copy the contents of “Raspbian.dmg” to it.
2013-01-23 19:02:27 -0500: 
2013-01-23 19:02:27 -0500: Starting Restore…
2013-01-23 19:02:27 -0500: Validating target...
2013-01-23 19:02:27 -0500: done
2013-01-23 19:02:27 -0500: Validating source...
2013-01-23 19:02:27 -0500: Could not detect format of volume on device ""
2013-01-23 19:02:27 -0500: Could not validate source - Invalid argument
2013-01-23 19:02:27 -0500: Could not validate source - Invalid argument
2013-01-23 19:02:27 -0500: 
    
pregunta jakebird451 24.01.2013 - 00:53

2 respuestas

7

Utilice la herramienta de línea de comandos dd.

  • montar el SD
  • Usar "Utilidad de disco": seleccione el nivel superior de la SD tarjeta y "obtener información". Tenga en cuenta el "Identificador de disco" (ejemplo disk13)
  • Desmonte todo el volumen en la SD, si están montados, pero NO extrajo la tarjeta SD. Esto es importante porque el dd fallará si detecta cualquier volumen montado.

En la Terminal:

  • Si no estás en una cuenta de administrador, usa "su (nombre de cuenta de administrador)" para obtener la autoridad de administrador
  • sudo dd if=/path/to/DMG/file of=/dev/(disk identifier from above) bs=16k

Luego espere un largo tiempo para que se complete la operación. En una copia de 4 GB que realicé recientemente en una tarjeta CF, tardé 21 minutos en finalizar.

Eventualmente obtendrá 3 líneas indicando registros en & fuera y bytes copiados. Ejemplo:

243528+1 records in
243528+1 records out
3989970432 bytes transferred in 1278.252950 secs (3121425 bytes/sec)

En mi caso, he estado copiando archivos .img a tarjetas CF, espero que funcione igual de bien para DMG

    
respondido por el Thorgrim 07.02.2013 - 00:05
2

Acabo de encontrar una solución que funcionó para mí:

  • Primero necesitas convertir la imagen .dmg a una imagen en bruto:

    hdiutil convert foo.dmg -format UDTO -o bar.img
    
  • Esto crea un archivo con la extensión .cdr pero es una imagen en bruto. Así que puedes cambiar la extensión del archivo a .img :

    mv bar.img.cdr bar.img
    
  • finalmente puedes copiar la imagen a tu tarjeta SD usando dd :

    sudo dd bs=2048 if=bar.img  of=/dev/rdiskX
    
respondido por el Max 09.09.2014 - 11:50

Lea otras preguntas en las etiquetas