ฉันสามารถคิดถึงวิธีแก้ปัญหาสองวิธีที่น่าจะใช้ได้ แต่วิธีการไม่สมบูรณ์แบบหรือทั้งหมดที่ง่าย
วิธีที่ # 1
วิธีนี้ค่อนข้างพื้นฐาน:
- สำรองข้อมูล ESP การสำรองข้อมูลแบบไฟล์จะเพียงพอ
- ถอนการติดตั้ง ESP
- ค้นหา GUID ของ ESP โดยพิมพ์เป็น
sgdisk -i 1 /dev/sda
root
(ตัวอย่างนี้สมมติว่า ESP เป็นพาร์ติชั่นแรกในดิสก์แรก - /dev/sda1
ถ้าเป็นพาร์ติชั่นอื่นคุณต้องเปลี่ยน-i 1
อย่างเหมาะสมถ้ามันอยู่ในดิสก์อื่นที่ไม่ใช่/dev/sda
คุณต้องเปลี่ยนส่วนนั้นด้วย) คำสั่งนี้แสดงข้อมูลต่าง ๆ Partition unique GUID
รวมทั้งหนึ่งบรรทัดระบุว่าเป็น บันทึกค่านั้น (โปรดทราบว่าการบันทึกและการสร้างค่า GUID ใหม่จะทำเพื่อประโยชน์ของตัวจัดการการบูตในตัวของคอมพิวเตอร์หากคุณยินดีที่จะใช้efibootmgr
เพื่อสร้างรายการตัวจัดการการเริ่มระบบของคุณใหม่คุณสามารถทำตามขั้นตอนและขั้นตอนที่ # 6 ด้านล่าง)
- ลบ ESP
- สร้าง ESP ใหม่ที่มีขนาดที่ต้องการ โปรดทราบว่านี่หมายถึงทั้ง ESP และระบบไฟล์ใหม่
- ใช้
gdisk
หรือsgdisk
เพื่อเปลี่ยน GUID ของ ESP ใหม่ ตัวอย่างเช่นsgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda
(ตามroot
) เปลี่ยน GUID ของ/dev/sda1
เป็น 2C17D5ED-850D-4F76-BA31-47A561740082
- เมานต์ ESP ใหม่
- กู้คืนไฟล์ที่สำรองไว้ไปยัง ESP
- หากจำเป็นให้แก้ไข
/etc/fstab
เพื่อบันทึก "UUID" ใหม่สำหรับ ESP (เป็นหมายเลขซีเรียลดิสก์สำหรับระบบไฟล์ FAT) คุณสามารถใช้blkid
เพื่อค้นหาหมายเลขซีเรียลใหม่
โปรดทราบว่าเครื่องมือการแบ่งพาร์ติชันบางอย่างเช่นgdisk
และsgdisk
อาจต้องรีบูตก่อนที่ระบบปฏิบัติการจะรับรู้การเปลี่ยนแปลงของดิสก์ที่ใช้งานอยู่ ดังนั้นคุณควรใช้การบูตดิสก์ฉุกเฉินโดยไม่มีพาร์ติชันที่เมาท์บนดิสก์เป้าหมาย หรือใช้เครื่องมือเช่น GParted สำหรับการลบพาร์ติชั่นและการสร้าง (การเปลี่ยน GUID ของพาร์ติชันไม่ได้ทำการเปลี่ยนแปลงใด ๆ ที่ต้องทำการรีบูต)
ขั้นตอนนี้จะเสี่ยงต่อความล้มเหลวจากภัยพิบัติโดยเฉพาะอย่างยิ่งหากคุณไม่สนใจไฟล์สำรองของคุณ นอกจากนี้หากมีสิ่งผิดปกติคอมพิวเตอร์ของคุณจะแสดงผลไม่สามารถบูตได้ชั่วคราว การมีตัวจัดการการบู๊ต rEFIndของฉันใน USB แฟลชไดรฟ์จะมีประโยชน์ในกรณีฉุกเฉินเช่นนั้น
วิธีที่ # 2
ฉันไม่ได้ลองทำสิ่งนี้ด้วยdiskpart
ดังนั้นฉันจึงไม่รู้ว่ามีอะไรกระตุ้นการเตือนนั้น แต่อาจเป็นแอตทริบิวต์พาร์ติชัน (หนึ่งในสองสิ่งที่ libparted เรียกว่า "flag") บางอย่างเช่น "พาร์ติชันระบบ" อาจทำให้เครื่องมือการแบ่งพาร์ติชันอาจปฏิเสธการสัมผัสพาร์ติชัน คุณสามารถใช้parted
หรือ GParted เพื่อค้นหาการตั้งค่าสถานะเหล่านี้ แต่ผมไม่แน่ใจว่าพวกเขาจะแสดงทั้งหมดธง หากพาร์ติชันมีแฟล็กนอกเหนือจาก "boot" (และ "esp" พร้อมกับ libparted เวอร์ชันใหม่กว่า) คุณอาจลองลบส่วนเสริม หรือคุณสามารถใช้gdisk
ซึ่งจะแสดงแอตทริบิวต์ทั้งหมด :
- ประเภท
gdisk /dev/sda
(หรืออะไรก็ตามดิสก์ ID คือ) root
ในฐานะ
- พิมพ์
p
เพื่อดูตารางพาร์ติชัน
- พิมพ์
i
เพื่อดูรายละเอียดเกี่ยวกับพาร์ติชัน คุณจะถูกขอให้ระบุหมายเลขพาร์ติชัน มีหลายบรรทัดที่มีรายละเอียดเกี่ยวกับพาร์ติชันจะปรากฏขึ้น
- มองหา
Attribute flags
สาย 0000000000000000
หากไม่มีธงที่มีอยู่สายนี้จะแสดงค่าของ ถ้าเป็นเช่นนั้นคุณสามารถออกgdisk
จากพิมพ์q
ได้ ถ้ามันแสดงคุณสมบัติและคุณต้องการที่จะลบพวกเขาดำเนินการต่อ ....
- พิมพ์
x
เพื่อเข้าสู่เมนูของผู้เชี่ยวชาญ
- พิมพ์
a
เพื่อแก้ไขคุณสมบัติ คุณจะถูกถามถึงหมายเลขพาร์ติชัน ใส่มัน
- คุณจะแสดงรายการของคุณสมบัติที่รู้จักกันหกประการและสรุปว่ามีการตั้งค่าใดบ้าง พิมพ์หมายเลขของฟิลด์ที่คุณต้องการเปลี่ยน
- ขั้นตอนก่อนหน้านี้จะทำซ้ำโดยอัตโนมัติจนกว่าคุณจะกดปุ่ม Enter โดยไม่มีค่าเป็นสัญญาณเพื่อหยุดการแก้ไข
- พิมพ์
w
เพื่อออกและบันทึกการเปลี่ยนแปลงของคุณ (หากคุณคิดว่าคุณสับสนให้พิมพ์q
เพื่อออกโดยไม่บันทึกการเปลี่ยนแปลงของคุณgdisk
เก็บการเปลี่ยนแปลงในหน่วยความจำจนกว่าคุณจะบอกให้เขียนลงดิสก์w
เพื่อให้คุณสามารถยกเลิกการกระทำส่วนใหญ่ได้อย่างง่ายดาย)
- เพื่อความปลอดภัยรีบูต
- สำรองข้อมูล ESP ของคุณ
- ใช้ GParted เพื่อปรับขนาด ESP ของคุณ
วิธีนี้มีแนวโน้มที่จะทำงานน้อยกว่าวิธีแรกทั้งคู่เนื่องจากปัญหาอาจไม่ใช่แอตทริบิวต์พาร์ติชันและเนื่องจากในประสบการณ์ของฉัน GParted มักจะทำให้ระบบไฟล์ FAT เสียหายเมื่อปรับขนาดแล้ว จุดสุดท้ายนั้นไม่ควรมองข้าม หาก GParted เกิดความยุ่งเหยิงคุณจะต้องเรียกคืนทุกอย่างจากการสำรองข้อมูลของคุณและขั้นตอนนี้จะจบลงด้วยแง่มุมที่เลวร้ายที่สุดของทั้งสองวิธี OTOH หาก GParted ประสบความสำเร็จในการปรับขนาด ESP ของคุณวิธีนี้อาจจะง่ายกว่าและมีความเสี่ยงน้อยกว่าวิธีก่อนหน้าเล็กน้อย
ความคิดเห็นเพิ่มเติม
แน่นอนถ้าคุณยังไม่ได้ติดตั้ง Windows มีวิธีที่ง่ายกว่ามากในการทำสิ่งที่คุณต้องการ: สร้าง ESP ของคุณด้วยตนเองก่อนที่คุณจะติดตั้ง Windows จากนั้นคุณสามารถทำให้ ESP มีขนาดใหญ่เท่าที่คุณต้องการ
อีกวิธีคือใช้สิ่งอื่นนอกเหนือจาก systemd-boot ตัวจัดการการบูตนั้นถูก จำกัด อย่างมากเนื่องจากไม่สามารถเปิดเคอร์เนลหรือบูตโหลดเดอร์ได้จากทุกสิ่งยกเว้นพาร์ติชั่นที่เก็บไว้ (อย่างน้อยมันก็ถูก จำกัด ด้วยวิธีนี้ในครั้งสุดท้ายที่ฉันดูและลักษณะของคำถามของคุณหมายความว่าคุณเชื่อว่ามันยังมี จำกัด ดังนั้นฉันไม่ได้ตรวจสอบเมื่อเร็ว ๆ นี้) ทั้ง GRUB และ rEFInd ไม่ทนทุกข์ จากข้อ จำกัด นี้และเพื่อให้ง่ายต่อการติดตั้ง - หรืออย่างน้อยไม่ต้องการการเรียงลำดับของการจัดการพาร์ติชั่นที่ systemd-boot จะต้องใช้