ฉันจะขยายพาร์ติชัน EFI บนระบบบูตคู่ด้วย Windows และ Linux ได้อย่างไร


2

ฉันตั้งใจจะติดตั้ง Windows และ Linux บนระบบของฉันซึ่งบูตในโหมด UEFI

สำหรับ Linux ฉันตั้งใจจะทำสิ่งต่อไปนี้:

  • ติดตั้งเคอร์เนล LTS และเวอร์ชั่นใดก็ตามที่การฉีดนำมาด้วย

  • ใช้ systemd-boot

ในที่สุดขนาดเริ่มต้น (100 MB) ของพาร์ติชัน EFI ซึ่งสร้างขึ้นในระหว่างการติดตั้ง Windows จะค่อนข้างแออัด (ประมาณ 94 MB ใช้งาน) ดังนั้นฉันต้องการขยายพาร์ติชันดังกล่าว ตามคำแนะนำมาตรฐานสำหรับเค้าโครงดิสก์ทำให้พาร์ติชัน MSR นั้นอยู่หลังพาร์ติชัน EFIฉันจึงลบพาร์ติชัน MSR จากนั้น Win 10 ไม่เริ่มทำงานและโปรแกรมซ่อมแซมการบู๊ตจากไดรฟ์ Win 10 USB ก็สามารถซ่อมแซมปัญหาการบู๊ตได้

แต่ปัญหาหลักคือฉันไม่สามารถขยายพาร์ติชัน EFI ไม่ว่าจะมีdiskpartหรือมี GParted (บนไดรฟ์ USB Xubuntu 16.04.1) เมื่อฉันทำงานextend size=100ใน diskpart มันพูดว่า:

คุณไม่สามารถลดขนาด oem หรือพาร์ติชันการกู้คืน ปริมาณที่เลือก [ฯลฯ ] ...

GParted พ่นข้อผิดพลาด

gnu ที่แยกส่วนไม่สามารถปรับขนาดพาร์ติชันนี้เป็นขนาดนี้ได้ เรากำลังทำงานกับมัน

ไม่มีใครรู้ขั้นตอนที่จำเป็นหรือลำดับ "ง่าย" เพื่อขยายพาร์ติชัน EFI หรือไม่

คำตอบ:


1

ฉันสามารถคิดถึงวิธีแก้ปัญหาสองวิธีที่น่าจะใช้ได้ แต่วิธีการไม่สมบูรณ์แบบหรือทั้งหมดที่ง่าย

วิธีที่ # 1

