เช่นเดียวกับชื่อกล่าวว่า: เป็นไปได้ที่จะปรับขนาดดิสก์อิมเมจ QEMU ใน Linux หรือไม่? และถ้าเป็นเช่นนั้นจะเกิดอะไรขึ้นกับพาร์ติชั่นที่อยู่ภายใน? พวกเขาปรับขนาดโดยอัตโนมัติ (สงสัย) หรือมีเพียงบล็อกใหม่ของพื้นที่ที่ไม่ได้ใช้ติดตามพวกเขา?
เช่นเดียวกับชื่อกล่าวว่า: เป็นไปได้ที่จะปรับขนาดดิสก์อิมเมจ QEMU ใน Linux หรือไม่? และถ้าเป็นเช่นนั้นจะเกิดอะไรขึ้นกับพาร์ติชั่นที่อยู่ภายใน? พวกเขาปรับขนาดโดยอัตโนมัติ (สงสัย) หรือมีเพียงบล็อกใหม่ของพื้นที่ที่ไม่ได้ใช้ติดตามพวกเขา?
คำตอบ:
จากที่นี่ :
!!! สำรองดิสก์อิมเมจของคุณก่อนลองด้านล่าง !!!
หากคุณใช้ภาพที่กระจัดกระจายให้ทำ
dd if=/dev/zero of=hdd.img seek=N obs=1MB count=0"
โดยที่ hdd.img เป็นอิมเมจรูปแบบ raw ที่คุณต้องการปรับขนาดและ N คือขนาดใหม่ที่คุณต้องการให้ภาพเป็นเมกะไบต์ หากต้องการเปลี่ยนหน่วยของ N ให้เปลี่ยน obs เป็นอย่างอื่นเช่น 1GB สำหรับหน่วยเป็นกิกะไบต์ (1000x1000x1000)
หากคุณต้องการปรับขนาดภาพดิบ แต่คุณไม่ต้องการให้ภาพเบาบาง (คุณต้องการให้ศูนย์เหล่านั้นอยู่ในไฟล์) ให้ทำ "dd if = / dev / ศูนย์ของ = ภาพ = การค้นหา = S count = NS obs = 1" แทนโดยที่ N คือขนาดใหม่และ S คือขนาดเก่า (เป็นไบต์)
หากคุณต้องการปรับขนาดภาพ qcow2 นี่ยังไม่รองรับ
อีเมลนี้แสดงการทดลองบางอย่างด้วยการปรับขนาดภาพมอสโกด้วยโปรแกรมแก้ไขฐานสิบหก
การปรับขนาดหรือขยายรูปภาพในรูปแบบอื่น ๆ (VMware, Bochs, cow หรือ cloop) ไม่ได้รับการสนับสนุนอย่างเต็มที่จากความรู้ของฉัน
บนโฮสต์ Windows เป็นไปได้ที่จะปรับขนาดดิสก์อิมเมจรูปแบบดิบโดยใช้คำสั่ง 'คัดลอก' คุณสามารถใช้ qemu-img เพื่อแปลงภาพที่มีอยู่เป็นรูปแบบ raw หากต้องการ เราจะใช้อิมเมจดิสก์รูปแบบ raw ชั่วคราวที่จะผนวกเข้ากับอิมเมจดิสก์รูปแบบ raw ที่มีอยู่ของคุณ ขนาดของรูปภาพชั่วคราวนี้คือขนาดที่รูปภาพปัจจุบันจะถูกขยายโดย:
qemu-img create -f raw temp.img 300M
จากนั้นคุณควรออกคำสั่งด้านล่าง - orig.img เป็นรูปแบบภาพดิบที่คุณต้องการทำให้มีขนาดใหญ่ขึ้น temp.img เป็นไฟล์ภาพชั่วคราวที่สร้างขึ้นก่อนหน้านี้และ new.img เป็นภาพผลลัพธ์ที่ปรับขนาดแล้ว:
copy /b orig.img+temp.img new.img
จากนั้นคุณจะต้องแบ่งพาร์ติชันและปรับขนาดพาร์ติชันและระบบไฟล์ที่มีอยู่ในอิมเมจใหม่ วิธีการหนึ่งในการทำเช่นนี้คือการบูต gparted ใน QEMU ด้วย ispart gcded livecd iso และดิสก์อิมเมจใหม่
ลิงค์อื่น ๆ ที่คุณอาจต้องการตรวจสอบว่าข้างต้นไม่ทำงาน:
http://qemu-forum.ipi.fi/viewtopic.php?p=12362
http://kev.coolcavemen.com/2007/04/how-to-grow-any-qemu-system-image/
http: / /bryan-murdock.blogspot.com/2007/12/resize-qemukvm-windows-disk-image.html
http://www.larsen-b.com/Article/329.html
http://www.brabbel.net / WP / จดหมายเหตุ / 174
สามารถปรับขนาดรูปภาพ qcow2 ให้เติบโตด้วย qemu เวอร์ชันใหม่ / ปัจจุบัน ตัวอย่างเช่นฉันมี arch.qcow2 นั่นคือ 2G และฉันต้องการให้เป็น 50G ในกรณีนี้ฉันพิมพ์:
qemu-img resize arch.qcow2 50G
จากนั้น qemu บอกฉัน:
image resized
ฉันเพิ่งทำวันนี้ redhat มีเอกสารที่ดีอยู่บ้างใน qemu:
qemu-img: This image format does not support resize
คำตอบสั้น ๆ สำหรับปี 2017: เพื่อเพิ่มเช่น 30 GB ให้กับภาพดิบที่มีอยู่ฉันเพิ่งใช้คำสั่งนี้:
qemu-img resize nameofimg.img +30G
เพิ่มขนาด 30 GB ลงในไฟล์ภาพที่มีอยู่ของคุณ (ไม่จำเป็นต้องสร้างไฟล์ใหม่) จากนั้นใน Guest VM ของคุณคุณสามารถขยายพาร์ติชันที่มีอยู่ของคุณใน Windows 10 เช่นด้วย "การจัดการดิสก์" ได้อย่างง่ายดาย
ข้อมูลเพิ่มเติมและตัวเลือก:
man qemu-img
ดูเพิ่มเติมที่: qemu wiki> qemu-img
ใช่คุณสามารถ. และไม่มันจะไม่เปลี่ยนพาร์ติชันหรือตาราง ตารางพาร์ติชันอาจจำเป็นต้องได้รับการอัปเดตเพื่อให้มีขนาดดิสก์เต็มและจะมีพื้นที่ว่างที่ไม่ได้ใช้ในตอนท้ายถ้าคุณโตขึ้นและคุณจะสับพาร์ติชันและสูญเสียพาร์ทิชันหรือส่วนสุดท้ายของข้อมูลถ้าคุณย่อขนาด .
หากคุณอยู่ในหน้าจอ qemu (หรืออาจใช้QMP ) และอินเทอร์เฟซรองรับ (เช่น virtio-scsi-pci กับ rbd ที่ฉันทดสอบที่นี่) จากนั้นโดยไม่ต้องรีบูตเครื่อง VM คุณสามารถทำได้:
(qemu) info block -v disk1
disk1 (#block165): rbd:rbd/manjaro (raw)
Cache mode: writeback
Images:
image: rbd:rbd/manjaro
file format: raw
virtual size: 4.0G (4294967296 bytes)
[...]
(qemu) block_resize disk1 5120
และกะเทยภาพที่ถูกปรับขนาดให้เป็นขนาดที่คุณระบุใน MiB และ VM จะแสดงขนาดใหม่
ฉันทดสอบต่อไปนี้ใน qemu 2.7.0: