Ich versuche, einen fehlerhaften Sektor neu zuzuweisen. Nachdem ich dies gelesen habeFrageSoweit ich weiß, versucht die Festplatte automatisch, die Daten neu zuzuweisen. Um den Vorgang auszulösen, habe ich versucht, mit dd in den Sektor zu schreiben, aber es hat sich überhaupt nichts geändert.
$ smartctl -a /dev/sda
...
5 Reallocated_Sector_Ct ... 0
197 Current_Pending_Sector ... 1
...
Der fehlerhafte Sektor ist: 215040
$ dd if=/dev/sda of=/dev/null bs=512 count=1 skip=215040
io-error on reading
Warum wird der Sektor nicht zugeordnet, wenn ich darauf schreibe?
$ dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=215040
io-error on writing
Wie kann ich ein Neuschreiben des Sektors veranlassen?
Antwort1
Versuchen Sie einen Low-Level-Schreibvorgang mit hdparm
:
sudo hdparm --yes-i-know-what-i-am-doing --write-sector 215040 /dev/sda
… wobei 215040
die Sektornummer ist, die Sie überschreiben (und möglicherweise neu zuordnen) möchten, und /dev/sda
das Gerät ist, auf das Sie schreiben möchten.
Von demhdparm
manpage:
--write-sector
Schreibt Nullen in die angegebene Sektornummer. SEHR GEFÄHRLICH. Die Sektornummer muss nach diesem Flag angegeben werden (Basis 10). hdparm führt einen Low-Level-Schreibvorgang (unter vollständiger Umgehung der üblichen Blockschicht-Lese-/Schreibmechanismen) in den angegebenen Sektor aus. Dies kann verwendet werden, um ein Laufwerk zu zwingen, einen fehlerhaften Sektor (Medienfehler) zu reparieren.