How do I mount a partition that is in an image file?
I have a file called centos.img that has 3 partitions in the file. I need to copy data to the third partition on that image file.
I have seen things about a loop back device (which is fine) but then it talked about an offset parameter and I dont know what that is or more importantly what number to use. I hope I'm on the right track.
How do I mount it?
THanks,
Jerry
On Wed, 2006-08-23 at 10:02 -0400, Jerry Geis wrote:
How do I mount a partition that is in an image file?
I have a file called centos.img that has 3 partitions in the file. I need to copy data to the third partition on that image file.
I have seen things about a loop back device (which is fine) but then it talked about an offset parameter and I dont know what that is or more importantly what number to use. I hope I'm on the right track.
How do I mount it?
Just assign the whole thing to a loop device. Then do an
"sfdisk -l /dev/loop0" # or whichever loop you used
If it is truly an image file, at that point it *appears* identical to a real device. I've added little sample I ran, since I know this can be scary.
Offset is just if you need to start elsewhere from the beginning. If you're using LVM, you'll have more work to do.
==================================================================== # Pardon my verbosity as I set up a test scenario. # lvextend --extents +40 VolGroupTemp/LogVol00 Extending logical volume LogVol00 to 1.62 GB Logical volume LogVol00 successfully resized
mke2fs -b 4096 -m 0 -N 128 /dev/VolGroupTemp/LogVol00 <snip extremely fascinating refs to momentous cosmological events>
Maximum filesystem blocks=436207616 ... Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912
Writing inode tables: done Writing superblocks and filesystem accounting information: done ...
# mount -t ext2 /dev/VolGroupTemp/LogVol00 /VolGroupTemp/LogVol00/ # dd if=/dev/hda of=/VolGroupTemp/LogVol00/hda_image bs=8225280 <snip> # losetup /dev/loop0 /VolGroupTemp/LogVol00/hda_image
[root@server01 ~]# sfdisk -l -uS /dev/loop0 Disk /dev/loop0: cannot get geometry
Disk /dev/loop0: 0 cylinders, 0 heads, 0 sectors/track Warning: The partition table looks like it was made for C/H/S=*/255/63 (instead of 0/0/0). For this listing I'll assume that geometry. Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System /dev/loop0p1 * 63 208844 208782 83 Linux /dev/loop0p2 208845 2506139 2297295 8e Linux LVM /dev/loop0p3 0 - 0 0 Empty /dev/loop0p4 0 - 0 0 Empty
# dc 63 512*pq 32256
# losetup -o 32256 /dev/loop1 hda_image # e2fsck /dev/loop1 e2fsck 1.35 (28-Feb-2004) /boot: clean, 43/26104 files, 19763/104388 blocks
# mkdir /mnt/temp # du -s /mnt/temp/* # Snipped below for brevity 51 /mnt/temp/config-2.6.9-34.0.1.EL 211 /mnt/temp/grub 986 /mnt/temp/initrd-2.6.9-34.0.1.EL.img ... 1442 /mnt/temp/vmlinuz-2.6.9-34.0.2.EL 1442 /mnt/temp/vmlinuz-2.6.9-34.EL
# dc 32256 208782 512*+pq 106928640 # losetup -o 106928640 /dev/loop2 hda_image # pvdisplay /dev/loop2 Found duplicate PV 602X4Js851U78eRzvYP3Fhyf4F8A1v68: using /dev/hda2 not /dev/loop2 Found duplicate PV 602X4Js851U78eRzvYP3Fhyf4F8A1v68: using /dev/loop2 not /dev/hda2 --- Physical volume --- PV Name /dev/loop2 VG Name VolGroup00 PV Size 1.09 GB / not usable 0 Allocatable yes (but full) PE Size (KByte) 32768 Total PE 35 Free PE 0 Allocated PE 35 PV UUID 602X4J-s851-U78e-RzvY-P3Fh-yf4F-8A1v68 =================================================================
THanks,
Jerry
<snip sig stuff>
HTH
On Wed, 2006-08-23 at 11:48 -0400, William L. Maltby wrote:
On Wed, 2006-08-23 at 10:02 -0400, Jerry Geis wrote:
How do I mount a partition that is in an image file?
<snip>
OOPS! Forgot to show mount below
# mkdir /mnt/temp
mount -t auto -o ro /dev/loop1 /mnt/temp
# du -s /mnt/temp/* # Snipped below for brevity 51 /mnt/temp/config-2.6.9-34.0.1.EL ... <snip>
How do I mount a partition that is in an image file?
I have a file called centos.img that has 3 partitions in the file. I need to copy data to the third partition on that image file.
I have seen things about a loop back device (which is fine) but then it talked about an offset parameter and I dont know what that is or more importantly what number to use. I hope I'm on the right track.
How do I mount it?
Partitions in an image file. Interesting. I would first mount the image .. "mount centos.img /some/dir -o loop"
If that doesn't work .. I would need to know more about the partitioning and the image .. how was it created ... are there filesystems on these partitions, and if so, what are they?
Hope this helps, Barry