ลบ GPT - ค่าเริ่มต้นกลับเป็น MBR


33

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

คำเตือน !! ตรวจพบ GPT ที่ไม่รองรับ (ตารางพาร์ติชัน GUID) ใช้ GNU Parted

ฉันต้องการกลับไปที่ MBR ปกติ ฉันพบคำแนะนำที่นี่และทำ:

parted /dev/sda
mklabel msdos
quit

แต่เมื่อผมได้รับการตัวเลือกมันคายออกมาเตือนว่าฉันจะสูญเสียข้อมูลทั้งหมดบนmklabel /dev/sdaมีวิธีการรับ MBR ปกติกลับโดยไม่ฟอร์แมตดิสก์หรือไม่


2
คุณต้องการเปลี่ยนเหตุผลอะไร ปัญหาจริงที่คุณพยายามแก้ไขคืออะไร
จอร์แดน

1
หากคุณกำลังฟอร์แมตไดรฟ์ให้ลองทำสิ่งนี้: blog.gnub.net/2009/03/die-gpt-die.html (ขออภัยไม่มีชื่อเสียงที่จะตอบคำถาม!)
Lester Cheung

คำตอบ:


28

ลิงค์ที่คุณโพสต์นั้นดูเหมือนเป็นโซลูชันแฮ็คที่น่าเกลียดมาก

อย่างไรก็ตามตาม man page gdiskซึ่งใช้ในการแปลง MBR -> GPT ยังมีตัวเลือกในเมนู "การกู้คืนและการแปลง" (กดrเพื่อรับค่านั้น) เพื่อแปลง GPT -> MBR; gประสงค์สำคัญ:

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

ฉันจะลองก่อน


ได้อย่างง่ายดายใช่ แต่ก็ยังมีความเสี่ยง
จอร์แดน

@jordanm: ฉันยังไม่ได้ทำสิ่งนี้ด้วยตัวเอง (ซึ่งเป็นเหตุผลที่ฉันยอมรับ "google implies") แต่เนื่องจาก gdisk เห็นได้ชัดว่ามีวิธีการที่ชัดเจนทำไมคุณถึงเชื่อว่ามันมีความเสี่ยง? หน้า man ของ gdisk สำหรับตัวเลือกr-> gไม่มีข้อแม้ใด ๆ เลย ...
goldilocks

มันจะปรับปรุงคำตอบนี้ถ้าคุณต้องทำตามขั้นตอน gdisk ที่ต้องการในคำตอบของคุณ โดยเฉพาะอย่างยิ่งกับขั้นตอนระยะสั้น ไม่เคยรู้เมื่อลิงก์อาจจะตายทิ้งคำตอบที่ไร้ประโยชน์
derobert

@derobert: ใช่ต้นฉบับมีความคิดเห็นมากกว่า ฉันใช้ของจากgdiskman page แทน
goldilocks

1
หากต้องการลบอย่างสมบูรณ์คุณควร ZAP ใน gdisk
Sergey P. aka azure

16

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

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

หากต้องการลบ GPT คุณต้องใช้บางอย่างเช่น gdisk ป้อนgdiskเป็น root ที่พรอมต์แล้วบอก gdisk อุปกรณ์ที่คุณต้องการดู (เช่น / dev / sd ??) ใช้ gdisk เพื่อเขียน MBR ที่มีการป้องกันลงในดิสก์เพื่อให้แน่ใจว่าคุณสามารถเข้าถึงโครงสร้างข้อมูล MBR บางอย่างได้ จากนั้นคุณสามารถนำทางไปยังส่วนตัวเลือกของผู้เชี่ยวชาญ (กด?ที่โปรแกรมต่าง ๆ จะปรากฏขึ้นเพื่อดูตัวเลือกที่คุณสามารถใช้ได้ในเวลาที่ต่างกัน) และค้นหาตัวเลือกที่ระบุว่า "Zap (ทำลาย) โครงสร้างข้อมูล GPT และออก" โปรแกรมจะแจ้งให้ยืนยันจากนั้นถามคุณว่าคุณต้องการรักษาโครงสร้าง MBR หรือไม่ เก็บรักษาสิ่งนี้ไว้

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

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


1
"ฉันคิดว่าฉันจะตอบคำถามของคุณแทนที่จะคิดว่าคุณผิดที่ถาม" - มันบ้ามากพอที่จะทำงาน!
Michael Mrozek

6

ใช้ gdisk /dev/sda

หมายเหตุ: /dev/sdaในกรณีของบุคคลที่ถามคำถามนี้ แต่เปลี่ยนเป็นชื่อไดรฟ์ของคุณ

เมื่อคุณอยู่ข้างในด้วยการใช้ gdisk:

x   extra functionality (experts only)

จากนั้นเมื่อคุณพิมพ์pเพื่อดูตัวเลือกทั้งหมดคุณจะเห็นสิ่งนี้:

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

