Existe-t-il une commande simple que je peux utiliser pour mettre à zéro le dernier 1 Mo d'un disque dur?
Pour le début du lecteur je le ferais dd if=/dev/zero of=/dev/sdx bs=1M count=1
. L' seek
option pour dd semble prometteuse, mais est-ce que quelqu'un a un moyen facile de déterminer exactement jusqu'où je dois chercher?
J'ai une appliance RAID matérielle, qui stocke une partie de la configuration RAID à la fin du lecteur. J'ai besoin de l'appliance RAID pour voir les disques comme non configurés, donc je veux supprimer la configuration RAID sans avoir à passer le temps de faire un nettoyage complet des disques. J'ai une douzaine de disques de 2 To, et un effacement complet de tous ces disques prendrait beaucoup de temps.
sda
comme exemple est horriblement dangereux si vous copiez et collez et parvenez à copier le retour chariot.sdx
serait beaucoup mieux adapté. Je prends des précautions, mais seulement à cause d'eux, je n'ai pas détruit mon disque pour le moment.La taille de chaque partition est disponible en
/proc/partitions
. La commande suivante montre la taillesdx
(en unités kB):Ainsi:
la source
L'utilisation de la recherche pour atteindre la fin du lecteur fonctionne très bien, c'est-à-dire:
Cependant, lorsque vous l'utilisez, je vous recommande soit de savoir que votre valeur de comptage est correcte, soit de ne pas l'utiliser du tout. La raison pour laquelle je dis cela est que les lecteurs peuvent avoir soit des secteurs de 512 octets soit des secteurs de 4k, et si vous utilisez cette solution avec un lecteur qui a des secteurs de 4k, vous n'irez pas à la fin du lecteur avec cette valeur de comptage, et peut manquer les informations RAID à la fin (j'ai rencontré cela).
la source
dd
secteurs des adresses lorsqu'ils sont utilisés avec desbs
valeurs personnalisées plus petites / plus grandes que la taille de bloc réelle signalée par le micrologiciel de l'appareil ou le noyau Linux.Vous pouvez obtenir le nombre de secteurs sur le disque avec
hdparm -v /dev/sdx
. Essayez de chercher à number_of_sectors - 2048 (en supposant des secteurs de 512 octets).la source
/sys/block/sdx/queue/physical_block_size
peut vous donner les informations, mais certains disques plus récents jouent rapidement et librement avec la taille de secteur qu'ils signalent. Il est probablement préférable de lire l'étiquette sur le disque ou de la rechercher dans la fiche technique du fabricant.hdparm -I /dev/sda
liste 2 "versions" de la taille du secteur:Logical
etPhysical
. Est-ce ce que vous entendez par «rapide et lâche»? .... Je ressens ce "sentiment" que si quelque chose va se comporter de cette manière, il pourrait bien s'agir d'un système RAID ..Vous pouvez utiliser
dd
et obtenir la taille de l'appareil viafdisk
:Je n'utilise pas une taille de bloc de 1 m pour éviter les erreurs d'arrondi.
Alternativement, vous pouvez écrire un petit programme C (ou script) qui appelle la
lseek
fonction avecSEEK_END
et un décalage négatif de 1 Mo, puis appelerwrite
.la source