{"id":2018,"date":"2020-02-22T17:44:29","date_gmt":"2020-02-22T09:44:29","guid":{"rendered":"https:\/\/sumju.net\/?p=2018"},"modified":"2020-02-22T18:13:58","modified_gmt":"2020-02-22T10:13:58","slug":"linux-img%e9%95%9c%e5%83%8f%e6%89%a9%e5%ae%b9%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/sumju.net\/?p=2018","title":{"rendered":"Linux img\u955c\u50cf\u6269\u5bb9\u65b9\u6cd5"},"content":{"rendered":"<p>\u6269\u5bb9image\u6587\u4ef6\u65b9\u6cd5\uff1a<br \/>\n\u6211\u4eec\u4f7f\u7528qemu-img \u5de5\u5177<\/p>\n<pre>\r\n\u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u7ed9img\u6587\u4ef6\u8ffd\u52a050G\u7a7a\u95f4\uff1a\r\n\r\n<code>qemu-img resize $img +50G<\/code>\r\nImage resized.\r\n\r\n<\/pre>\n<p>You can mount the image and check that it has the correct size:<\/p>\n<pre>\r\n\u7528kpartx\u5de5\u5177\u6302\u8f7dimg\u6587\u4ef6\uff1a\r\n<code>kpartx -v -a $img<\/code>\r\nadd map loop0p1 (254:13): 0 195318207 linear \/dev\/loop0 63\r\n<\/pre>\n<pre>\r\n\u67e5\u770b\u6302\u8f7d\u540e\u7684\u4fe1\u606f:\r\n\r\n<code>parted \/dev\/loop0 print<\/code>\r\n\r\nModel:  (file)\r\nDisk \/dev\/loop0: 215GB\r\nSector size (logical\/physical): 512B\/512B\r\nPartition Table: msdos\r\n\r\nNumber  Start   End    Size   Type     File system  Flags\r\n 1      32.3kB  100GB  100GB  primary  ext3\r\n..\r\n\u5220\u6389\u5f53\u524d\u5206\u533a\u8868\u5206\u533a1\r\n<code>parted \/dev\/loop0 rm 1<\/code>\r\n\u91cd\u65b0\u6309\u7167\u65b0\u7a7a\u95f4\u5927\u5b66\u521b\u5efa\u5206\u533a\u8868\uff08\u4e0a\u9762\u4fe1\u606f\u4e2d\u6709\u65b0\u5927\u5c0f\u548c\u5f00\u59cb\u5b57\u8282\u6570\uff09\r\n<code>parted \/dev\/loop0 mkpart primary ext3 32.3kB 215GB<\/code>\r\n\u91cd\u65b0\u6253\u5370\u5206\u533a\u68c0\u67e5\u5206\u533a\u4fe1\u606f\r\n<code>parted \/dev\/loop0 print<\/code>\r\n<\/pre>\n<pre>\r\n\u91cd\u65b0\u6302\u8f7d\u955c\u50cf\uff1a\r\n<code>kpartx -d $img<\/code>\r\nloop deleted : \/dev\/loop0\r\n<code>kpartx -v -a $img<\/code>\r\nadd map loop0p1 (254:13): 0 419430337 linear \/dev\/loop0 63\r\n<\/pre>\n<pre>\r\n\u6269\u5bb9\u65b0\u589e\u7a7a\u95f4\u5230\u6700\u540e\u4e00\u4e2a\u5206\u533a\r\n<pre>\r\n\u68c0\u67e5\u540e\u6269\u5bb9\u7684\u5206\u533a\r\n<code>e2fsck -f \/dev\/mapper\/loop0p1<\/code>\r\ne2fsck 1.42.5 (29-Jul-2012)\r\n\/dev\/mapper\/loop0p1: recovering journal\r\nPass 1: Checking inodes, blocks, and sizes\r\nPass 2: Checking directory structure\r\nPass 3: Checking directory connectivity\r\nPass 4: Checking reference counts\r\nPass 5: Checking group summary information\r\n\/dev\/mapper\/loop0p1: 41753\/6111232 files (9.1% non-contiguous), 23479003\/24414775 blocks\r\n<\/pre>\n<pre>\r\n\u6269\u5bb9\u5206\u533a\r\n<code>resize2fs \/dev\/mapper\/loop0p1<\/code>\r\nresize2fs 1.42.5 (29-Jul-2012)\r\nResizing the filesystem on \/dev\/mapper\/loop0p1 to 52428792 (4k) blocks.\r\nThe filesystem on \/dev\/mapper\/loop0p1 is now 52428792 blocks long.\r\n<\/pre>\n<pre>\r\n\u5378\u8f7d\u955c\u50cf\uff0c\u91cd\u65b0\u6302\u8f7d\uff0cmount \u5206\u533a\u5230\u7cfb\u7edf\uff0c\u7528df\u67e5\u770b\u7a7a\u95f4\r\n<code>mount \/dev\/mapper\/loop0p1 \/mnt<\/code>\r\n<code>df -h \/mnt<\/code>\r\nFilesystem           Size  Used Avail Use% Mounted on\r\n\/dev\/mapper\/loop0p1  197G   89G  109G  45% \/mnt\r\n<\/pre>\n<pre>\r\n\u5378\u8f7dimg\u6587\u4ef6\u6536\u5de5\r\n<code>umount \/mnt<\/code>\r\n<code>kpartx -d $img<\/code>\r\nloop deleted : \/dev\/loop0\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6269\u5bb9image\u6587\u4ef6\u65b9\u6cd5\uff1a \u6211\u4eec\u4f7f\u7528qemu-img \u5de5\u5177 \u4f7f\u7528\u4e0b\u9762\u547d\u4ee4\u7ed9img\u6587\u4ef6\u8ffd\u52a050G\u7a7a\u95f4\uff1a &hellip; <a href=\"https:\/\/sumju.net\/?p=2018\" class=\"more-link read-more\" rel=\"bookmark\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">Linux img\u955c\u50cf\u6269\u5bb9\u65b9\u6cd5<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[14],"tags":[],"class_list":{"0":"post-2018","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"hentry","6":"category-linux","7":"h-entry","9":"h-as-article"},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/posts\/2018","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sumju.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2018"}],"version-history":[{"count":7,"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/posts\/2018\/revisions"}],"predecessor-version":[{"id":2032,"href":"https:\/\/sumju.net\/index.php?rest_route=\/wp\/v2\/posts\/2018\/revisions\/2032"}],"wp:attachment":[{"href":"https:\/\/sumju.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sumju.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sumju.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}