ใช้ z

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y

2
คำตอบนี้ใช้ได้สำหรับฉันเท่านั้นขอบคุณสำหรับการแบ่งปัน
Aleksandar

1

สิ่งนี้น่าจะได้ผลในกรณีส่วนใหญ่ คุณรู้ว่าคุณไม่สามารถใช้ MBR เมื่อคุณมีพาร์ติชันที่ใหญ่กว่า 2TB หรือมากกว่า 15 พาร์ติชัน

  • ใช้แยกส่วนเพื่อตรวจสอบขนาดพาร์ติชัน (เช่นเล็กกว่า 2TB หรือไม่) parted /dev/sdX p
  • ในกรณีที่มีพาร์ติชันที่ใหญ่ขึ้นให้ย่อขนาดระบบแฟ้มและสิ่งอื่น ๆ ที่ต้องทำ (เพิ่มเติมเกี่ยวกับสิ่งนี้ในตอนท้ายของการโพสต์นี้)
  • ดัมพ์ขนาดพาร์ติชันที่แน่นอนทั้งหมดparted /dev/sdX u B p(แสดงขนาดเป็นไบต์) เพื่อให้คุณทราบว่าคุณสามารถสร้างโครงร่างพาร์ติชันใหม่ได้อย่างไร ใช้โทรศัพท์ของคุณเพื่อสร้างภาพถ่ายจากpartedเอาต์พุตทั้งสอง
  • จำไว้ว่าคุณสามารถมีพาร์ติชันหลักได้เพียงสี่พาร์ติชั่นที่มี MBR เนื่องจากโครงสร้างภายใน ดังนั้นถ้าคุณมีพาร์ติชั่นเพิ่มเติมคุณต้องมีพื้นที่ว่างบนดิสก์ของคุณ (ofc คุณจำเป็นต้องรู้ว่ามันจะอยู่ที่ไหน!) เพื่อสร้างโลจิคัลพาร์ติชันที่ VBR สามารถใส่ลงไปเพื่อให้คุณสามารถ 'จัดสรร' ที่ 4 / พาร์ติชันที่ 5 / 6th ที่มีอยู่ก่อนหน้านี้
  • ใช้gdiskเพื่อบีบอัด GPT
  • สร้าง MBR ใหม่
  • สร้างพาร์ติชันของคุณขึ้นใหม่พาร์ติชันที่ 1/2/3 เป็นพาร์ติชันหลักจากนั้นในพื้นที่ว่าง (ซึ่งไม่มีข้อมูลที่มีตำแหน่งก่อน !!!) สร้างโลจิคัลพาร์ติชันแล้วสร้างพาร์ติชันอื่น
  • บันทึกออก
  • อธิษฐาน
  • Reboot

คุณควรใช้ liveisk แบบgrmlนี้ ในกรณีที่คุณทำอะไรผิดพลาดให้รีบูตและลองใหม่

ตราบใดที่คุณไม่ได้เขียนข้อมูลใด ๆ ลงบนดิสก์จะไม่มีอะไรหายไป จำไว้ว่าคุณยังมีเลย์เอาต์พาร์ติชันทั้งหมดในโทรศัพท์ของคุณดังนั้นคุณสามารถสร้าง GPT ดั้งเดิมได้หากต้องการ

ในกรณีที่คุณมีเพศสัมพันธ์จริงๆและไม่ได้ถ่ายรูปลองtestdiskมองหาขอบเขตของพาร์ติชัน แต่อย่าเดิมพันเงินใด ๆ ในทันทีที่เลย์เอาต์ของคุณมีอะไรพิเศษ


ในสิ่งที่ปรับขนาดเพื่อทำให้พาร์ติชันมีขนาดเล็กลงมุมมองที่สวยงามของนก:

  • ก่อนอื่นคุณต้องย่อระบบไฟล์เสมอ ง่ายสำหรับ ext4 ( resize2fs -M dev/sdX) แต่เป็นไปไม่ได้สำหรับ XFS เนื่องจากไม่สามารถหดได้ รู้ว่าคุณกำลังใช้อะไรและ google ก่อนที่จะลองทำ stunts
  • หากคุณมี LVM ให้ลดขนาดโลจิคัลวอลุ่มถัดไป ( lvreduce -L 20G /dev/mapper/<VG>-<LV>)
  • ขั้นตอน LVM ถัดไปคือการลดขนาดฟิสิคัลวอลุ่ม pvresize --setphysicalvolumesize 25G /dev/sdXเป็นวิธีที่จะไป
  • หลังจากนั้นใช้เครื่องมือแบ่งพาร์ติชันที่เลือกลบพาร์ทิชันที่คุณใส่ lvm และสร้างมันใหม่ให้เล็กลง

