Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Na karcie pamięci microSD SanDisk mam zainstalowany system Raspbian. System działał na urządzeniu Raspberry Pi. Niestety, dzisiaj system przestał się uruchamiać. Przy próbie uruchomienia systemu Raspbian na urządzeniu Raspberry Pi wyświetla się następujący komunikat:
print_req_error: I/O error, dev mmcblk0, sector 3040960 (...) print_req_error: I/O error, dev mmcblk0, sector 3040961 (...) print_req_error: I/O error, dev mmcblk0, sector 3040962
I tak w kółko.
Nie chcę ratować systemu. Chcę tylko skopiować dane. Ale jak to zrobić, gdy system nie wstaje?
Co zrobiłem? Wyciągnąłem kartę microSD z urządzenia Raspberry Pi i umieściłem ją w zewnętrznym czytniku pamięci. Zewnętrzny czytnik pamięci podłączyłem do innego komputera z systemem Debian. Po podłączeniu czytnika, w systemie Debian pokazały się następujące urządzenia: pierwsze urządzenie boot i drugie urządzenie - rootfs. O ile do pierwszego urządzenia (boot) mogę bez problem wejść poprzez przeglądarkę plików Dolphin, o tyle przy próbie wejścia do drugiego urządzenia (rootfs) wyświetla się następujący komunikat:
Próba uzyskania dostępu do 'rootfs' zakończyła się błędem: Żądane działanie zakończone niepowodzeniem: Error mounting /dev/sdb2 at /media/user/rootfs: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error
Jak skopiować dane z karty pamięci?
Czy jest to w ogóle możliwe?
Ostatnio edytowany przez newbiex (2021-06-21 23:11:46)
Offline
Przedstaw jak jest widoczna ta karta w Debianie:
lsblk --fs
Do poczytania:
https://wiki.archlinux.org/title/File_recovery
https://eric.pdxhub.org/journal/2019-03-27-android-storage-recovery/
Ewentualne narzędzia:
https://www.system-rescue.org/Download/
Offline
fnmirk napisał(-a):
Przedstaw jak jest widoczna ta karta w Debianie:
Kod:
lsblk --fsEwentualne narzędzia:
https://www.system-rescue.org/Download/
sudo lsblk --fs pokazało takie oto informacje na temat tej karty:
sdb ├─sdb1 vfat boot 19,9M 53% /media/user/boot └─sdb2 ext4 rootfs
Offline
morfik napisał(-a):
Wygląda jak zdychająca karta.
Karta już i tak dość długo służyła. A teraz zależy mi tylko na skopiowaniu danych z tej karty.
morfik napisał(-a):
Podaj dokładny log z systemu po wsadzeniu karty do czytnika i próbie montowania.
sudo mount -o ro /dev/sdb2 /mount/microsd mount: /mount/microsd: nie można odczytać superbloku na /dev/sdb2
Rozumiem, że teraz będę musiał odzyskać superblock?
Z jakiego dokładnie polecenia powinien teraz, w tym akurat przypadku, skorzystać?
Ostatnio edytowany przez newbiex (2021-06-22 13:40:45)
Offline
Wynik:
dmesg | grep usb
Postaraj się zrozumieć opis, który przedstawiłem jeżeli chcesz coś uzyskać, szanse są minimalne i łatwo wszystko stracić.
Poniższy opis wynika z poprzedniego:
https://wiki.archlinux.org/title/Disk_cloning#Using_dd
Offline
Generalnie to chodziło mi o journalctl -f ale to powyższe też wystarczy. Generalnie wszystko wskazuje na uszkodzony superblock. Musisz zamontować system plików z wykorzystaniem kopi zapasowej superblocka. np.
# mount -o sb=131072 /dev/sdb1 /mnt
fnmirk napisał(-a):
Wynik:
Kod:
dmesg | grep usbPostaraj się zrozumieć opis, który przedstawiłem jeżeli chcesz coś uzyskać, szanse są minimalne i łatwo wszystko stracić.
Poniższy opis wynika z poprzedniego:
https://wiki.archlinux.org/title/Disk_cloning#Using_dd
Szanse są bardzo duże na odzyskanie wszystkiego. Może parę plików będzie uszkodzonych ale zamontowanie systemu plików z kopią superblock'u powinno dać dostęp do danych. Może dodatkowo fsck będzie potrzebny by przeczyścić śmieci.
Ostatnio edytowany przez morfik (2021-06-22 15:08:13)
Offline
fnmirk, podaję wynik polecenia
sudo dmesg | grep usb
[ 2.395905] usbcore: registered new interface driver usbfs [ 2.395916] usbcore: registered new interface driver hub [ 2.395934] usbcore: registered new device driver usb [ 2.427910] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 [ 2.427912] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.427914] usb usb1: Product: xHCI Host Controller [ 2.427915] usb usb1: Manufacturer: Linux 4.19.0-17-amd64 xhci-hcd [ 2.427916] usb usb1: SerialNumber: 0000:00:15.0 [ 2.428963] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 4.19 [ 2.428965] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 2.428966] usb usb2: Product: xHCI Host Controller [ 2.428968] usb usb2: Manufacturer: Linux 4.19.0-17-amd64 xhci-hcd [ 2.428969] usb usb2: SerialNumber: 0000:00:15.0 [ 2.682785] usb 1-3: new high-speed USB device number 2 using xhci_hcd [ 2.831642] usb 1-3: New USB device found, idVendor=0603, idProduct=8611, bcdDevice= 1.00 [ 2.831644] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2.831646] usb 1-3: Product: [ 2.831647] usb 1-3: Manufacturer: [ 2.831649] usb 1-3: SerialNumber: [ 2.958812] usb 1-5: new low-speed USB device number 3 using xhci_hcd [ 3.112089] usb 1-5: New USB device found, idVendor=1a2c, idProduct=2d23, bcdDevice= 1.10 [ 3.112094] usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3.112097] usb 1-5: Product: USB Keyboard [ 3.112099] usb 1-5: Manufacturer: USB [ 3.242858] usb 1-6: new low-speed USB device number 4 using xhci_hcd [ 3.408032] usb 1-6: New USB device found, idVendor=1c4f, idProduct=0034, bcdDevice= 1.10 [ 3.408035] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3.408037] usb 1-6: Product: Usb Mouse [ 3.408038] usb 1-6: Manufacturer: [ 3.534863] usb 1-8: new high-speed USB device number 5 using xhci_hcd [ 3.684522] usb 1-8: New USB device found, idVendor=05e3, idProduct=0608, bcdDevice=88.32 [ 3.684526] usb 1-8: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 3.684528] usb 1-8: Product: USB2.0 Hub [ 3.698022] usb-storage 1-3:1.0: USB Mass Storage device detected [ 3.698238] scsi host2: usb-storage 1-3:1.0 [ 3.698390] usbcore: registered new interface driver usb-storage [ 3.700849] usbcore: registered new interface driver uas [ 3.711611] usbcore: registered new interface driver usbhid [ 3.711613] usbhid: USB HID core driver [ 3.714670] input: USB USB Keyboard as /devices/pci0000:00/0000:00:15.0/usb1/1-5/1-5:1.0/0003:1A2C:2D23.0001/input/input2 [ 3.771082] hid-generic 0003:1A2C:2D23.0001: input,hidraw0: USB HID v1.10 Keyboard [USB USB Keyboard] on usb-0000:00:15.0-5/input0 [ 3.771427] input: USB USB Keyboard Consumer Control as /devices/pci0000:00/0000:00:15.0/usb1/1-5/1-5:1.1/0003:1A2C:2D23.0002/input/input3 [ 3.830950] input: USB USB Keyboard System Control as /devices/pci0000:00/0000:00:15.0/usb1/1-5/1-5:1.1/0003:1A2C:2D23.0002/input/input4 [ 3.831043] hid-generic 0003:1A2C:2D23.0002: input,hidraw1: USB HID v1.10 Device [USB USB Keyboard] on usb-0000:00:15.0-5/input1 [ 3.831290] input: Usb Mouse as /devices/pci0000:00/0000:00:15.0/usb1/1-6/1-6:1.0/0003:1C4F:0034.0003/input/input5 [ 3.831400] hid-generic 0003:1C4F:0034.0003: input,hidraw2: USB HID v1.10 Mouse [Usb Mouse] on usb-0000:00:15.0-6/input0 [ 6007.664886] usb 1-3: USB disconnect, device number 2 [38417.623347] usb 1-3: new high-speed USB device number 6 using xhci_hcd [38417.776137] usb 1-3: New USB device found, idVendor=0603, idProduct=8611, bcdDevice= 1.00 [38417.776144] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [38417.776147] usb 1-3: Product: [38417.776151] usb 1-3: Manufacturer: [38417.776154] usb 1-3: SerialNumber: [38417.778669] usb-storage 1-3:1.0: USB Mass Storage device detected [38417.779209] scsi host2: usb-storage 1-3:1.0
fnmirk napisał(-a):
Postaraj się zrozumieć opis, który przedstawiłem jeżeli chcesz coś uzyskać, szanse są minimalne i łatwo wszystko stracić.
Poniższy opis wynika z poprzedniego:
https://wiki.archlinux.org/title/Disk_cloning#Using_dd
W listopadzie 2020 roku udało mi się - z pomocą użytkownika morfik - odzyskać dane z padniętego pendrive'a. Z pendrive'a, z którym w żaden sposób nie mogłem sobie poradzić. Tam też był problem z superblockiem. Udało się odzyskać superblock. Udało się uzyskać dostęp do zawartości dysku. Udało się odzyskać dane. Mam nadzieję, że tym razem też się uda.
morfik, na razie, po wydaniu polecenia
mount -o sb=131072 /dev/sdb1 /mnt
otrzymuję taki oto komunikat:
mount: /mount: niewłaściwy typ systemu plików, błędna opcja, błędny superblok na /dev/sdb1, brak strony kodowej lub programu pomocniczego albo jeszcze inny błąd.
Offline
morfik Udało mi się zamontować sdb1. Udało mi się zamontować sdb2. W przypadku sdb1 (boot) zobaczyłem jakieś pliki, ale nie te, o które mi chodziło. W przypadku sdb2 (rootfs) nie zobaczyłem żadych plików, żadnych katalogów. Pusto, jakby tam nic nie było (0 B, 0 plików, 0 katalogów, jak podaje przeglądarka Dolphin), ale procent wykorzystania urządzenia to ponad 20%, więc te pliki chyba nadal tam są. Pytanie, jak teraz mógłbym się do tych plików dostać?
Offline
Hmm...
sudo fsck -y -f -b 32768 /dev/sdb2
fsck z pakietu util-linux 2.33.1 e2fsck 1.44.5 (15-Dec-2018) rootfs: recovering journal fsck.ext4: Bad magic number in super-block while trying to re-open rootfs rootfs: ********** WARNING: Filesystem still has errors **********
Próbowałem jeszcze
newbiex@host:~$ sudo fsck -y -f -b 98304 /dev/sdb2 fsck z pakietu util-linux 2.33.1 e2fsck 1.44.5 (15-Dec-2018) rootfs: recovering journal fsck.ext4: Bad magic number in super-block while trying to re-open rootfs rootfs: ********** WARNING: Filesystem still has errors ********** newbiex@host:~$ sudo fsck -y -f -b 163840 /dev/sdb2 fsck z pakietu util-linux 2.33.1 e2fsck 1.44.5 (15-Dec-2018) fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb2 The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem. If the device is valid and it really contains an ext2/ext3/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> or e2fsck -b 32768 <device> newbiex@host:~$ sudo fsck -y -f -b 229376 /dev/sdb2 fsck z pakietu util-linux 2.33.1 e2fsck 1.44.5 (15-Dec-2018) fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb2 The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem. If the device is valid and it really contains an ext2/ext3/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> or e2fsck -b 32768 <device> newbiex@host:~$ sudo fsck -y -f -b 294912 /dev/sdb2 fsck z pakietu util-linux 2.33.1 e2fsck 1.44.5 (15-Dec-2018) fsck.ext2: Zły argument while trying to open /dev/sdb2 The superblock could not be read or does not describe a valid ext2/ext3/ext4 filesystem. If the device is valid and it really contains an ext2/ext3/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> or e2fsck -b 32768 <device>
Ostatnio edytowany przez newbiex (2021-06-22 18:33:01)
Offline
morfik napisał(-a):
I jak teraz zamontujesz to nie zadziała?
Nadal nie widać żadnych plików.
Offline
Hmm, to ciekawe. Spróbuj jeszcze:
# fsck.ext4 -y -f -B 4096 /dev/sdb2
Jak to nie zadziała to coś się ostro schrzaniło. xD
Ostatnio edytowany przez morfik (2021-06-22 18:39:33)
Offline
sudo fsck.ext4 -y -f -B 4096 /dev/sdb2
e2fsck 1.44.5 (15-Dec-2018) rootfs: recovering journal fsck.ext4: Bad magic number in super-block while trying to re-open rootfs rootfs: ********** WARNING: Filesystem still has errors **********
I zaraz potem
sudo mount -o sb=131072 /dev/sdb2 /mnt
mount: /mnt: niewłaściwy typ systemu plików, błędna opcja, błędny superblok na /dev/sdb2, brak strony kodowej lub programu pomocniczego albo jeszcze inny błąd.
Ale po odłączeniu i ponownym podłączeniu czytnika, sdb2 montuje się prawidłowo, tyle że nadal żadnych plików na tej partycji sdb2 nie widać.
Na sdb1 (boot) - widać. Na sdb2 (rootfs) - nie widać.
Offline
Polecenie
df -h
pokazuje
System plików rozm. użyte dost. %uż. zamont. na (...) /dev/sdb2 15G 2,6G 12G 19% /mnt
Tyle że żadnych plików w tym /mnt nie widać. Dlaczego?
Czy to nie dlatego, że na tej kacie - wraz z tymi plikami, które chcę odzyskać - jest zainstalowany Raspbian, a ja teraz próbuję odzyskiwać te pliki spod Debiana?
Może dlatego Debian nie widzi tych plików?
Nie wiem.
Nie znam się.
Próbuję zrozumieć.
Ostatnio edytowany przez newbiex (2021-06-22 19:36:48)
Offline
Najpierw sprawdzałem jako nie-root, potem jako root. W obu przypadkach w katalogu /mnt - po zamontowaniu sdb2 (rootfs) - nie wyświetlają się żadne pliki, żadne katalogi.
Polecenie
ls -al /mnt/
zwraca następującą treść:
razem 0
Tylko przypomnę, że ja na tej karcie - wraz plikami, które chcę odzyskać - mam Raspbiana, a odzyskuję z poziomu... Debiana. Może tu jest jakiś konflikt?
Na początku myślałem, że to może kwestia uprawnień, ale próbowałem też jako root - w /mnt nadal nie wyświetlają się żadne pliki, żadne katalogi.
Ostatnio edytowany przez newbiex (2021-06-22 19:48:04)
Offline
morfik napisał(-a):
Nie to nie ma znaczenia. Wsadź tę kartę tam gdzie miałeś ja docelowo i odpal ten system. Zobacz czy się uruchomi.
Niestety, system nadal się nie uruchamia. Nadal pojawiają się te same komunikaty, o których pisałem na początku:
print_req_error: I/O error, dev mmcblk0, sector XXXXXXX
Co z tym zrobić?
Jak to ruszyć?
Offline
Myślałem może, że ten czytnik kart jest uszkodzony ale skoro nie odpala ci systemu, to na moje to jest pozamiatane. System niby widzi, że jakieś dane na tej karcie się znajdują, ale system plików nie zwraca żadnych plików, czyli nie może do nich uzyskać dostępu z jakiegoś powodu najwyraźniej i pewnie stąd te błędy są. Można by jeszcze spróbować zgrać wszystkie dane z karty SD via dd (zrobić obraz) i pobawić się obrazem, jeśli się uda go zrobić. Ale na moje oko to jest wsio co z tej karty można wyciągnąć, czyli nic. :]
Offline
Czy przypadkiem nie zbyt późno na ten obraz?
Offline