วิธีนี้ค่อนข้างพื้นฐาน:

  1. สำรองข้อมูล ESP การสำรองข้อมูลแบบไฟล์จะเพียงพอ
  2. ถอนการติดตั้ง ESP
  3. ค้นหา GUID ของ ESP โดยพิมพ์เป็นsgdisk -i 1 /dev/sda root(ตัวอย่างนี้สมมติว่า ESP เป็นพาร์ติชั่นแรกในดิสก์แรก - /dev/sda1ถ้าเป็นพาร์ติชั่นอื่นคุณต้องเปลี่ยน-i 1อย่างเหมาะสมถ้ามันอยู่ในดิสก์อื่นที่ไม่ใช่/dev/sdaคุณต้องเปลี่ยนส่วนนั้นด้วย) คำสั่งนี้แสดงข้อมูลต่าง ๆ Partition unique GUIDรวมทั้งหนึ่งบรรทัดระบุว่าเป็น บันทึกค่านั้น (โปรดทราบว่าการบันทึกและการสร้างค่า GUID ใหม่จะทำเพื่อประโยชน์ของตัวจัดการการบูตในตัวของคอมพิวเตอร์หากคุณยินดีที่จะใช้efibootmgrเพื่อสร้างรายการตัวจัดการการเริ่มระบบของคุณใหม่คุณสามารถทำตามขั้นตอนและขั้นตอนที่ # 6 ด้านล่าง)
  4. ลบ ESP
  5. สร้าง ESP ใหม่ที่มีขนาดที่ต้องการ โปรดทราบว่านี่หมายถึงทั้ง ESP และระบบไฟล์ใหม่
  6. ใช้gdiskหรือsgdiskเพื่อเปลี่ยน GUID ของ ESP ใหม่ ตัวอย่างเช่นsgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda(ตามroot) เปลี่ยน GUID ของ/dev/sda1เป็น 2C17D5ED-850D-4F76-BA31-47A561740082
  7. เมานต์ ESP ใหม่
  8. กู้คืนไฟล์ที่สำรองไว้ไปยัง ESP
  9. หากจำเป็นให้แก้ไข/etc/fstabเพื่อบันทึก "UUID" ใหม่สำหรับ ESP (เป็นหมายเลขซีเรียลดิสก์สำหรับระบบไฟล์ FAT) คุณสามารถใช้blkidเพื่อค้นหาหมายเลขซีเรียลใหม่

โปรดทราบว่าเครื่องมือการแบ่งพาร์ติชันบางอย่างเช่นgdiskและsgdiskอาจต้องรีบูตก่อนที่ระบบปฏิบัติการจะรับรู้การเปลี่ยนแปลงของดิสก์ที่ใช้งานอยู่ ดังนั้นคุณควรใช้การบูตดิสก์ฉุกเฉินโดยไม่มีพาร์ติชันที่เมาท์บนดิสก์เป้าหมาย หรือใช้เครื่องมือเช่น GParted สำหรับการลบพาร์ติชั่นและการสร้าง (การเปลี่ยน GUID ของพาร์ติชันไม่ได้ทำการเปลี่ยนแปลงใด ๆ ที่ต้องทำการรีบูต)

ขั้นตอนนี้จะเสี่ยงต่อความล้มเหลวจากภัยพิบัติโดยเฉพาะอย่างยิ่งหากคุณไม่สนใจไฟล์สำรองของคุณ นอกจากนี้หากมีสิ่งผิดปกติคอมพิวเตอร์ของคุณจะแสดงผลไม่สามารถบูตได้ชั่วคราว การมีตัวจัดการการบู๊ต rEFIndของฉันใน USB แฟลชไดรฟ์จะมีประโยชน์ในกรณีฉุกเฉินเช่นนั้น

วิธีที่ # 2

ฉันไม่ได้ลองทำสิ่งนี้ด้วยdiskpartดังนั้นฉันจึงไม่รู้ว่ามีอะไรกระตุ้นการเตือนนั้น แต่อาจเป็นแอตทริบิวต์พาร์ติชัน (หนึ่งในสองสิ่งที่ libparted เรียกว่า "flag") บางอย่างเช่น "พาร์ติชันระบบ" อาจทำให้เครื่องมือการแบ่งพาร์ติชันอาจปฏิเสธการสัมผัสพาร์ติชัน คุณสามารถใช้partedหรือ GParted เพื่อค้นหาการตั้งค่าสถานะเหล่านี้ แต่ผมไม่แน่ใจว่าพวกเขาจะแสดงทั้งหมดธง หากพาร์ติชันมีแฟล็กนอกเหนือจาก "boot" (และ "esp" พร้อมกับ libparted เวอร์ชันใหม่กว่า) คุณอาจลองลบส่วนเสริม หรือคุณสามารถใช้gdiskซึ่งจะแสดงแอตทริบิวต์ทั้งหมด :

  1. ประเภทgdisk /dev/sda(หรืออะไรก็ตามดิสก์ ID คือ) rootในฐานะ
  2. พิมพ์pเพื่อดูตารางพาร์ติชัน
  3. พิมพ์iเพื่อดูรายละเอียดเกี่ยวกับพาร์ติชัน คุณจะถูกขอให้ระบุหมายเลขพาร์ติชัน มีหลายบรรทัดที่มีรายละเอียดเกี่ยวกับพาร์ติชันจะปรากฏขึ้น
  4. มองหาAttribute flagsสาย 0000000000000000หากไม่มีธงที่มีอยู่สายนี้จะแสดงค่าของ ถ้าเป็นเช่นนั้นคุณสามารถออกgdiskจากพิมพ์qได้ ถ้ามันแสดงคุณสมบัติและคุณต้องการที่จะลบพวกเขาดำเนินการต่อ ....
  5. พิมพ์xเพื่อเข้าสู่เมนูของผู้เชี่ยวชาญ
  6. พิมพ์aเพื่อแก้ไขคุณสมบัติ คุณจะถูกถามถึงหมายเลขพาร์ติชัน ใส่มัน
  7. คุณจะแสดงรายการของคุณสมบัติที่รู้จักกันหกประการและสรุปว่ามีการตั้งค่าใดบ้าง พิมพ์หมายเลขของฟิลด์ที่คุณต้องการเปลี่ยน
  8. ขั้นตอนก่อนหน้านี้จะทำซ้ำโดยอัตโนมัติจนกว่าคุณจะกดปุ่ม Enter โดยไม่มีค่าเป็นสัญญาณเพื่อหยุดการแก้ไข
  9. พิมพ์wเพื่อออกและบันทึกการเปลี่ยนแปลงของคุณ (หากคุณคิดว่าคุณสับสนให้พิมพ์qเพื่อออกโดยไม่บันทึกการเปลี่ยนแปลงของคุณgdiskเก็บการเปลี่ยนแปลงในหน่วยความจำจนกว่าคุณจะบอกให้เขียนลงดิสก์wเพื่อให้คุณสามารถยกเลิกการกระทำส่วนใหญ่ได้อย่างง่ายดาย)
  10. เพื่อความปลอดภัยรีบูต
  11. สำรองข้อมูล ESP ของคุณ
  12. ใช้ GParted เพื่อปรับขนาด ESP ของคุณ

วิธีนี้มีแนวโน้มที่จะทำงานน้อยกว่าวิธีแรกทั้งคู่เนื่องจากปัญหาอาจไม่ใช่แอตทริบิวต์พาร์ติชันและเนื่องจากในประสบการณ์ของฉัน GParted มักจะทำให้ระบบไฟล์ FAT เสียหายเมื่อปรับขนาดแล้ว จุดสุดท้ายนั้นไม่ควรมองข้าม หาก GParted เกิดความยุ่งเหยิงคุณจะต้องเรียกคืนทุกอย่างจากการสำรองข้อมูลของคุณและขั้นตอนนี้จะจบลงด้วยแง่มุมที่เลวร้ายที่สุดของทั้งสองวิธี OTOH หาก GParted ประสบความสำเร็จในการปรับขนาด ESP ของคุณวิธีนี้อาจจะง่ายกว่าและมีความเสี่ยงน้อยกว่าวิธีก่อนหน้าเล็กน้อย

ความคิดเห็นเพิ่มเติม

แน่นอนถ้าคุณยังไม่ได้ติดตั้ง Windows มีวิธีที่ง่ายกว่ามากในการทำสิ่งที่คุณต้องการ: สร้าง ESP ของคุณด้วยตนเองก่อนที่คุณจะติดตั้ง Windows จากนั้นคุณสามารถทำให้ ESP มีขนาดใหญ่เท่าที่คุณต้องการ

อีกวิธีคือใช้สิ่งอื่นนอกเหนือจาก systemd-boot ตัวจัดการการบูตนั้นถูก จำกัด อย่างมากเนื่องจากไม่สามารถเปิดเคอร์เนลหรือบูตโหลดเดอร์ได้จากทุกสิ่งยกเว้นพาร์ติชั่นที่เก็บไว้ (อย่างน้อยมันก็ถูก จำกัด ด้วยวิธีนี้ในครั้งสุดท้ายที่ฉันดูและลักษณะของคำถามของคุณหมายความว่าคุณเชื่อว่ามันยังมี จำกัด ดังนั้นฉันไม่ได้ตรวจสอบเมื่อเร็ว ๆ นี้) ทั้ง GRUB และ rEFInd ไม่ทนทุกข์ จากข้อ จำกัด นี้และเพื่อให้ง่ายต่อการติดตั้ง - หรืออย่างน้อยไม่ต้องการการเรียงลำดับของการจัดการพาร์ติชั่นที่ systemd-boot จะต้องใช้


สวัสดี Rod! ตามปกติคำตอบที่เหมาะสมจริง ขอบคุณ :) ดังนั้น ... ในขณะที่ฉันประสบความสำเร็จกับ GParted ในที่สุด (และไม่ได้แบ่งปันประสบการณ์ของคุณกับปัญหาการปรับขนาดของ GParted) ฉันไม่ได้ใส่ใจกับการทำงานแบบทีละขั้นตอนในหนึ่งในวิธีการของคุณ อย่างไรก็ตามฉันแน่ใจว่าวิธีการหนึ่งของคุณจะใช้งานได้ดังนั้นฉันจะทำเครื่องหมายการโพสต์ (ผมต้องบอกว่าที่ผมไม่เห็นด้วยกับความคิดของคุณเกี่ยวกับ systemd บูตผมให้ความเรียบง่ายและความมั่นคงของ..)
เฮนรี่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.