# dd if=/dev/zero of=/dev/sda
Effacera- t -il une table de partition préexistante?
Ou est-ce l'inverse, c'est-à-dire
# fdisk /dev/sda
g
(pour GPT)
effacer les zéros écrits par /dev/zero
?
# dd if=/dev/zero of=/dev/sda
Effacera- t -il une table de partition préexistante?
Ou est-ce l'inverse, c'est-à-dire
# fdisk /dev/sda
g
(pour GPT)
effacer les zéros écrits par /dev/zero
?
Réponses:
dd if=/dev/zero of=/dev/sda
Effacera- t -il une table de partition préexistante?
Oui, la table de partition est dans la première partie du lecteur, donc l'écrire dessus le détruira. Cela dd
écrira sur tout le lecteur si vous le laissez fonctionner (cela prendra donc un certain temps).
Quelque chose comme dd bs=512 count=50 if=/dev/zero of=/dev/sda
serait suffisant pour écraser les 50 premiers secteurs, y compris la table de partition MBR et le GPT principal. Bien qu'au moins selon Wikipedia, GPT possède une copie secondaire de la table de partition à la fin du lecteur, donc écraser uniquement la partie dans la tête du lecteur pourrait ne pas être suffisant.
(Vous ne devez pas utiliser dd
, cependant. head -c10000 /dev/zero > /dev/sda
Ou cat /bin/ls > /dev/sda
aurait le même effet.)
fait
fdisk /dev/sda g
(pour TPG) effacer les zéros écrits par / dev / zero?
Oui aussi (à condition d'enregistrer les modifications).
(Cependant, le phrasé dans le titre est juste déroutant, /dev/zero
en soi ne fait rien de plus que tout stockage régulier.)
/bin/ls
est suffisamment courte, l'opération d'écriture peut écraser uniquement les quelques octets du MBR et la partie la plus importante (secteurs de début et de fin des partitions) peut rester intacte. Bien qu'une réinstallation du MBR (le plus souvent grub --install /dev/sda
) soit toujours nécessaire pour rendre le système amorçable à nouveau.
ls
binaire réel , pas la sortie de son exécution. Le plus petit binaire ELF "Hello World" possible semble être de 98 octets (donc moins qu'un MBR), mais je pense qu'il est sûr de supposer que tout binaire avec des fonctionnalités réelles devrait être plus grand qu'un MBR (l'implémentation FreeBSD notoirement petite de ls
32784 octets de long, même assez grand pour remplacer la partie de début de disque d'un GPT). ;)
ls
. Une liste de /usr/bin
serait probablement assez longue. J'allais utiliser juste echo
comme exemple, mais IIRC vous avez besoin de près de 500 octets pour écraser une table de partition MBR, donc c'est un peu fatigant à taper. (quel que soit le nombre exact)
La table de partition est stockée près du début 1 du périphérique de disque (logique 2 ).
Le remplacement de cette zone par quoi que ce soit (des zéros à partir de /dev/zero
ou toute autre donnée) remplacera la table de partition par du charabia, il ne sera donc plus évident de savoir où commencent les partitions sur le périphérique.
On peut toujours analyser tout le disque et essayer d'identifier les "octets magiques" qui marquent les débuts des systèmes de fichiers.
Inversement, si vous utilisez fdisk
(ou tout autre outil de partitionnement) pour créer une nouvelle table de partition, l'outil remplacera les premiers octets du disque pour stocker cette nouvelle table.
Il n'y a qu'un seul début sur le disque, donc quoi que vous fassiez en dernier "y restera".
Notez cependant que certains formats de table de partition (comme GPT) conserveront des copies de sauvegarde à différents endroits (par exemple à la fin du disque pour GPT), à partir desquels certaines informations de partition peuvent être récupérées.
1: par exemple dans les 512 premiers octets pour un MBR ou les premier et dernier 17408 octets pour un GPT
2: le lecteur peut remapper en interne les blocs logiques vers différentes parties du support physique, mais ce mappage est invisible pour (et sans importance pour) le système d'exploitation.
/dev/zero
effacer quelque chose, c'est l'dd
effacer en copiant dessus. Les faits selon lesquels les octets se trouvent être zéro et que les octets zéro proviennent de la/dev/zero
place d'une autre source de zéros sont des détails mineurs.