ขนาดสำหรับองค์ประกอบที่กล่าวถึงทั้งหมดที่กล่าวถึงที่นี่เป็นดังนี้: ระบบแฟ้ม <พาร์ติชัน <LV <PV <ถ้าไม่ใช่ในกรณีหลังจากการรีบูตครั้งถัดไปคุณจะเห็นว่าคุณต้องทำการตรวจสอบ FS อย่าทำเพียงรีบูตลงใน liveisk อีกครั้งและทำการปรับเปลี่ยนของคุณ หากคุณแก้ไขสิ่งต่าง ๆ ที่นั่นระบบของคุณจะบูตอีกครั้งฉันสัญญา

เพื่อให้สามารถทำสิ่งนี้ได้ในกรณีที่คุณมี PARTITION + LUKS + LVM + FILESYSTEM ต่อไปนี้เป็นคำแนะนำบางประการเกี่ยวกับวิธีการทำสิ่งนี้จากเชลล์:

  • df -h เป็นเพื่อนของคุณสำหรับการแสดงขนาดระบบไฟล์เมื่อคุณติดตั้งพาร์ทิชัน
  • lsblkและlsblk -fเป็นเพื่อนของคุณสำหรับการแสดงพาร์ทิชัน
  • ถ้าคุณใช้ LUKS เปิดภาชนะลับผ่านให้ป้อนรหัสผ่านของคุณและมันจะกลายเป็นใช้ได้อันเทอร์cryptsetup open /dev/sdX asdf /dev/mapper/asdfCryptocontainers ไม่จำเป็นต้องปรับขนาด (ข้ามสิ่งนี้หากคุณไม่มีพาร์ติชั่นที่เข้ารหัสแน่นอน)
  • vgchange -aay เพื่อเปิดใช้งานโลจิคัลวอลุ่มทั้งหมดเพื่อให้คุณสามารถทำงานกับมันได้
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdfจากนั้นdf -hเพื่อตรวจสอบขนาดของระบบไฟล์ของคุณก่อนที่จะปรับขนาด
  • umount asdf ดังนั้นจึงไม่ได้ต่อเชื่อมอีกครั้ง
  • resize2fs -M /dev/mapper/<VG>-<LV>.
  • mount /dev/mapper/<VG>-<LV> asdf; df -h เพื่อตรวจสอบว่าระบบไฟล์ของคุณยังใหญ่อยู่แค่ไหน
  • ทำให้ LV 1GB ใหญ่กว่าระบบไฟล์ โอกาสนี้จะไม่เพียงพอ ทำให้ยิ่งใหญ่กว่านั้นถ้าคุณสามารถยืนยันได้ลินุกซ์อื่นจะแจ้งให้คุณทราบหลังจากการรีบูตว่ามันจะไม่ทำงาน อย่าทำการตรวจสอบ FS เมื่อได้รับพร้อมท์รีบูตเข้าสู่ liveisk และเริ่มต้นอีกครั้งไม่มีข้อมูลสูญหายหากเป็นเช่นนั้น
  • ทำให้ PV 1GB ใหญ่กว่า LV
  • ทำให้พาร์ติชัน 1GB ใหญ่ขึ้นจากนั้น PV 100M ก็เพียงพอแล้วเช่นกันเนื่องจาก LVM สร้างส่วนขยายขนาด 4M (ซึ่งค่อนข้างคล้ายบล็อกบนฮาร์ดไดรฟ์โดยตรง แต่สำหรับ LVM) และคุณต้องการให้ไม่ตัดขอบเขตสุดท้ายด้วยการทำให้พาร์ติชันเล็กเกินไป แต่อย่างที่ฉันควรจะบอก อย่าคำนวณทุกอย่างเพียงปรับเปลี่ยนและแก้ไขหากมันพัง มันคือลินุกซ์ทั้งหมดคุณลองทำสิ่งนี้

ทำสิ่งที่ใหญ่กว่าที่จำเป็นต้องเป็นดังนั้นคุณไม่ต้องรีบูตบ่อยครั้ง

เพื่อให้ง่ายต่อการมองเห็นสิ่งที่เป็นสิ่งที่มี LVM มักจะใช้ชื่อโฮสต์ของคุณเป็นชื่อสำหรับ VG และจุดเมานท์ ( root, swap, var, ... ) สำหรับ LV เมื่อสร้างการติดตั้ง LVM ของคุณถ้าคุณยังไม่ได้ทำมัน นี่เป็นคำใบ้ทั่วไปไม่ใช่สิ่งที่คุณต้องทำเพื่อทำตามขั้นตอนข้างต้น


1

GPartedได้งานสำหรับฉัน (ทดสอบบนKali Linux USB Live v2.1) เพียงแค่ทำ:

Device --> Create Partition Tablet --> Type MSDOS

ลบพาร์ติชันทั้งหมดก่อน

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