ฉันจะขยายอิมเมจดิสก์ดิบได้อย่างไร


13

ddภาพอย่างเป็นทางการที่จัดเป็นภาพดิสก์ดิบซึ่งจะได้รับการสร้างขึ้นโดยใช้

ฉันจะทำให้รูปภาพใหญ่ขึ้นได้อย่างไร ฉันไม่สนใจที่จะแบ่งพาร์ติชันที่กล่าวถึงภาพตามที่ได้รับการตอบแล้วในฉันจะปรับขนาดพาร์ทิชัน / (ราก) ของฉันได้อย่างไร .


ไม่แน่ใจว่าคุณหมายถึงอะไรโดยการขยาย คุณกำลังมองหา 'การปรับขนาดพาร์ติชัน' บนอิมเมจก่อนที่จะไปยังดิสก์หรือไม่?
Joost

นั่นคือเป้าหมายหนึ่ง แต่เพื่อที่จะทำเช่นนั้นหนึ่งจะต้องขยายภาพดิสก์
Alex Chamberlain

คำตอบ:


13

ตามที่อธิบายในคำถามนี้มีสองวิธีในการขยายภาพ ด้านล่างเป็นสองตัวอย่างในการขยายไฟล์ 1 กิโลไบต์

DD สร้างไฟล์ที่ไม่กระจัดกระจาย

dd if=/dev/zero bs=1k count=1 >> myimage.img

Truncate สร้างไฟล์แบบกระจาย

truncate -s +1024 myimage

คุณอาจต้องการใช้การตัดทอน ไฟล์ที่กระจัดกระจายจะเขียนเฉพาะเมตาดาต้าของบล็อกที่ใช้แทนการเขียนบล็อกจริง ๆ สิ่งนี้ทำให้การสร้างไฟล์เร็วขึ้น (เนื่องจากไม่จำเป็นต้องเขียนศูนย์จริงลงในดิสก์) และช่วยประหยัดพื้นที่บนดิสก์ของคุณ

หมายเหตุระบบไฟล์ HFS + ของ Apple ไม่รองรับไฟล์แบบกระจาย


HFS + ไม่สอดคล้องกับ POSIX หรือไม่ linux.die.net/man/2/truncate
Alex Chamberlain

หากสนับสนุนไฟล์กระจัดกระจายเป็นข้อกำหนดสำหรับ POSIX ฉันเดาไม่ได้ นี่คือการสาธิตที่ดีของความแตกต่างระหว่าง HFS + และต่อบางคน (ผมคิดว่า) เดอะstackoverflow.com/a/193015/689893 ดูเหมือนจะสร้างไฟล์ แต่ใช้พื้นที่ดิสก์เช่นเดียวกับไฟล์ปกติแทนที่จะเป็นไฟล์แบบกระจาย
Joost

ไม่ฉันคิดว่าฉันเข้าใจผิด!
Alex Chamberlain

หากคุณddเป็นไฟล์แบบเบาบางมันจะยังอยู่ใช่ไหม
Alex Chamberlain

ไฟล์กระจัดกระจายมีข้อมูลดังนั้นฉันเดาว่าคุณสามารถเพิ่มเลขศูนย์ได้ มันจะจัดการส่วนนั้นแบบไม่เบาบาง
Joost

10

เป็นวิธีที่ง่ายอย่างไม่น่าเชื่อในการปรับขนาดของภาพที่จะใช้เป็นหนึ่งในเครื่องมือที่เรียกว่าqemu qemu-imgหลักสูตรนี้ขึ้นอยู่กับความจริงที่ว่าคุณได้qemuติดตั้ง (ซึ่งฉันรู้ว่าคุณได้ทำ Alex แล้ว)

คำสั่งมีลักษณะดังนี้:

qemu-img resize filename [+|-]size[K|M|G|T]

filenameไฟล์รูปภาพอยู่ที่ไหนและขนาดคือขนาดที่คุณต้องการขยาย (หรือย่อขนาด) รูปภาพ

ตัวอย่างเช่นถ้าคุณต้องการที่จะขยายภาพarcharm.imgโดย 2GB คุณจะรัน:

qemu-img resize archarm.img +2G

การอ้างถึง manpage ก่อนที่จะใช้คำสั่งนี้เพื่อย่อขนาดอิมเมจดิสก์คุณต้องใช้ระบบไฟล์และเครื่องมือการแบ่งพาร์ติชันภายใน VM เพื่อลดระบบไฟล์ที่จัดสรรและขนาดพาร์ติชันตามลำดับ การไม่ทำเช่นนั้นจะทำให้ข้อมูลสูญหาย!
AntonioK
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.