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 Startblok partycji:
- 1. partycja 512 * 8192 = 4194304
- Druga partycja 512 * 122880 = 62914560
Można ich używać z offsetopcją mountpolecenia. Mamy również wskazówkę dotyczącą typu każdej partycji z fdisk. Zakładając, że mamy katalogi /mnt/img/onei są /mnt/img/twodostę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 mountwymaga 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 .imgpliku.
Zauważ, że pierwsza partycja jest prawdopodobnie zamontowana na /bootdrugiej partycji, gdy system jest uruchomiony.