linux-l: Suche Tip fuer erweitertes 'badblocks'

Jan-Benedict Glaw jbglaw at lug-owl.de
Mi Feb 14 17:21:18 CET 2001


On Wed, Feb 14, 2001 at 04:40:24PM +0100, Christoph Biedl wrote:
> Hallo,
> 
> zur Zeit k?mpfe ich auf zwei verschiedenen Systemen mit einigen Fehlern
> auf der Festplatte. Da ein erster Versuch mit badblock (readonly)
> ohne Meldung durchlief, suche ich jetzt nach einer M?glichkeit
> (Programm/Optionen), folgendes durchzuf?hren:
> 
> * Lesepr?fung aller Sektoren, wobei einstellbar ist, nach wieviel
> Versuchen ein Sektor als "bad" angesehen wird.

Du willst nicht nur lesen, sondern auch schreiben. Lesen kann manchmal
durchaus noch funktionieren, aber wenn Du dann da Daten hinschreibst,
schickst DU sie in die H?lle.

man badblocks:

       -w     Use  write-mode  test.  With this option, badblocks
              scans for  bad  blocks  by  writing  some  patterns
              (0xaa,  0x55,  0xff,  0x00)  on  every block of the
              device,  reading  every  block  and  comparing  the
              contents.  This option may not be compiled with the
              -n option, as they are mutually exclusive.

> (MS-DOS hat auf Festplatten AFAIR erst nach 20 Versuchen aufgegeben - wie
> sieht das eigentlich bei Linux aus)

Ein Block sollte schon dann nicht mehr benutzt werden, wenn die
ersten Lese-Schwierigkeiten auftreten (dann kann der block meistens
noch mit CRC-Routinen von der Platte selbst gelesen werden und liefert
die richtigen Daten zur?ck). Wenn Du "wartest", bis sich der Block
garnicht mehr lesen l??t, dann hab' ich das Gef?hl, Du bist Deinen
Daten b?se;)

> * Markierung von "bad" Sektoren im bereits eingerichteten Dateisystem,
> zumindest bei ext2.

man badblocks:

       -o output_file
              Write the list of bad blocks to the specified file.
              Without this option, badblocks displays the list on
              its standard output.  The format of  this  file  is
              suitable  for  use by the -l option in e2fsck(8) or
              mke2fs(8).


> (Ich habe zur Zeit nicht Zeit und Platz, etliche Gigabyte umzukopieren.
> Den Verlust einzelner Daten kann ich verkraften, solange ich wei?, welche
> Dateien betroffen sind)

testscript.sh:
--------------------------------------
#!/bin/sh
dd if=$1 of=/dev/null || echo "$1 hat Probleme" >> /var/log/kaputte_dateien
--------------------------------------

find /path/zum/mountpoint/der/kaputten/partition -type f -exec /.../testscript.sh {} \;

> Dasselbe auch f?r ein msdos-Dateisystem, wobei hier ein totaler
> Datenverlust akzeptabel w?re (kann 'mkfs -t msdos' eigentlich mit der
> Liste defekter Sektoren aus badblocks umgehen?).

Wenn eine Platte auch nur einen Block hat, der absolut nicht mehr gelesen
werden kann, ist sie schrottreif. Der Hintergrund ist einfach: Solange sich
ein Block noch fehlerfrei (von einem fehlerhaften Block aus) lesen lassen
kann (?ber Checksummen, die Platten mitf?hren), werden solche "kritischen"
Blocks in bisher unauff?llige Bl?cke kopiert (die sind nur f?r die
Firmware der Platte erreichbar. Du als User hast darauf keinen Zugriff).
Wenn Du nun einige Bl?cke (als user) garnicht mehr lesen oder schreiben
kannst, dann hei?t das, da? alle internen "Notfall"-Bl?cke bereits belegt
sind. Sprich: Jede weitere Datei, die einen (auch noch so geringen) Schaden
hat, kann nicht mehr auf heile Bl?cke ausgelagert werden und wird DIr
daruafhin in K?rze fl?ten gehen... Du spielst mit dem Feuer!

MfG, JBG

-- 
Fehler eingestehen, Gr??e zeigen: Nehmt die Rechtschreibreform zur?ck!!!
/* Jan-Benedict Glaw <jbglaw at lug-owl.de> -- +49-177-5601720 */
keyID=0x8399E1BB fingerprint=250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB
     "insmod vi.o and there we go..." (Alexander Viro on linux-kernel)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 240 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20010214/91339e2a/attachment.sig>


Mehr Informationen über die Mailingliste linux-l