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


1

นี่คือรายการดิสก์สำหรับ iMac ของฉัน

ป้อนคำอธิบายรูปภาพที่นี่

ฉันกำลังพยายามรวมพาร์ติชัน macOS และ macOS 2 โดยใช้ diskutil mergePartitions ตอนนี้ปัญหาที่เกิดขึ้นคือการเรียกใช้คำสั่งนี้ macOS จะเก็บข้อมูลในพาร์ติชันแรกซึ่งเป็น macOS และจะลบทุกอย่างระหว่างพาร์ติชันแรกและพาร์ทิชันสุดท้าย ตอนนี้พาร์ติชั่นสุดท้ายคือ macOS 2

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

ที่นี่เป็นปัญหาที่เกิดขึ้น macOS ไม่อนุญาตให้ฉันเปลี่ยนลำดับของพาร์ติชัน

ดังนั้นฉันจึงติดอยู่กับการรวมพาร์ติชันจากบรรทัดคำสั่ง

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

อีกสิ่งหนึ่งที่ macOS คือไดรฟ์ข้อมูลแรกบนดิสก์เพื่อเอาออกจากโปรแกรมอรรถประโยชน์ dusk โดยใช้ตัวเลือกพาร์ติชันจะไม่เกิดขึ้น

คำตอบ:


1

คุณไม่สามารถขยาย disk0s4 เพื่อลดจำนวนบล็อกด้วยเครื่องมือออนบอร์ด! ที่ "ขยาย" disk0s4 คุณจะต้องลบ disk0s2 เพิ่มพาร์ทิชันใหม่ที่มีขนาดเดียวกันและประเภทเป็น disk0s4 disk0s1 โดยตรงต่อไปนี้ทั้งหมดที่มีgpt, dddisk0s4 เพื่อ disk0s2 ลบ disk0s3 และ disk0s4 ด้วยgptและในที่สุดก็ขยาย disk0s2 กับdiskutilในพื้นที่ไม่ได้ถูกจัดสรรระหว่าง disk0s2 และ disk0s5

แทนที่จะใช้สองขั้นตอนสุดท้ายคุณสามารถใช้diskutil mergePartitions ...คำสั่งได้

ทุกสิ่งที่บูทในโหมดการกู้คืนอินเทอร์เน็ตหรือไดรฟ์ภายนอกที่ติดตั้ง macOS


  • บูตโหมดการกู้คืนอินเทอร์เน็ตหรือบูตไดรฟ์ภายนอก (ถ้าคุณไม่ได้ Superuser คุณต้องย่อหน้าsudoไปgpt ...และdd ...คำสั่ง
  • รับภาพรวมและตรวจสอบดิสก์และไดรฟ์ (ซ่อมแซมถ้าจำเป็น):

    diskutil verifyDisk disk0
    diskutil verifyVolume disk0s2
    diskutil verifyVolume disk0s4
    diskutil list
    gpt -r show disk0
    
  • ลบ disk0s2:

    diskutil umountDisk disk0
    gpt remove -i 2 disk0
    
  • เพิ่มพาร์ติชันที่มีขนาดเท่ากับ disk0s3

    diskutil umountDisk disk0
    gpt add -i 2 -b 409640 -s 485642672 -t 48465300-0000-11AA-AA11-00306543ECAC disk0
    
  • คัดลอก disk0s4 ไปยัง disk0s2:

    diskutil umountDisk disk0
    dd if=/dev/disk0s4 of=/dev/disk0s2 bs=4m
    
  • ผสาน disk0s2-disk0s4 และเปลี่ยนชื่อmacOS 2เป็นmacOS :

    diskutil mergePartitions HFS+ "macOS" disk0s2 disk0s4 
    

ฉันจะวางผลลัพธ์ของคำสั่ง gpt เพื่อทำความเข้าใจขั้นตอนให้ดีขึ้น ฉันสับสนและฉันไม่ต้องการลบอะไรในความสับสน!
สายัณห์

โปรดวางเป็นข้อความ (ไม่ใช่ภาพหน้าจอ)!
klanomath

นี่คือ output pastebin.com/ud17Ribf
Sayan

หลังจากการรวมทั้งหมดเมื่อฉันบูตเข้าสู่ระบบปฏิบัติการฉันได้รับการต้อนรับด้วยไอคอนกลุ่มและกล่องโต้ตอบชื่อผู้ใช้และรหัสผ่านว่างเปล่าฉันไม่รู้ว่าจะใส่อะไร!
Sayan

ชื่อผู้ใช้และรหัสผ่านเก่าของคุณจาก macOS 2!
klanomath

3

เนื่องจากไดรฟ์ข้อมูลมีขนาดใกล้เคียงกันคุณสามารถใช้แอปพลิเคชัน Disk Utility เพื่อ "กู้คืน" macOSโวลุ่มจากmacOS 2โวลุ่ม macOS 2คุณโดยทั่วไปแล้วจะมีการทำซ้ำ จากนั้นคุณสามารถลบdisk0s4และขยายdisk0s2เพื่อกู้คืนพื้นที่ว่าง

การดำเนินการทั้งหมดเหล่านี้สามารถทำได้โดยใช้แอพพลิเคชั่น Disk Utility

หากคุณต้องการใช้บรรทัดคำสั่งนี่คือคำสั่งเพื่อโคลนโวลุ่มที่มีข้อความ "macOS 2"

sudo asr restore --source "/Volumes/macOS 2" --target /Volumes/macOS --erase

หมายเหตุ: คำสั่งดังกล่าวยังโคลน/dev/disk0s5ไป/dev/disk0s3ด้วย

คำสั่งที่จะลบ/dev/disk0s4และขยาย/dev/disk0s2ได้รับด้านล่าง

diskutil mergePartitions FREE "" disk0s2 disk0s4  

หมายเหตุ: คำสั่งดังกล่าวยังลบ/dev/disk0s5และย้ายจะเป็นดังต่อไปนี้การขยายตัว/dev/disk0s3/dev/disk0s2

โคลน / /dev/disk0s5ดำเนินการคืนค่าสามารถทำได้ในขณะที่ถูกเด้งจาก การดำเนินการผสานสามารถทำได้ในขณะที่เริ่ม/dev/disk0s2ระบบ


ฉันอยากจะรู้วิธีการทำเช่นนี้จากภายใน Disk Utility เอง ฉันไม่เห็นวิธีที่ชัดเจนเกินกว่าการสร้างอิมเมจของดิสก์ในโวลุ่มที่สองและเรียกคืนไปเป็นลำดับแรก
Jonathan van Clute

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