Sliktas lietas notika ar HDD, uz kura glabāju mūziku un filmas. Š oreiz apjuka gan fsck, gan es:
cartman ~ # fsck -c /dev/hdc1
e2fsck 1.40.4 (31-Dec-2007)
/dev/hdc1: Attempt to read block from filesystem resulted in short read while reading block 524
/dev/hdc1: Attempt to read block from filesystem resulted in short read reading journal superblock
e2fsck: Attempt to read block from filesystem resulted in short read while checking ext3 journal for /dev/hdc1
Man paveicās, ka Linux dzīvo un strādā uz cita diska un varēju turpināt izmantot datoru. Nekad iepriekš nav nācies atjaunot Linux (arī Windows) diskus, tāpēc sagrābstīju visādu informāciju internetā un sekojot padomiem, nopirku jaunu, lielāku HDD datu kopijai. Tad uzinstalēju ddrescue programmu, kas esot ātrāka kopējot datus nekā standarta dd. Pieslēdzu jauno disku, piestartēju Linux un pārkopēju datus no vecā diska (/dev/hdc) uz jauno disku (/dev/sdb) :
cartman ~ # ddrescue -r 1 /dev/hdc /dev/sdb recover.log
ddrescue arī pateica, ka problēmas nolasīt datus bija tikai vienā vietā, tāpēc man radās cerība turpināt lietot bojāto disku, vismaz līdz nākošajām problēmām. Pēc tam ar fsck salaboju failu sistēmu jau uz jaunā diska:
cartman ~ # fsck /dev/sdb1
Uz vecā diska tas acīmredzot nebija iespējams dēļ bojātiem HDD sektoriem (badblocks /dev/hdc tos uzrāda). Sliktos blokus “salabot” (atzīmēt kā nelietojamus) var izdarīt ar fsck, kurš jau iepriekš atteicās darboties. Meklējot risinājumu, izveidoju jaunu failu sistēmu uz bojātā diska un tad fsck piekrita to labot:
cartman ~ # mke2fs -j /dev/hdc1
cartman ~ # fsck -c -c /dev/hdc1
“-c -c” komandrindā speciāli tiek norādīts divas reizes, lai veiktu read-write testu read-only vietā.
Nobeigumā datus no jaunā diska pārkopēju atpakaļ uz veco un jaunajam diskam pārtaisīju partīcijas. Tā kā ddrescue kopēja arī partīciju informāciju, jaunais disks priekš Linux likās tikpat liels kā vecais. Tagad viss pr0n ir glābts un iegūts jauns disks jaunam pr0n :)