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
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
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
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
losetup --partscan --find obraz.img
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.
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
├─loop0p1 259:0 0 5M 0 part
├─loop0p2 259:1 0 10M 0 part
└─loop0p3 259:2 0 4M 0 part
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
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
mount /dev/loop0p1 /mnt/katalog
mount /dev/loop0p1 /mnt/katalog
a wybrana partycja (loop0p1 w tym przypadku) zostanie zamontowana do katalogu /mnt/katalog.