Bad magic number in super-block
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 ![]()


Wednesday, 8 April, 2009 at 21:29
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
Tuesday, 9 February, 2010 at 09:22
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.
Tuesday, 9 February, 2010 at 11:55
dzięki za informację. Zainteresowanym podaje linka:
http://www.cgsecurity.org/wiki/TestDisk
Na tej stronce widzę, że podają “Locate ext2/ext3 Backup SuperBlock”