Bad magic number in super-block

Wednesday, April 8, 2009, autor: Rafał

Tworząc wpisy na stronę nigdy nie przypuszczałem, że jeden z nich uratuje mi skórę i uchroni moje zaszyfrowane dane.

Eksperymentując z wersją testową Ubuntu niestety jedna z moich zaszyfrowanych partycji uległa uszkodzeniu. Przy próbie montowania pojawiał się  nasŧepujący błąd:

mount: you must specify the filesystem type

Te same błędy pojawiały się gdy przelogowałem się na Opensuse. Zgodnie ze wskazówkami, jakie znalazłem w Internecie spróbowałem montować dysk z podaniem typu ext3 a potem ext2 (podobno czasami działa):

linux-ugu6:/dane/tmp # mount -t ext3 /dev/mapper/devel /dane/partycja
mount: wrong fs type, bad option, bad superblock on /dev/mapper/devel,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

Komenda “fdisk -l” zwracała coś takiego:

Disk /dev/dm-0: 10.4 GB, 10485231616 bytes
255 heads, 63 sectors/track, 1274 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×00000000

Disk /dev/dm-0 doesn’t contain a valid partition table

A próby wykorzystania fsck.ext3 kończyły się tak:

/sbin/fsck.ext3 -b 32768 /dev/dm-0
e2fsck 1.41.1 (01-Sep-2008)
/sbin/fsck.ext3: Bad magic number in super-block podczas próby otworzenia /dev/dm-0

Na szczęście znalazłem bardzo dobry opis, który podpowiedział mi co można zrobić.
Cała sztuka polegała na znalezieniu tego odpowiedniego numerka z kopią superbloku. Któż by notował takie rzeczy przy formatowaniu dysku?! No właśnie! Ja nieświadomie zanotowałem we wspomnianym wpisie o szyfrowaniu danych.

Kopie zapasowe superbloku zapisane w blokach:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Wykonałem komendę:

/sbin/fsck.ext3 -b 98304 /dev/dm-0

i zaczęły się pojawiać komunikaty w następującym stylu:

e2fsck 1.41.1 (01-Sep-2008)
/dev/dm-0 nie był czysto odmontowany, wymuszono sprawdzenie.
Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów
I-węzeł 7, i_blocks wynosi 44936, powinno być 44872. Poprawić<t>? tak
I-węzeł 381268, i_blocks wynosi 16, powinno być 8. Poprawić<t>? tak
I-węzeł 381278, i_size wynosi 55813, powinno być 65536. Poprawić<t>? tak
I-węzeł 381278, i_blocks wynosi 120, powinno być 136. Poprawić<t>? tak

Efekt?

Mój dysk znowu działa ;-)



 

 

 



Komentarze do “Bad magic number in super-block”

  1. Rafał napisał(a):

    dowiedziałem się, że nastepująca komenda jest pomocna w takich przypadkach:
    fsck.ext3 -n /dev/…
    nie mam okazji przetestować, ale może się komus przyda ta informacja

  2. Miki napisał(a):

    Warto wspomnieć, że numery superblocków można odczytać z programu TestDisk - przetestowane na fizycznym napędzie, nie sprawdzałem na logicznych jak we wpisie.

  3. Rafał napisał(a):

    dzięki za informację. Zainteresowanym podaje linka:
    http://www.cgsecurity.org/wiki/TestDisk
    Na tej stronce widzę, że podają “Locate ext2/ext3 Backup SuperBlock”

Zostaw komentarz


 


 


 


 

*
Wpisz słowo z obrazka. Kliknij na obrazku aby usłyszeć angielską wersję audio
Kliknij na obrazku aby usłyszeć angielską wersję audio