Odpowiedź na to pytanie jest częścią odpowiedzi na inne pytania, ale tutaj zasługuje na kanoniczne traktowanie, więc nie trzeba jej powtarzać.
Nie można zamontować obrazu jako całości, ponieważ zawiera on dwie partycje i sektor rozruchowy. Można jednak zamontować poszczególne partycje na obrazie, jeśli znasz ich przesunięcie w pliku. Aby je znaleźć, sprawdź obraz jako urządzenie blokowe za pomocą fdisk -l whatever.img
. Dane wyjściowe powinny zawierać następującą tabelę:
Device Boot Start End Blocks Id System
whatever.img1 8192 122879 57344 c W95 FAT32 (LBA)
whatever.img2 122880 5785599 2831360 83 Linux
To są dwie partycje. Pierwszy z nich nosi nazwę „FAT32”, a drugi „Linux”. Powyżej tej tabeli znajduje się kilka innych informacji o urządzeniu jako całości, w tym:
Units: sectors of 1 * 512 = 512 bytes
Możemy znaleźć przesunięcie w bajtach, mnożąc ten rozmiar jednostki przez Start
blok partycji:
- 1. partycja 512 * 8192 = 4194304
- Druga partycja 512 * 122880 = 62914560
Można ich używać z offset
opcją mount
polecenia. Mamy również wskazówkę dotyczącą typu każdej partycji z fdisk
. Zakładając, że mamy katalogi /mnt/img/one
i są /mnt/img/two
dostępne jako punkty montowania:
mount -v -o offset=4194304 -t vfat whatever.img /mnt/img/one
mount -v -o offset=62914560 -t ext4 whatever.img /mnt/img/two
Jeśli pojawi się tutaj błąd „nakładającej się pętli”, twoja wersja mount
wymaga podania rozmiaru, jak również przesunięcia pierwszej partycji. Odmontuj to i użyj liczby bloków (57344) * 512 (= 29360128):
mount -v -o offset=4194304,sizelimit=29360128 \
-t vfat whatever.img /mnt/img/one
Druga partycja nie potrzebuje limitu rozmiaru, ponieważ po obrazie nie ma nic.
Możesz teraz uzyskać dostęp do dwóch partycji. Jeśli nie zamierzasz niczego w nich zmieniać, użyj również przełącznika -r
(tylko do odczytu). Jeśli cokolwiek zmienisz, zmiany te zostaną uwzględnione w .img
pliku.
Zauważ, że pierwsza partycja jest prawdopodobnie zamontowana na /boot
drugiej partycji, gdy system jest uruchomiony.