Dd usado accidentalmente en la unidad de mi sistema

0

Como se desea escribir una imagen en una memoria USB, accidentalmente usé mi unidad de sistema (Macintosh HD) como destino. Comando utilizado:

sudo dd if=/dev/zero of=/dev/rdisk1 bs=1024 count=1

¿Dónde estaba disk1 Macinstosh HD ... (sí, lo sé - facepalm :)

De todos modos, aborté después de 2 minutos, ya que no pasó nada y me di cuenta de mi error. Para mi sorpresa, todo parece funcionar, la partición sigue ahí, todavía se reinicia.

Esta es la salida de:

$diskutil list:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage                         499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           *499.1 GB   disk1
                                 Logical Volume on disk0s2

El comando estaba destinado a poner a cero el mapa de partición (de una memoria usb) ... como se describe aquí .

Lo que funciona en la memoria USB, (afortunadamente) no funcionó en mi disco duro de Macintosh. Pero todavía no entiendo por qué? Al decir que aborté, quise decir después de cometer el comentario, no sucedió nada, no se generó ningún resultado, pero tampoco un mensaje nuevo ... así que se usa ctrl-c

Las copias de seguridad de Time Machine se pueden restaurar, eso no es todo. Solo tengo curiosidad y quiero entenderlo

¿Todavía tengo que preocuparme por haber perdido algunos datos?

    
pregunta drummer23 05.06.2015 - 15:22

2 respuestas

2

Su disco principal utiliza un esquema de partición de Core Storage:

  • disk0 es el disco principal del sistema.
  • disk1 es un disco "virtual" que reside en disk0s2 que contiene el volumen de Macintosh HD visible en su escritorio.

Los dos primeros sectores de un volumen lógico solo contienen ceros.

Ejemplos:

  1. disk2 es la agrupación de Core Storage Volume disk0s2 (SSD) y disk1s2 (HDD) de una unidad Fusion de 3.1 TB

  2. disk2eselCoreStorageVolumequeresideendisk0,laimagendediscode64GBdeunaVMParallels(Yosemite)

Con tu comando sudo dd if=/dev/zero of=/dev/rdisk1 bs=1024 count=1 tuviste suerte y solo has sobrescrito 1024 ceros con 1024 ceros.

Como resultado, no ha perdido ningún dato y puede continuar trabajando con su Mac sin la necesidad de restaurar ninguna copia de seguridad o reinstalar su sistema.

    
respondido por el klanomath 06.06.2015 - 20:02
1

Usted debería estar bien, y tuvo mucha suerte porque no logró salvar su disco. Primero desglosaré tu comando dd:

dd if=/dev/zero of=/dev/rdisk1

Copie todo desde cero a / dev / rdisk1 (su disco principal, ¡ay!)

bs=1024

Establece el tamaño de los bloques a copiar. En este caso, estás copiando en bloques de 1Kb. Esto es más importante en el siguiente bit.

count=1

Este argumento es lo que salvó todo tu disco. Cuando configura el conteo en 1, efectivamente le dijo a dd que solo copie 1 bloque. Dado que su tamaño de bloque es de 1 KB lleno de ceros, su comando dd habría puesto a cero el primer kilobyte de su unidad.

Aunque no tengo idea de qué hay en la primera área de una unidad, yo especularía que contiene la información de la estructura de la unidad. Por lo tanto, mi acción recomendada es reiniciar en recuperación e iniciar la Utilidad de Disco y ejecutar "Reparar Disco" en la unidad de su sistema.

    
respondido por el Sirens 05.06.2015 - 20:30

Lea otras preguntas en las etiquetas