Uszkodzenie karty SD to coś, co zdarza się dosyć często przy wykorzystywaniu komputerów, takich jak Raspberry Pi. Awaria, taka jak opisywana poniżej, objawia się tym, że komputer nie jest w stanie zabootować się z karty SD, a sprawdzanie systemu plików na karcie informuje o uszkodzonym superbloku, jednakże nie wie, jak go automatycznie naprawić. Przyjrzyjmy się jak, krok po kroku, naprawić taką kartę SD.
Poradnik ten jest napisany dla karty z formatem plików ext4, ale autor tłumaczy też przy okazji jak przeprowadzić podobne operacje dla innych formatów. Najprościej jest przeprowadzić opisaną operację z wykorzystaniem oprogramowania takiego jak Parted Magic. Po załadowaniu tego systemu uzyskujemy dostęp do szeregu pomocnych narzędzi, jeśli chodzi o pracę z partycjami.
Procedura
Najpierw musimy sprawdzić z jaką partycją mamy do czynienia, aby to zrobić korzystamy z komendy:
Powyższa komenda wylistuje, jakie dyski mamy w naszym komputerze. Jeśli utraciliśmy całą partycję, to do odzyskania jej potrzebne będzie nam narzędzie takie jak Testdisk. Program ten zawarty jest w Parted Magic, a na stronie dostawcy tego pakietu zawarty jest bardzo dobry poradnik do korzystania z niego. Do naprawy naszej uszkodzonej karty SD potrzebujemy jednakże tylko informacji, która partycja uległa uszkodzeniu. Będzie ona oznaczona jako np. /dev/sda3 lub /dev/hdb1.
Dalej musimy upewnić się, że to superblok jest problemem. Robimy to poprzez sprawdzenie systemu plików poniższą komendą; xxx zastępujemy oznaczeniem naszej partycji, a rodzaj systemu plików ext4 możemy zastąpić używanym przez nas ext3 lub ext2:
Jeśli istotnie to superblok jest uszkodzony, to w odpowiedzi na powyższą komendę zobaczymy na wyjściu:
Aby naprawić uszkodzony superblok karty musimy sprawdzić, gdzie znajdują się zapasowe bloki:
Komputer wydrukuje nam m.in. listę zapasowych bloków. Na dole wydrukowanych informacji zobaczymy coś takiego:
Zbliżamy się do końca.
Musimy teraz odtworzyć superblok z zapasowych bloków, zastępując xxx nazwą naszej partycji, a yyy pierwszym z zapasowych bloków:
Teraz możemy zresetować maszynę, a problem powinien być rozwiązany. Jeśli nie jest, musimy wykorzystać kolejny zapasowy superblok.
Sprawdzanie systemu plików
Co jakiś czas warto sprawdzić system plików na karcie SD w naszej 'Malinie', szczególnie, jeśli uważamy, że może on powodować jakieś problemy. Aby to zrobić musimy wyłączyć komputer korzystając z polecenia:
Po tym, jak Raspberry Pi ponownie się uruchomi możemy zapoznać się z wynikami skanu systemu plików, który znajduje się w następującym miejscu:
Źródło: http://www.recantha.co.uk/blog/?p=1208
Poradnik ten jest napisany dla karty z formatem plików ext4, ale autor tłumaczy też przy okazji jak przeprowadzić podobne operacje dla innych formatów. Najprościej jest przeprowadzić opisaną operację z wykorzystaniem oprogramowania takiego jak Parted Magic. Po załadowaniu tego systemu uzyskujemy dostęp do szeregu pomocnych narzędzi, jeśli chodzi o pracę z partycjami.
Procedura
Najpierw musimy sprawdzić z jaką partycją mamy do czynienia, aby to zrobić korzystamy z komendy:
sudo fdisk -lPowyższa komenda wylistuje, jakie dyski mamy w naszym komputerze. Jeśli utraciliśmy całą partycję, to do odzyskania jej potrzebne będzie nam narzędzie takie jak Testdisk. Program ten zawarty jest w Parted Magic, a na stronie dostawcy tego pakietu zawarty jest bardzo dobry poradnik do korzystania z niego. Do naprawy naszej uszkodzonej karty SD potrzebujemy jednakże tylko informacji, która partycja uległa uszkodzeniu. Będzie ona oznaczona jako np. /dev/sda3 lub /dev/hdb1.
Dalej musimy upewnić się, że to superblok jest problemem. Robimy to poprzez sprawdzenie systemu plików poniższą komendą; xxx zastępujemy oznaczeniem naszej partycji, a rodzaj systemu plików ext4 możemy zastąpić używanym przez nas ext3 lub ext2:
sudo fsck.ext4 -v /dev/xxxJeśli istotnie to superblok jest uszkodzony, to w odpowiedzi na powyższą komendę zobaczymy na wyjściu:
fsck /dev/sda5
fsck 1.41.4 (27-Jan-2009)
e2fsck 1.41.4 (27-Jan-2009)
fsck.ext4: Group descriptors look bad... trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/sda5
The superblock could not be read or does not describe a correct ext4
filesystem. If the device is valid and it really contains an ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>Aby naprawić uszkodzony superblok karty musimy sprawdzić, gdzie znajdują się zapasowe bloki:
sudo mke2fs -n /dev/xxxKomputer wydrukuje nam m.in. listę zapasowych bloków. Na dole wydrukowanych informacji zobaczymy coś takiego:
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208Zbliżamy się do końca.
sudo e2fsck -b yyy /dev/xxxTeraz możemy zresetować maszynę, a problem powinien być rozwiązany. Jeśli nie jest, musimy wykorzystać kolejny zapasowy superblok.
Sprawdzanie systemu plików
Co jakiś czas warto sprawdzić system plików na karcie SD w naszej 'Malinie', szczególnie, jeśli uważamy, że może on powodować jakieś problemy. Aby to zrobić musimy wyłączyć komputer korzystając z polecenia:
sudo shutdown -F -r nowPo tym, jak Raspberry Pi ponownie się uruchomi możemy zapoznać się z wynikami skanu systemu plików, który znajduje się w następującym miejscu:
/var/log/fsck/Źródło: http://www.recantha.co.uk/blog/?p=1208
Fajne? Ranking DIY