Alat kpartx membuat ini lebih mudah. Itu membuat perangkat loop di /dev/mapper untuk setiap partisi di gambar Anda. Kemudian Anda dapat memasang perangkat loop yang sesuai dengan partisi yang Anda inginkan tanpa harus menghitung offset secara manual.
Misalnya, untuk memasang partisi pertama disk image:
kpartx -a -v myimage.disk
mount /dev/mapper/loop0p1 /mnt/myimage
Setelah selesai dengan gambar, hapus perangkat loop:
umount /mnt/myimage
kpartx -d -v myimage.disk
Alternatifnya, jika Anda memiliki kernel terbaru, dan meneruskan loop.max_part=63 saat boot (jika loop sudah terpasang) atau ke modprobe (jika loop adalah modul), maka Anda dapat melakukannya dengan cara ini:
losetup /dev/loop0 myimage.disk
partprobe /dev/loop0 # Re-read partition table if /dev/loop0 was used with a different image before
mount /dev/loop0p1 /mnt/myimage
Setelah selesai dengan loop:
losetup -d /dev/loop0
Menemukan ini:
http://www.andremiller.net/content/mounting-hard-disk-image-includes-partitions-using-linux
yang tampaknya persis seperti yang saya cari.
Inilah bagian kuncinya:
mount -o loop,ro,offset=32256 hda.img /mnt/rabbit
di mana nilai offset dalam byte. Cara yang disarankan untuk mendapatkan offset adalah dengan menunjuk parted
pada gambar, lalu unit B untuk byte dan ambil nilai awal dari hasil cetak. Sebagai alternatif, dengan asumsi Anda memiliki ruang disk, lakukan yang sudah jelas:setelah Anda memiliki offset dan ukuran, cukup gunakan dd
untuk mengekstrak setiap partisi ke file terpisah.
Saat ini Anda dapat meminimalkan pekerjaan Anda dengan menggunakan udisks
. Solusi dari ArchWiki:udisks - Pasang perangkat loop
Untuk memasang image ISO dengan mudah, gunakan perintah berikut:
udisksctl loop-setup -r -f image.iso
Ini akan membuat perangkat loop dan menampilkan image ISO yang siap dipasang. Setelah dilepas, perangkat loop akan diakhiri oleh udev.
-r
di sana untuk opsi hanya baca.