O tym jak zrobić i przywrócić kopię zapasową całej karty SD w przypadku Raspberry Pi pisałem już wcześniej…

Dziś będzie temat powiązany – montowanie tak utworzonego obrazu by odzyskać nie cały system, a konkretne/wybrane pliki.

Montowanie obrazu (dd, raw) w systemie Linux

Wprawdzie operację opiszę na przykładzie Raspberry Pi i Raspbiana, to tak samo będzie to wyglądać w przypadku Debiana czy Ubuntu. W innych systemach mogą troszkę różnić się polecenia.

Z racji tego, że w przypadku Raspberry Pi mamy 2 partycje na karcie SD, a tym samym i nasz obraz (BackUp) zawiera w sobie 2 partycje – zaczynamy od utworzenia 2 katalogów „pomocniczych” pod które później „podstawimy” zawartość z 2 partycji:

sudo mkdir /mnt/temp_sd1

sudo mkdir /mnt/temp_sd2

Następnie sprawdzamy parametry naszego pliku z obrazem:

sudo fdisk -lu /ścieżka/do/pliku/rpi.img

Interesuje nas „Sector size: 512” oraz wartości w kolumnie „Start” dla poszczególnych partycji:

/ścieżka/do/pliku/rpi.img1 8192

/ścieżka/do/pliku/rpi.img2 122880

By uzyskać „adres” (offset) każdej partycji mnożymy wartość z pozycji „Sector size” (512) przez wartości z kolumny „Start” dla poszczególnych partycji:

/ścieżka/do/pliku/rpi.img1: 8192 * 512 = 4194304

/ścieżka/do/pliku/rpi.img2: 122880 * 512 = 62914560

Warto też zwrócić uwagę na typ systemu plików dla każdej z partycji, w naszym przypadku jest to:

/ścieżka/do/pliku/rpi.img1: W95 FAT32

/ścieżka/do/pliku/rpi.img2: Linux (ext4)

 

raspberry-pi_mount-dd-img01

Gdy już mamy te wartości możemy przystąpić do zamontowania obrazów w utworzonych wcześniej katalogach (temp_sd1 i temp_sd2):

sudo mount /ścieżka/do/pliku/rpi.img /mnt/temp_sd1 -o offset=4194304 -t vfat

sudo mount /ścieżka/do/pliku/rpi.img /mnt/temp_sd2 -o offset=62914560 -t ext4

Jak nie pojawią się żadne błędy to po wylistowaniu dysków:

df -h

Zobaczymy dodatkowe dyski:

raspberry-pi_mount-dd-img02

Mamy też dostęp do ich zawartości:

raspberry-pi_mount-dd-img03

Montowanie obrazu (dd, raw) w systemie Windows

Podobną operację możemy wykonać również z poziomu systemu Windows – w tym celu skorzystamy z 2 programów:

Ale Wy oczywiście możecie użyć innych programów.

Montowanie obrazu za pomocą OSFMount

Zaczynamy od programu OSFMount, za pomocą którego odczytamy nasz obraz IMG, i zamontujemy poszczególne partycje jako dyski w systemie Windows:

osfmount_windows01

Po uruchomieniu programu klikamy „mount new”, i w kolejnym oknie wybieramy nasz obraz karty:

osfmount_windows03

Po wybraniu pliku/obrazu pojawiło się też okno dialogowe, w którym możemy wybrać, czy chcemy zamontować wszystkie znalezione partycje, czy tylko jedną – wybraną:

osfmount_windows02

W tym przykładzie wybieram całą kartę (wszystkie znalezione partycje), bo zależy mi na dostępie do plików znajdujących się na wszystkich partycjach.

Po zatwierdzeniu nasz obraz pojawi się na liście zamontowanych obrazów (wirtualnych napędów), wraz z przypisaną mu literą dysku:

osfmount_windows04

Teraz może przejść do kolejnego programu, czyli:

Odczyt partycji za pomocą DiskInternals Linux Reader

Do odczytu partycji wykorzystam program DiskInternals Linux Reader, który pozwala w systemie Windows uzyskać dostęp do większości typów partycji na jakie można trafić:

  • Ext2
  • Ext3
  • Ext4
  • ReiserFS
  • Reiser4
  • HFS
  • HFS+,
  • ReFS
  • UFS2
  • FAT
  • exFAT
  • NTFS

Program umożliwia odczyt danych, montowanie dysków/partycji, oraz – co może się przydać – za jego pomocą utworzycie kopię zapasową (obraz) dysku, partycji czy karty…

Po uruchomieniu programu (i wcześniejszym zamontowaniu obrazu np. za pomocą OSFMount) wyświetli nam się okno przypominające standardowy, systemowy widok okna „mój komputer”, w którym widać m.in. 2 partycje, które w standardzie są tworzone podczas wgrywania systemu Raspbian na kartę pamięci:

diskinternals-linux-reader_windows01

Tak wyglądają szczegóły/właściwości obu partycji:

diskinternals-linux-reader_windows03

Oczywiście mamy też dostęp do plików:

diskinternals-linux-reader_windows02

I to właściwie tyle w tym temacie… :-)

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk