dd
ผมเองชอบที่จะผนวกการใช้
ฉันสมมุติว่ามี 512- ส่วนไบต์ที่นี่ อาจมีกรณีสำหรับภาค 2048 ไบต์ดังนั้นเพียงแค่สลับตัวเลขในและทำคณิตศาสตร์
ในแต่ละกรณีฉันใช้ไฟล์ทดสอบ 512MB ตัวอย่างเช่น:
dd if=/dev/zero of=testfs.img bs=512 count=1M
mkfs.ext4 testfs.img
MBR
การแต่งภาพ
โดยส่วนตัวฉันต้องการผนวก MB แรก (2048 ส่วน) เพื่อเริ่มต้น:
dd if=testfs.img skip=2048 bs=512 of=full.img
สุดท้ายเรียกใช้ fdisk เพื่อสร้างตารางพาร์ติชัน (หรือคัดลอกด้วยตัวคุณเอง) ฉันสร้างพาร์ติชัน 1 รายการโดยใช้ค่าเริ่มต้น
การตรวจสอบ
หากต้องการตรวจสอบให้สร้างพาร์ติชันวนซ้ำและตรวจจับอัตโนมัติ:
sudo losetup -fP full.img
และรันfile
บนอุปกรณ์ลูปแบ็คที่แบ่งพาร์ติชันแล้วได้ผล:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
GPT
การแต่งภาพ
ฉันเองต้องการผนวก MB แรกต่อไป (2048 ส่วนเนื่องจาก gdisk จะใช้ค่าเริ่มต้นเป็นตัวเลขนี้เนื่องจากมีการจัดตำแหน่ง 1 MB) สำหรับการเริ่มต้นสำหรับ MBR เริ่มต้นและ 34 ส่วนสิ้นสุด (หรือ 2048 สำหรับเต็ม MB) สำหรับจุดสิ้นสุด GPT (ส่วนท้ายอาจแตกต่างกัน) การละเว้นจุดสิ้นสุด GPT อาจทำให้ข้อมูลของคุณสูญหาย:
dd if=testfs.img skip=2048 bs=512 of=full.img
dd if=/dev/zero seek=1050624 bs=512 of=full.img count=34
สุดท้ายเรียกใช้ gdisk เพื่อสร้างตารางพาร์ติชัน (หรือคัดลอกด้วยตัวคุณเอง) ฉันสร้างพาร์ติชั่น 1 ตัวโดยใช้ค่าเริ่มต้น
การตรวจสอบ
หากต้องการตรวจสอบให้สร้างพาร์ติชันวนซ้ำและตรวจจับอัตโนมัติ:
sudo losetup -fP full.img
และรันfile
บนอุปกรณ์ลูปแบ็คที่แบ่งพาร์ติชันแล้วได้ผล:
sudo file -s /dev/loop2p1
/dev/loop2p1: Linux rev 1.0 ext4 filesystem data, UUID=ae2945fd-54b5-486f-8dd0-9b18d6ae01b4 (extents) (large files) (huge files)
วิธีนี้ทำให้มั่นใจได้ว่าจะไม่มีการเดาปรับขนาดหรือจัดตำแหน่งด้วยตนเอง