เปลี่ยนความจุของ DMG


20

เมื่อเปลี่ยน mac HDD เป็น SSD ฉันพบปัญหาต่อไปนี้:

ฉันสร้างภาพ DMG ของ HDD ตัวเก่าซึ่งมีความจุ 320GB ไฟล์ DMG จดจำและบันทึกความจุในภาพและปัญหาคือ SSD ของฉันมีขนาด 120GB เท่านั้นดังนั้นจึงไม่สามารถใช้ DMG ได้หากฉันไม่สามารถลดความจุลงได้อย่างใด ..

แก้ไข : จำนวนพื้นที่ที่ใช้ทั้งหมดในภาพเพียง 15GB ..

ฉันเคยดูhdiutilแต่จริง ๆ แล้วฉันเป็นนักพัฒนาทางรถไฟดังนั้นฉันจึงไม่ได้สิ่งนี้ ..

มีวิธีใดบ้างในการใช้สิ่งนี้หรือประโยชน์อื่นเพื่อลดความสามารถของ DMG?

ขอบคุณ!

คำตอบ:


39

ไม่มีวิธีที่ดีผ่านทาง GUI ที่ฉันได้เห็นการทำเช่นนี้ - คุณต้องใช้hdiutilตามที่คุณถาม มันเป็นคำสั่งด่วน หากต้องการปรับขนาด (เปลี่ยน 25G เป็นสิ่งที่คุณต้องการ)

hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg

อีกวิธีในการบีบอัดคือการโคลนอิมเมจของดิสก์เป็น sparsebundle จากนั้นทำการบีบอัด sparsebundle สิ่งนี้อาจหรืออาจไม่ทำงานขึ้นอยู่กับว่ามีการบีบอัดเท่าใด

ขั้นแรกให้สร้างอิมเมจดิสก์ซึ่งทำมิเรอร์ดิสก์อิมเมจเก่า:

hdiutil convert /location/of/disk.dmg -format UDSP -o /PATH/TO/NEWIMAGE.sparseimage

จากนั้นบีบอัด sparseimage ที่เกิด:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

หากคำสั่งเหล่านี้ใช้ไม่ได้แสดงว่ามีบางอย่างเกี่ยวกับดิสก์อิมเมจและ / หรือการอนุญาตของคุณ

ฉันใช้เวลาเล่นกับhdiutilมันมากและอยู่ไกลจากความไร้ที่ติ - ฉันได้พบและส่งข้อบกพร่องใน Snow Leopard ที่ยังไม่ได้รับการแก้ไขใน Mountain Lion ดังนั้นหากคุณมีพฤติกรรมแปลก ๆ ถูกวาง!


ฉันลองสิ่งนี้แล้ว แต่คำกริยาที่ปรับขนาดทำให้เกิดปัญหาการอนุญาตตอนนี้ฉันกำลังสร้างอิมเมจดิสก์ RW ของเพื่อดูว่าใช้งานได้หรือไม่
ทิมบาส

ด้วยอิมเมจดิสก์ RW ของฉันฉันสามารถใช้คำกริยาปรับขนาดและลดขนาดรูปภาพเป็น 120G ทำให้มีความจุ 128,85 GB .. นั่นเป็นวิธีที่ถูกต้อง แต่ก็ยังไม่เพียงพอที่จะพอดีกับ SSD ของฉัน .. compact failed - function not implementedคำกริยาที่มีขนาดกะทัดรัดใช้งานไม่ได้มันบอกว่า
ทิมบาส

@TimBaas Kinda ปลาย แต่ถ้าคุณได้รับสิทธิ์ปัญหา (บางทีคุณอาจไม่ได้มีสิทธิ์ในการเขียนบน DMG) sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmgคุณสามารถใช้ ฉันเพิ่งทำมันด้วยดิสก์อิมเมจสำรอง Time Machine ของฉันและดูเหมือนว่าจะไม่ได้รับอนุญาตใด ๆ
sudo

