Hallo Liste! Ein Kumpel hat grad ein kleines HW-Problem, die Systemplatte seines kleinen Heim-Server (Via-Epia) scheint ihren Dienst einzustellen:
Nov 23 03:15:33 mother hda: dma_intr: status=0x59 { DriveReady SeekComplete DataRequest Error } Nov 23 03:15:33 mother hda: dma_intr: error=0x40 { UncorrectableError }, LBAsect=6621299, high=0, low=6621299, sector=5528872 Nov 23 03:15:33 mother end_request: I/O error, dev 03:03 (hda), sector 5528872
Ja, es ist immer Sektor 5528872. Ok, frei nach Fanta4: "Sie muss raus, Sie muss raus, Sie muss gehen....", die wichtigstens Daten sind gesichert, Plan zur Rettung der Insallation steht (Linux ist schlimm, nicht kaputt zu kriegen...), Ersatz ist geplant. Nur: Bis zum Erwerb des Ersatz (Geld is grad knapp) waere es nett, wenn sie noch ein bischen durchhaelt. Tja, darum wollte ich in Ext2/3 diesen Sektor als "BadBlock" markieren, was ja eigentlich keine dumme Idee ist. Die Sache hat nur einen Haken. Da der Fehler bisher nur beim schreibenden Zugriff aufviel ("emerge sync") muesste auch ein entsprechender Test schreibend drauf zugreiffen. Das ist nur etwas ungesund fuer den ehemaligen Inhalt, zumindest nach man-pages von e2fsck/badblocks. Deshalb wollte ich nicht die ganze Platte schreibend testen, sondern nur dieses "Stueck". Es ist ja auch fast alles vorhanden was ich brauch: * den ort (die Sektornummer) * "badblocks" kennt Bereichs-Argumente + erstellt Liste * "e2fsck" kann mit "-l" diese Liste dem Dateisystem hinzufuegen So, nur "badblocks" und "e2fsck" rechnen in Bloecken (und moechten die Angaben so haben) ich hab aber eine (Hardware-)Sektornummer *grmmml* Deshalb die Frage: Wie kann ich das Umrechnen? Tja, wenn ich mich richtig erinnere von der Programmiererei an meinem Bootsektor, nen Sektor hat 512byte (auf ner Diskette), Ext2 arbeitet mit Zone-Numbers, hinter denen die Blocksize von Ext steckt (z.B. 1k, 4k, siehe dumpe2fs), der Superblock war immer nach 1k, ach, ich weiss es auch nich mehr genau... besonders, haben Festplatten nich 4k pro Sektor? Gibts da keinen Systemaufruf? Wer weiss was, wer hat eine Idee? Gibt es nicht ein Programm vergleichbar zu ntfsinfo das einem den inode zu einer Datei ausgeben kann (die Datei kenn ich ja auch) fuer ext? Im Inode sind dann ja die block/zone-numbers... Naja, irgendwie muss das doch gehen, sind hier ja nicht unter einem Kinder-OS... Gruss Jan -- Und jetzt festhalten: da kam ein _CARTOON-HUND_ der mir eine Sprechblase gemalt hat?! Was geht?? Vergiss es! Ich bin doch nicht zum verf***ten rumkaspern da! Das OS hatte übrigens das Wort "Professional" im Flash-Screen.