Odzyskiwanie danych w Arch Linuksie

W środowisku Arch Linux dostępnych jest wiele narzędzi do odzyskiwania danych — zarówno z poziomu konsoli, jak i z interfejsem graficznym. Poniżej przedstawiono najczęściej wykorzystywane narzędzia, sposoby instalacji oraz praktyczne przykłady.

1. TestDisk

TestDisk to potężne narzędzie CLI służące do odzyskiwania utraconych partycji i naprawy uszkodzonego MBR lub GPT.

Instalacja:

sudo pacman -S testdisk

Użycie:

sudo testdisk

TestDisk poprowadzi Cię przez proces odzyskiwania danych w trybie interaktywnym (tekstowym). Możliwe działania:

2. PhotoRec

PhotoRec to narzędzie do odzyskiwania plików z nośników – nawet przy uszkodzonym systemie plików.

Instalacja:

Jest częścią pakietu testdisk, nie wymaga oddzielnej instalacji.

Użycie:

sudo photorec

PhotoRec ignoruje system plików i próbuje odzyskać dane z surowych sektorów.

3. extundelete

extundelete pozwala odzyskać usunięte pliki z partycji z systemem plików ext3/ext4.

Instalacja:

yay -S extundelete

(Dostępne w AUR – wymagany yay lub inny helper)

Przykład użycia:

sudo umount /dev/sdX1
sudo extundelete /dev/sdX1 --restore-all

Odzyskane pliki zostaną zapisane w katalogu RECOVERED_FILES/.

4. ddrescue

GNU ddrescue umożliwia wykonanie kopii binarnej dysku, nawet jeśli zawiera uszkodzone sektory.

Instalacja:

sudo pacman -S gnu-ddrescue

Przykład tworzenia obrazu dysku:

sudo ddrescue /dev/sdX /mnt/backup/obraz.img /mnt/backup/logfile.log

Można później montować obraz i próbować odzyskać dane:

sudo mount -o loop obraz.img /mnt/recovery

5. scalpel

Scalpel to narzędzie do odzyskiwania danych na podstawie wzorców nagłówków i sygnatur plików.

Instalacja:

yay -S scalpel

Użycie:

Najpierw edytuj /etc/scalpel/scalpel.conf i aktywuj typy plików do odzysku (np. JPG, PDF).

sudo scalpel /dev/sdX -o /mnt/recovery/scalpel_out

6. rmlint (do wykrywania i usuwania błędnych/duplikatów danych)

rmlint nie służy bezpośrednio do odzyskiwania danych, ale pomaga w analizie dysku i przygotowaniu do odzysku.

Instalacja:

sudo pacman -S rmlint

Użycie:

rmlint /mnt/dysk_z_odzysku -o summary

7. Montowanie i analiza obrazu

Po utworzeniu obrazu dysku (np. z ddrescue), można go analizować narzędziami takimi jak:

8. Praktyczne porady

9. Odzyskiwanie danych z Btrfs

Btrfs to nowoczesny system plików z funkcją snapshotów, który może ułatwić odzyskiwanie danych — ale w przypadku poważnych uszkodzeń wymaga ostrożności i znajomości wewnętrznej struktury.

Typowe scenariusze:

1. Odzyskiwanie z snapshota (jeśli dostępny)

Jeśli system posiada automatyczne snapshoty (np. przez Snapper lub Timeshift):

sudo btrfs subvolume list /mnt/btrfs
sudo btrfs subvolume show /mnt/btrfs/.snapshots/123/snapshot
sudo cp -a /mnt/btrfs/.snapshots/123/snapshot/home/user/dane /home/user/odzyskane

2. Użycie btrfs restore

Polecenie btrfs restore pozwala wyeksportować dane z uszkodzonego systemu plików, bez montowania.

Instalacja (jeśli nie masz narzędzi Btrfs):

sudo pacman -S btrfs-progs

Użycie:

sudo btrfs restore -v /dev/sdX1 /mnt/recovery

Przydatne opcje:

3. Diagnostyka i naprawa systemu plików

btrfs check pozwala analizować system plików bez montowania:

sudo btrfs check /dev/sdX1

UWAGA: Nie używaj --repair bez uprzedniej kopii obrazu! Ta opcja może spowodować dalsze uszkodzenia!

4. Zaawansowany odzysk ze struktury Btrfs

Dla doświadczonych użytkowników dostępne są opcje:

Przykład znajdowania rootów:

sudo btrfs-find-root /dev/sdX1

Potem możesz wypróbować różne offsety z btrfs restore.

5. Przygotowanie kopii binarnej Btrfs

W przypadku uszkodzenia partycji zawsze wykonaj kopię obrazu dysku:

sudo ddrescue /dev/sdX1 /mnt/backup/btrfs.img btrfs.log

Następnie pracuj na obrazie:

sudo losetup /dev/loop0 /mnt/backup/btrfs.img
sudo btrfs restore /dev/loop0 /mnt/recovery