วิธีแก้ไข GPT, GUID และ unmountable ที่ไม่มีโวลุ่มประเภทใด


10

ฉันมี Macbook Pro พร้อมเรติน่าโยเซมิตีและฮาร์ดไดรฟ์ 500GB ฉันพยายามติดตั้ง Windows โดยใช้ Bootcamp และลบพาร์ติชันโดยไม่ตั้งใจตอนนี้ Mac ของฉันไม่สามารถบู๊ตได้อีกต่อไป นี่คือผลลัพธ์จากsudo gpt -r show disk0

  gpt show: disk0: Suspicious MBR at sector 0
    start       size  index  contents
        0          1         MBR
        1          1         Pri GPT header
        2         32         Pri GPT table
       34          6         
       40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
   409640  776617328      2  GPT part - FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
778296728        616         
778297344  198807552      4  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
977104896        131         
977105027         32         Sec GPT table
977105059          1         Sec GPT header

ฉันแค่ต้องสร้างพาร์ติชั่นที่สองที่ดัชนี 2 และพิมพ์FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFFเพื่อให้สามารถบู๊ตได้อีกครั้ง พาร์ติชันนี้เปิดใช้งาน FileVault 2

แต่ตอนนี้ฉันไม่มีเงื่อนงำว่าจะทำอย่างไร

P / S: ฉันปฏิบัติตามคำสั่งจาก @klanomath Boot จากฮาร์ดไดรฟ์ภายนอกที่มีระบบโยเซมิตีเต็ม แต่ที่คำสั่งสุดท้ายเพื่อเปลี่ยนประเภทพาร์ติชัน

sudo gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

ได้รับข้อผิดพลาดนี้:

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no space available on device

นี่คือผลลัพธ์จาก sudo gpt -r show /dev/disk0

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1          1         Pri GPT header
         2         32         Pri GPT table
        34          6         
        40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
    409640  776617328      2  MBR part 218
 777026968    1269760      3  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        131         
 977105027         32         Sec GPT table
 977105059          1         Sec GPT header

ความคืบหน้า:

ฉันได้สั่งการ sudo gpt destroy /dev/disk0

แต่เมื่อฉันพยายามเพิ่มพาร์ติชันแรกกลับโดยใช้คำสั่งนี้ sudo gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0

ฉันได้รับข้อผิดพลาดนี้ทันที

gpt add: /dev/disk0: Suspicious MBR at sector 0
gpt add: /dev/disk0: error: no primary GPT header; run create or recover

ตอนนี้คำสั่งsudo gpt -r show /dev/disk0ให้ฉันนี้

   gpt show: /dev/disk0: Suspicious MBR at sector 0
     start       size  index  contents
         0          1         MBR
         1     409639         
    409640  776617328      2  MBR part 218
 777026968    1269760      3  MBR part 175
 778296728        616         
 778297344  198807552      4  MBR part 175
 977104896        164

ความคืบหน้า 2:

ฉันดำเนินการsudo gpt create /dev/disk0 และได้รับข้อผิดพลาดนี้:

gpt create: /dev/disk0: Suspicious MBR at sector 0
gpt create: /dev/disk0: error: device contains a MBR

และฉันดำเนินการคำสั่งนี้sudo fdisk -i -a hfs /dev/disk0เพื่อเขียน MBR ใหม่และดำเนินการsudo gpt create /dev/disk0อีกครั้ง แต่มีข้อผิดพลาดเดียวกันgpt create: /dev/disk0: error: device contains a MBR

ตอนนี้sudo gpt -r show /dev/disk0ให้ฉันนี้

      start       size  index  contents
      0          1         MBR
      1         62         
     63  977104997      1  MBR part 175

ความคืบหน้า 3 และขั้นสุดท้าย: D

ประการแรกต้องขอบคุณ @klanomath โดยไม่ได้รับความช่วยเหลือฉันไม่สามารถไปได้ไกลขนาดนี้

ฉันทำคำสั่งนี้ sudo gpt create -fp /dev/disk0

และคำสั่งนี้sudo gpt recover /dev/disk0เพื่อรับส่วนหัว GPT รอง

หลังจากนั้นฉันดำเนินการsudo gdisk /dev/disk0และติดตั้งดิสก์และทำงานได้อย่างถูกต้อง

คำตอบ:


11

ประเภทเนื้อหาของพาร์ติชันที่สองไม่ถูกต้อง แทนมันจะต้องมีFFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF53746F72-6167-11AA-AA11-00306543ECAC

