{"id":1046,"date":"2014-06-03T15:47:11","date_gmt":"2014-06-03T14:47:11","guid":{"rendered":"https:\/\/www.hutsky.cz\/blog\/?p=1046"},"modified":"2014-06-09T10:19:54","modified_gmt":"2014-06-09T09:19:54","slug":"mount-a-disk-image-containing-lvm","status":"publish","type":"post","link":"https:\/\/www.hutsky.cz\/blog\/2014\/06\/mount-a-disk-image-containing-lvm\/","title":{"rendered":"Mount a disk image containing LVM"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1043\" alt=\"Hard_Disk\" src=\"https:\/\/www.hutsky.cz\/blog\/wp-content\/uploads\/Hard_Disk.png\" width=\"180\" height=\"180\" srcset=\"https:\/\/www.hutsky.cz\/blog\/wp-content\/uploads\/Hard_Disk.png 180w, https:\/\/www.hutsky.cz\/blog\/wp-content\/uploads\/Hard_Disk-150x150.png 150w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/>If you have an image with standard partitions, you can mount any partition as a loopback device using the offset given by <em>fdisk<\/em>:<\/p>\n<pre>user@machine:\/home\/user#  fdisk -l disk.img\r\n\r\nDisk disk.img: 750.2 GB, 750156374016 bytes\r\n255 heads, 63 sectors\/track, 91201 cylinders, total 1465149168 sectors\r\nUnits = sectors of 1 * 512 = 512 bytes\r\nSector size (logical\/physical): 512 bytes \/ 512 bytes\r\nI\/O size (minimum\/optimal): 512 bytes \/ 512 bytes\r\nDisk identifier: 0x00073e63\r\n\r\n\u00a0\u00a0 Device Boot\u00a0\u00a0\u00a0\u00a0\u00a0 Start\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End\u00a0\u00a0\u00a0\u00a0\u00a0 Blocks\u00a0\u00a0 Id\u00a0 System\r\n\/dev\/sda1\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2048\u00a0\u00a0 204802047\u00a0\u00a0 102400000\u00a0\u00a0\u00a0 7\u00a0 HPFS\/NTFS\/exFAT\r\n\/dev\/sda2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 204804094\u00a0 1465147391\u00a0\u00a0 630171649\u00a0\u00a0\u00a0 5\u00a0 Extended\r\n\/dev\/sda5\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 204804096\u00a0 1457340415\u00a0\u00a0 626268160\u00a0\u00a0 83\u00a0 Linux\r\n\/dev\/sda6\u00a0\u00a0\u00a0\u00a0\u00a0 1457342464\u00a0 1465147391\u00a0\u00a0\u00a0\u00a0 3902464\u00a0\u00a0 82\u00a0 Linux swap \/ Solaris<\/pre>\n<p>The sda5 partition starts on sector 204804096. We know from fdisk -l that one sector is made of 512 bytes, so we need to multiply that number:\u00a0204804096 * 512 =\u00a0104859697152<\/p>\n<p>Now we can mount the partition using the specified offset (in bytes):<\/p>\n<pre>mount -o loop,offset=104859697152 -t ext4 \/dev\/sda5 \/mnt<\/pre>\n<h2>LVM<\/h2>\n<p>However, if there is LVM inside that image, the above described procedure won&#8217;t work. In this case, we need to use the whole image as a loop device first:<\/p>\n<pre>user@machine:\/home\/user#  fdisk -l lvmdisk.raw\r\n\r\nDisk lvmdisk.raw: 250.1 GB, 250058268160 bytes\r\n255 heads, 63 sectors\/track, 30401 cylinders, total 488395055 sectors\r\nUnits = sectors of 1 * 512 = 512 bytes\r\nSector size (logical\/physical): 512 bytes \/ 512 bytes\r\nI\/O size (minimum\/optimal): 512 bytes \/ 512 bytes\r\nDisk identifier: 0x000bad8e\r\n\r\nDevice Boot\u00a0\u00a0\u00a0\u00a0\u00a0 Start\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End\u00a0\u00a0\u00a0\u00a0\u00a0 Blocks\u00a0\u00a0 Id\u00a0 System\r\n\/home\/user\/lvmdisk.raw1\u00a0\u00a0 *\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 63\u00a0\u00a0\u00a0\u00a0\u00a0 208844\u00a0\u00a0\u00a0\u00a0\u00a0 104391\u00a0\u00a0 83\u00a0 Linux\r\n\/home\/user\/lvmdisk.raw2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 208845\u00a0\u00a0 488392064\u00a0\u00a0 244091610\u00a0\u00a0 8e\u00a0 Linux LVM<\/pre>\n<p><em>losetup<\/em> is used to set up and control the loop device on <em>\/dev\/loop0<\/em>, while <em>kpartx<\/em> maps the partitions of the image and maps them as virtual block devices in <em>\/dev\/mapper<\/em>.<\/p>\n<pre>losetup \/dev\/loop0 lvmdisk.raw\r\nkpartx -a \/dev\/loop0<\/pre>\n<p>We&#8217;ll now be able to see the partitions in <em>\/dev\/mapper\/<\/em> as <em>\/dev\/mapper\/loop0p1<\/em> and <em>\/dev\/mapper\/loop0p2<\/em>. Now, we can work with volume groups as usual<\/p>\n<pre>vgscan\r\nvgchange -ay VolGroup00\r\nmount -t ext4 \/dev\/mapper\/VolGroup00-LogVol00 \/mnt<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>If you have an image with standard partitions, you can mount any partition as a loopback device using the offset given by fdisk: user@machine:\/home\/user# fdisk -l disk.img Disk disk.img: 750.2 GB, 750156374016 bytes 255 heads, 63 sectors\/track, 91201 cylinders, total &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"more-link\" href=\"https:\/\/www.hutsky.cz\/blog\/2014\/06\/mount-a-disk-image-containing-lvm\/\"> <span class=\"screen-reader-text\">Mount a disk image containing LVM<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[18,13],"class_list":["post-1046","post","type-post","status-publish","format-standard","hentry","category-operatingsystems","tag-linux","tag-os"],"_links":{"self":[{"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/posts\/1046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/comments?post=1046"}],"version-history":[{"count":26,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/posts\/1046\/revisions"}],"predecessor-version":[{"id":1125,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/posts\/1046\/revisions\/1125"}],"wp:attachment":[{"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/media?parent=1046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/categories?post=1046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hutsky.cz\/blog\/wp-json\/wp\/v2\/tags?post=1046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}