0 votes

J'ai accidentellement utilisé dd sur mon disque système.

Comme je voulais écrire une image sur une clé usb, j'ai accidentellement utilisé mon lecteur système (macintosh hd) comme cible. Commande utilisée :

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

Où le disque 1 était le Macinstosh HD ... (ouais je sais - facepalm :)

Quoi qu'il en soit, j'ai abandonné après 2 minutes car rien ne s'est passé et j'ai réalisé mon erreur. À mon grand étonnement, tout semble toujours fonctionner, la partition est toujours là, les redémarrages sont toujours possibles.

C'est le résultat 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

La commande était destinée à remettre à zéro la carte de partition (d'une clé usb) ...comme décrit aquí .

Ce qui fonctionne sur la clé usb, (heureusement) ne fonctionnait pas sur mon disque dur Macintosh. Mais je ne comprends toujours pas pourquoi ? En disant que j'ai avorté, je voulais dire qu'après avoir validé le commentaire, rien ne s'est passé, pas de sortie, mais pas de nouvelle invite non plus alors j'ai utilisé ctrl-c

Les sauvegardes Time Machine peuvent être restaurées, ce n'est pas le problème. Je suis juste curieux et je veux comprendre.

Dois-je encore craindre d'avoir perdu des données ?

0 votes

Vous devriez certainement envisager une restauration à partir de Timemachine avec une sauvegarde (1 heure par exemple) avant que cela ne se produise. Personne ne peut vous dire aujourd'hui si des données ont été écrasées, ou seulement des blocs libres. Mais je suis également étonné que tout soit en ordre. encore fonctionne bien pour vous o.O

1 votes

@bMalum, Si les dd Si la commande exécutée est ce qui a été écrit, il n'est pas nécessaire de restaurer à partir de Time Machine car aucun fichier n'a été écrasé, seuls les premiers 1K du disque ont été écrasés, et Time Machine ne va pas réparer ce qui a été écrasé dans ce cas.

1 votes

@drummer23, Je ne suis pas sûr de ce que vous voulez dire. "interrompu après 2 minutes car il ne s'est rien passé". en tant que dd que vous avez montrée ne prendrait littéralement qu'une fraction de seconde et n'aurait écrasé que les premiers 1K de rdisk1. Par ailleurs, le disque système contenant la partition Macintosh HD est généralement rdisk0, bien qu'il puisse s'agir de rdisk1, OS X ne garantissant pas l'ordre des disques. Êtes-vous sûr que rdisk1 était le disque système ?

2voto

klanomath Points 63400

Votre disque principal utilise un schéma de partition Core Storage :

  • disk0 est votre disque système principal.
  • disk1 est un disque "virtuel" résidant dans disk0s2 contenant le volume Macintosh HD visible sur votre bureau.

Les deux premiers secteurs d'un volume logique ne contiennent que des zéros.

Exemples :

  1. disk2 est le volume de stockage principal regroupant disk0s2 (SSD) et disk1s2 (HDD) d'un lecteur Fusion de 3,1 To.

    enter image description here

  2. disk2 est le volume de stockage principal résidant dans disk0 - l'image disque de 64 Go d'une VM Parallels (Yosemite)

    enter image description here

Avec votre commandement sudo dd if=/dev/zero of=/dev/rdisk1 bs=1024 count=1 vous avez eu de la chance et vous avez juste écrasé 1024 zéros avec 1024 zéros.

Par conséquent, vous n'avez perdu aucune donnée et vous pouvez continuer à travailler avec votre Mac sans avoir besoin de restaurer une sauvegarde ou de réinstaller votre système.

1voto

Milan Novota Points 10892

Vous devrait et vous avez eu de la chance car vous avez échoué à sauver votre disque. Je vais d'abord décomposer votre commande dd :

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

Copiez tout de zéro à /dev/rdisk1 (votre disque principal, ouch !)

bs=1024

Définit la taille des blocs à copier. Dans ce cas, vous copiez en blocs de 1Kb. Ceci est plus important dans le bit suivant.

count=1

Cet argument est ce qui a sauvé votre disque entier. Quand vous avez mis count à 1, vous avez effectivement demandé à dd de ne copier qu'un seul bloc. Comme la taille de votre bloc est de 1Kb rempli de zéros, votre commande dd aurait mis à zéro le premier kilooctet de votre disque.

Bien que je n'aie aucune idée de ce que contient la première zone d'un disque, je suppose qu'elle contient les informations sur la structure du disque. Donc, l'action que je recommande est de redémarrer en mode récupération et de lancer l'utilitaire de disque et d'exécuter "Repair Disk" sur votre disque système.

0 votes

Avec bs fixé comme bs=1024 y count=1 alors seulement 1024 octets où transféré pas 1 MB. En outre, s'il s'était agi de 1 Mo contre 1 K, il y aurait eu un problème.

0 votes

Vous devriez voir mon récent commentaire au PO. D'après ce que j'ai fait, l'Utilitaire de disque ne peut pas réparer le disque dont les 1024 premiers octets ont été écrasés par des zéros, car une fois écrasés, il est impossible de démarrer, même sur le disque dur de récupération, et le disque n'est pas réparable lorsqu'il est monté sous un autre système dans l'Utilitaire de disque. J'ai dû restaurer la sauvegarde dd que j'avais faite de ces octets pour que le disque soit utilisable sans avoir recours à des solutions tierces. Mon test laisse également planer des doutes sur le fait que rdisk1, dans son cas, était réellement un disque système.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X