gptหากต้องการแก้ไขชนิดเนื้อหาที่คุณต้องบูตโหมดการกู้คืนและการใช้งานอินเทอร์เน็ต นอกจากนี้พาร์ทิชันที่สี่จะถูกลบออก (อาจเป็นพาร์ทิชัน "ลบ") โปรดตรวจสอบว่าไม่มีข้อมูลใด ๆ !

เตรียม:

  • ถอดไดรฟ์ภายนอก (โดยเฉพาะไดรฟ์สำรอง Time Machine ภายนอกของคุณ)
  • รีสตาร์ทเป็นโหมดการกู้คืนอินเทอร์เน็ตโดยการกดalt cmd Rที่เริ่มต้น

    สิ่งที่จำเป็นต้องมีคือการอัพเดตเฟิร์มแวร์ล่าสุดที่ติดตั้งไม่ว่าจะเป็นอีเธอร์เน็ตหรือ WLAN (WPA / WPA2) และเราเตอร์ที่เปิดใช้งาน DHCP
    ในบรรทัด 50 Mbps นั้นจะใช้เวลาประมาณ 4 นาที (นำเสนอลูกโลกที่เคลื่อนไหวเล็ก ๆ ) เพื่อบูตเข้าสู่อิมเมจการกู้คืน netboot ซึ่งโดยปกติจะโหลดจากเซิร์ฟเวอร์ Apple / Akamai

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

    หรือคุณอาจเริ่มจากหัวแม่มือไดรฟ์ตัวติดตั้งที่สามารถบู๊ตได้ (ควรเป็นโยเซมิตีหรือเอลแคปปิน) หรือนิ้วหัวแม่มือไดรฟ์ที่มีระบบเต็มรูปแบบ (โดยเฉพาะอย่างยิ่งโยเซมิตีหรือ หากคุณบูตระบบเต็มระบบและเข้าสู่ระบบในฐานะผู้ดูแลคุณจะต้องเพิ่มsudoคำสั่งพิเศษเพื่อดำเนินการเช่นgpt ...!

ลบพาร์ติชันที่สี่และเปลี่ยนชนิดเนื้อหาของพาร์ติชันที่สอง

  • บูตเข้าสู่โหมดการกู้คืนอินเทอร์เน็ตเปิดยูทิลิตี้→เทอร์มินัลในเมนูและป้อน: diskutil listเพื่อรับตัวระบุดิสก์ ด้านล่างฉันสมมติว่าดิสก์หลักของคุณมีตัวระบุดิสก์ disk0

  • ก่อนอื่นคุณต้องลบพาร์ติชั่นที่สี่ (ทำอย่างนั้นถ้าว่างเปล่าจริงๆ!):

    gpt -r show /dev/disk0 #to get an overview
    

    ในการลบพาร์ติชันที่มีgptดิสก์จะต้องถอนติดตั้ง:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 4 /dev/disk0 #remove the fourth partition
    
  • จากนั้นคุณต้องเปลี่ยนประเภทเนื้อหาของพาร์ติชั่นที่สอง:

    diskutil unmountDisk /dev/disk0
    gpt remove -i 2 /dev/disk0 #remove the second partition
    gpt add -b StartBlock -s NumberOfBlocks -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC
    

    ในกรณีของคุณ:

    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    
  • ตอนนี้คุณควรถูกถามถึงข้อความรหัสผ่านของ FileVault ใส่มัน
  • เข้าexitและออกจากTerminal
  • ตรวจสอบข้อผิดพลาดระดับเสียงหลักMacintosh HD
  • ออกจากDisk Utilityแล้วรีบู๊ตไปยังโวลุ่มหลักของคุณ

ภาคผนวก: การลบ MBR ปากแข็ง

คุณสามารถใช้fdiskหรือgptลบ MBR ที่บล็อก 0 หากคุณใช้ผู้ใช้ที่เป็นผู้ดูแลระบบเสริมsudoโดยใช้gpt ....คำสั่ง

  • ก่อนอื่นรับภาพรวมอีกครั้ง ขั้นตอนนี้มีความสำคัญก่อนที่คุณจะทำลาย GPT เพราะเป็นแหล่งที่จะสร้างขึ้นใหม่ตั้งแต่ต้น:

    gpt -r show /dev/disk0
    
  • จากนั้นลบ GPT:

    diskutil unmountDisk /dev/disk0
    gpt destroy /dev/disk0
    
  • สร้างตารางพาร์ติชัน GUID ใหม่:

    gpt create -f /dev/disk0
    
  • ในที่สุดเพิ่มพาร์ทิชันทั้งหมดทีละ:

    gpt add -b 40 -s 409600 -i 1 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    gpt add -b 409640 -s 776617328 -i 2 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0
    

    คำแนะนำ : คุณสามารถเพิ่มและลบพาร์ติชั่นตามลำดับได้ถ้าคุณเก็บหมายเลขดัชนีถูกต้อง ในคำสั่งข้างต้นฉันเพิ่มพาร์ติชั่นที่สาม ( ... -i 3 ...) ก่อนเพิ่มพาร์ติชั่นที่สอง ( ... -i 2 ...) คุณไม่ต้องถอดดิสก์ 0 เนื่องจากพาร์ติชั่น i = 1 และ i = 3 ไม่มีโวลุ่มที่เมาท์อัตโนมัติในขณะที่พาร์ติชั่นที่สองทำ

    ฉันพลาดที่จะตรวจสอบประเภทพาร์ติชั่นผิดของ Recovery HD (พาร์ติชั่นที่สามที่มีหมายเลขดัชนี 3) ในส่วนแรกของคำตอบของฉัน ดังนั้นฉันใช้:

    gpt add -b 777026968 -s 1269760 -i 3 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
    

    ด้านบนแทนความผิด

    gpt add -b 777026968 -s 1269760 -i 3 -t 48465300-0000-11AA-AA11-00306543ECAC /dev/disk0 #wrong partition type of the Recovery HD
    

    เพื่อเพิ่มอีกครั้ง

    หากคุณยังคงได้รับข้อผิดพลาดแก้ไขปัญหา MBR fdiskกับ หากคุณใช้ผู้ใช้ที่เป็นผู้ดูแลระบบเสริมsudoโดยใช้fdisk ...คำสั่ง

    fdisk -i -a hfs /dev/disk0
    

    และเพิ่มรายการ gpt gpt ...ตามที่ระบุไว้ข้างต้น


การปรับขนาดโวลุ่มหลักเพื่อเติมทั้งดิสก์

ในที่สุดคุณอาจต้องการปรับขนาดปริมาณหลักเพื่อเติมดิสก์ทั้งหมด

  • รับภาพรวมด้วย:

    diskutil cs list
    

    คุณอาจมี CoreStorage Logical Volume Groups หลายกลุ่มหากคุณบูตจากไดรฟ์ภายนอกที่มีระบบเต็ม! ใช้อันที่ถูกต้อง!

  • ปรับขนาดสแต็กทั้งหมด:

    diskutil cs resizeStack lvUUID size #lvUUID is the UUID of the Logical Volume. Usually it's the last one listed.
    

    บูตไปที่ Yosemite คุณสามารถใช้0gสำหรับขนาดเพื่อขยาย 0g เป็นขนาด "วิเศษ" ที่นี่

    diskutil cs resizeStack lvUUID 0g
    

    เด้งไป El Capitan 500gคุณต้องใช้ขนาดจริงเช่น ถ้าคุณได้รับข้อผิดพลาดในการใช้งานที่มีขนาดเล็กกว่าเล็กน้อยเหมือนหรือ499g499500m

    diskutil cs resizeStack lvUUID 500g
    

1
ฉันยังคงติดอยู่ ประการแรกหลังจากรัน "gpt delete -i 2 / dev / disk0" มันบอกว่า "gpt: คำสั่งที่ไม่รู้จัก: ลบ" ดังนั้นฉันคิดว่าฉันต้องเปลี่ยน 'ลบ' เป็น 'ลบ' แต่ที่คำสั่งสุดท้ายที่ฉันต้องดำเนินการก็กล่าวว่า "gpt เพิ่ม: / dev / disk0: ข้อผิดพลาด: ไม่มีพื้นที่ว่างบนอุปกรณ์"
LN

ฉันได้ปฏิบัติตามคำแนะนำของคุณและโพสต์ผลลัพธ์ในคำถามแล้วขอขอบคุณ
LN

ฉันได้ปฏิบัติตามคำแนะนำที่สอง แต่ฉันติดอยู่อีกครั้งด้วยข้อผิดพลาด "gpt เพิ่ม: / dev / disk0: ข้อผิดพลาด: ไม่มีส่วนหัว GPT หลักเรียกใช้สร้างหรือกู้คืน" ฉันได้เพิ่มความคืบหน้า
LN

ไม่ต้องกังวลฉันเพิ่งอัพเดตความคืบหน้าของฉัน ดูเหมือนว่าฉันไม่สามารถกำจัด MBR
LN

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