Montowanie partycji z obrazu dysku

Wykonałem obraz całego dysku poleceniem dd. Teraz chcę podmontować wybraną partycję z tego dysku. Jak to zrobić? W tym wpisie przedstawię jedno z rozwiązań.

Na początek poleceniem fdisk sprawdzam jakie partycje są w zapisanym obrazie dysku.

mirek@dom:~/kat1$ sudo fdisk -l obraz.img 
[sudo] hasło użytkownika mirek: 
Dysk obraz.img: 20 MiB, bajtów: 20971520, sektorów: 40960
Jednostki: sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 512
Rozmiar we/wy (minimalny/optymalny) w bajtach: 512 / 512
Typ etykiety dysku: dos
Identyfikator dysku: 0xa6491269

Urządzenie Rozruch Początek Koniec Sektory Rozmiar Id Typ
obraz.img1             2048  12287   10240      5M 83 Linux
obraz.img2            12288  32767   20480     10M 83 Linux
obraz.img3            32768  40959    8192      4M 83 Linux

Aby zamontować partycję z tego obrazu wykorzystam program losetup. Krok pierwszy, to utworzenie urządzenia blokowego na podstawie pliku obrazu.

losetup --partscan --find obraz.img

Parametr –partscan wymusza na jądrze linuksa przeskanowanie tablicy partycji na nowo utworzonym urządzeniu blokowym. Po wykonaniu polecenia możemy sprawdzić jakie partycje zostały utworzone.

root@dom:~/kat1# losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE            DIO LOG-SEC
/dev/loop0         0      0         0  0 /root/kat1/obraz.img   0     512

root@dom:~/kat1# lsblk /dev/loop0
NAME      MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0       7:0    0  20M  0 loop 
├─loop0p1 259:0    0   5M  0 part 
├─loop0p2 259:1    0  10M  0 part 
└─loop0p3 259:2    0   4M  0 part 

Jak widać powyżej zostały utworzone partycje loop0p1, loop0p2 i loop0p3. Możemy teraz zamontować je poleceniem:

mount /dev/loop0p1 /mnt/katalog

a wybrana partycja (loop0p1 w tym przypadku) zostanie zamontowana do katalogu /mnt/katalog.