ฉันแปลงเป็นภาพกระจัดกระจายด้วยคำสั่งที่สองของคุณ แต่แล้วทั้งไม่compactและresizeจะไม่ทำงานกับมัน compactบอกว่ามันถูกตัดเป็น 0 ไบต์ แต่ฉันมี 40GiB ฟรี convertกล่าวว่าขนาดเล็กเกินไป ปริมาณการซื้อขายเป็น Mac OS Extended (Journaled)
sudo

1

ลองอันนี้:

hdiutil compact image.dmg

แต่อย่างที่คุณเห็นในhdiutil manual :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.

ขอบคุณสำหรับปฏิกิริยาของคุณ .. เมื่อดำเนินการคำสั่งนี้ฉันได้รับการตอบสนองว่าพวกเขามีปัญหาสิทธิ์ .. อาจเป็นเพราะ dmg เป็นดิสก์อิมเมจที่จัดรูปแบบอ่านอย่างเดียว .. ตอนนี้ฉันมี Carbon Copy Cloner สร้างสำเนาผ่าน FireWire ..
ทิม Baas

คุณสามารถใช้ Mac OS X Disk Utility เพื่อแปลงภาพจาก ro เป็น rw

ฉันได้ทำงานกับ CCC แล้วขอบคุณสำหรับความช่วยเหลือของคุณ!
ทิมบาส

1

หลังจาก cjc ชี้ไปที่ถามคำถามที่ apple.stackexchange.com ฉันทำ เมื่อถามคำถามฉันได้ไปทำภารกิจที่เกี่ยวข้องโดยมีคนตอบว่าให้ลองใช้ Carbon Copy Cloner

Carbon Copy Cloner โคลนไฟล์ผ่าน FireWire ไปยัง SSDisk ของฉันไม่ต้องถามเลยและทุกอย่างเป็นไปอย่างที่ควรจะเป็น ..

นี่คือคำถามที่ฉันหมายถึง:

กู้คืนระบบจาก DMG (ดิสก์ต้นทางต้นฉบับมีขนาดใหญ่กว่าปลายทาง)

สำหรับผู้ที่คุณต้องการปรับขนาดดิสก์อิมเมจ:

ทำให้ดิสก์อิมเมจของคุณเป็นแบบอ่าน - เขียนใน Disk Utility ของ Mac:

เมานต์ดิสก์เลือกแล้วคลิกอิมเมจของดิสก์ใหม่ เลือกอ่าน - เขียนในโครงสร้างอิมเมจของดิสก์แบบหล่นลงแล้วคลิกบันทึก (ระบบปฏิบัติการของฉันคือดัตช์ดังนั้นนี่คือการแปลของฉันเอง)

ใช้hdiutilเพื่อปรับขนาดดิสก์อิมเมจ:

ในเทอร์มินัล: hdiutil resize -size 100G /location/of/disk.dmg. คุณสามารถแทนที่ 100G ตามขนาดที่คุณต้องการ

ไม่บังคับ (ใช้งานไม่ได้สำหรับฉัน) คุณสามารถลองย่อขนาดได้:

ในเทอร์มินัล: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

สิ่งนี้จะสร้างภาพที่กระจัดกระจาย

แล้ว: hdiutil compact /location/of/SPARSE/disk.dmg.sparseimage

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


0

พยายามทั้งหมดนี้เพื่อประโยชน์ hdiutil จะไม่ให้ฉันปรับขนาดต่ำกว่าเกณฑ์ที่แน่นอน (ต่ำกว่า OP มาก)

คำตอบง่ายๆ:

  1. สร้างไฟล์ DMG ใหม่ตามขนาดที่คุณต้องการ
  2. คัดลอกไฟล์ทั้งหมดจาก DMG เก่า
  3. ปิดและเปิด DMG ใหม่และตรวจสอบว่าใช้ได้ทั้งหมด
  4. ถังขยะ / สำรอง / เก็บถาวร DMG เก่า

ฉันไม่แน่ใจว่าจะทำอย่างไรเมื่อคัดลอกระบบ cpทำให้ฉันมีข้อผิดพลาดมากมายสำหรับไฟล์พิเศษ
sudo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.