Komutu çalıştırmayı deneyin fdisk -l <img file>
. Genelde, eğer .img
dosyaların tümü bir diskten KVM VM ise, teknik olarak sanal bir disktirler.
Örnek
Bu file
komutla böyle görünen bir CentOS KVM VM'ye sahibim :
$ file centostest.img
centostest.img: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 20755980 sectors, code offset 0x48
Onunla çalışan fdisk
:
$ sudo /sbin/fdisk -lu /kvm/centostest.img
last_lba(): I don't know how to handle files with mode 81ed
You must set cylinders.
You can do this from the extra functions menu.
Disk /kvm/centostest.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/kvm/centostest.img1 * 63 208844 104391 83 Linux
/kvm/centostest.img2 208845 20964824 10377990 8e Linux LVM
Partition 2 has different physical/logical endings:
phys=(1023, 254, 63) logical=(1304, 254, 63)
Bu bölümlerden birini monte etmek istiyorsanız, aşağıdakileri yapabilirsiniz:
fdisk (silindir çıkışı)
- blok büyüklüğü 512 bayt ve başlangıç bloğu 63'tür.
- Ofset 512 * 63 = 32256.
fdisk (sektör çıktısı)
- blok boyutu 512 bayt ve başlangıç bloğu 1'dir.
- Ofset 512 * 1 = 512'dir.
Yani mount komutu şöyle olurdu:
silindirlerde
$ mount -o loop,offset=32256 centostest.img /mnt/tmp
Diğer bölümü monte etmek için (512 * 208845 = 106928640):
$ mount -o loop,offset=106928640 centostest.img /mnt/tmp
sektörlerde
$ mount -o loop,offset=512 centostest.img /mnt/tmp
Diğer bölümü monte etmek için (512 * 14 = 7168):
$ mount -o loop,offset=7168 centostest.img /mnt/tmp
NOT
Bu yalnızca mount, mount yapmaya çalıştığınız "bölüm" içindeki dosya sisteminin türünü belirleyebiliyorsa işe yarar. Dahil etmeniz -t auto
veya spesifik olmanız ve mount
bunun -t ext4
örneğin olduğunu söylemeniz gerekebilir .
Referanslar
# mount -t auto -o ro,loop,offset=512 gmapsupp.img /mnt/iso/
\mount: you must specify the filesystem type