ฉันจะลบ Windows ออกจากเมนูสำหรับเริ่มระบบ UEFI หลังจากติดตั้ง Ubuntu แบบกำหนดเองได้อย่างไร


12

ฉันติดตั้ง Ubuntu 18.04 โดยใช้ตัวเลือก "Something else ... " บนแล็ปท็อปที่มี HDD เดียวที่มาพร้อมกับ Windows 10 ระหว่างการติดตั้งฉันลบพาร์ติชันทั้งหมดยกเว้นEFIพาร์ติชัน จากนั้นฉันสร้าง/พาร์ติชันระบบไฟล์รูทและ/homeพาร์ติชัน ทุกอย่างเป็นไปด้วยดี

ยกเว้นตอนนี้ฉันมีรายการ Windows พิเศษในเมนูการบู๊ต UEFI ที่ Grub หยิบขึ้นมา ฉันสามารถแก้ไขด้วยตนเอง/etc/default/grubเพื่อซ่อนตัวเลือกการบูต Windows ที่หมดอายุแล้ว แต่ฉันต้องการกำจัดรายการในระบบ EFI ด้วยเช่นกัน ฉันจะกำจัดเศษร่องรอยสุดท้ายของ Windows ได้อย่างไร

คำตอบ:


21

ค้นหารายการบูต UEFI

หากต้องการลบรายการบูต Windows ที่ไม่มีประโยชน์ใน UEFI อันดับแรกคุณต้องค้นหาก่อน สามารถทำได้โดยตรงจากระบบปฏิบัติการหลักของ Ubuntu ไม่จำเป็นต้องบูตจาก USB / DVD สด Ubuntu ที่ติดตั้งแล้วมียูทิลิตี commandline ที่จำเป็นอยู่แล้ว

เปิดเทอร์มินัลโดยกดCtrl+ Alt+ Tจากนั้นป้อน:

sudo efibootmgr

Etnerใส่รหัสผ่านเมื่อได้รับแจ้งและตี เคอร์เซอร์จะไม่เคลื่อนที่และคุณจะไม่เห็นเครื่องหมายดอกจัน (*****) นี่เป็นเรื่องปกติในเทอร์มินัล Ubuntu คุณจะเห็นผลลัพธ์เช่น:

BootCurrent: 0002
Timeout: 2 seconds
BootOrder: 0002,0001,000
Boot0000* Dell
Boot0001* Windows Boot Manager
Boot0002* ubuntu

หมายเหตุฉันมีสองรายการนอกเหนือจาก windows 0สำหรับ "Dell" และ 1 สำหรับ "Windows Boot Manager" เนื่องจากฉันลบพาร์ติชั่นดั้งเดิมทั้งหมดยกเว้น EFI ฉันจึงไม่สามารถบูต "Dell" หรือ "Windows Boot Manager" ได้อีกต่อไป ฉันจะลบทั้งสองและ0 1แต่สำหรับคำตอบนี้ผมจะแสดงวิธีการลบเพียงBoot Windows ผู้จัดการรายการ

หมายเหตุ: รายการที่คุณต้องการลบอาจแตกต่างจากตัวอย่างนี้ ใช้ผลลัพธ์ที่คุณได้รับจากคอมพิวเตอร์ของคุณไม่ใช่ตัวอย่างด้านบนเพื่อตัดสินใจว่าจะลบรายการใด

ลบรายการบูตที่ล้าสมัย

ตอนนี้คุณรู้ว่าคุณต้องการลบรายการ1(ในตัวอย่างนี้) ในเทอร์มินัลให้ป้อน:

sudo efibootmgr -b 1 -B

หมายเหตุ1ในคำสั่งด้านบน คำสั่งนี้จะลบรายการ:

Boot0001* Windows Boot Manager

ลบโฟลเดอร์ที่เกี่ยวข้องออกจากEFIพาร์ติชัน

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

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

sudo ls /boot/efi/EFI

คุณจะเห็นผลลัพธ์เช่น:

Dell Windows ubuntu

ในการลบWindowsโฟลเดอร์ใช้คำสั่งต่อไปนี้:

sudo rm -r /boot/efi/EFI/Windows

หากต้องการตรวจสอบว่าโฟลเดอร์ถูกลบไปแล้วให้ใช้sudo ls /boot/efi/EFIคำสั่งอีกครั้ง

ในที่สุดก็อัพเดตด้วงเพื่อซ่อนเมนูด้วง

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

sudo nano /etc/default/grub

ทำให้ทั้งสองมีลักษณะดังนี้:

GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0

หากGRUB_TIMEOUT_STYLE=hiddenไม่มีบรรทัดให้เพิ่มบรรทัดดังกล่าวข้างต้น

เมื่อเสร็จแล้วให้บันทึกและออกจากตัวแก้ไขโดยCtrl+ Xตามด้วยและYEnter

ขั้นตอนสุดท้ายคือการอัพเดตด้วงด้วยคำสั่งต่อไปนี้:

sudo update-grub

ตอนนี้แล็ปท็อปควรบูตอูบุนตูโดยตรงโดยไม่แสดงเมนูด้วง หากคุณต้องการเข้าสู่โหมดการกู้คืนในอนาคตจากนั้นกดปุ่มEscในขณะที่แล็ปท็อปบูทเพื่อแสดงเมนูด้วง

การอ้างอิง: คำตอบนี้เป็นไปตามฉันจะลบ "Ubuntu" ในเมนูบูต bios ได้อย่างไร (UEFI)

หวังว่านี่จะช่วยได้


2
ควรติดตั้ง ESP ไว้แล้ว/boot/efiฉันไม่เห็นเหตุผลที่จะติดตั้ง ESP ที่อื่น sudo ls /boot/efi/EFIและsudo rm -r /boot/efi/EFI/Windowsควรทำ
mook765

@ mook765 ขอบคุณ ฉันได้แก้ไขคำตอบแล้ว
user68186

efibootmgrสามารถบั๊กกี้ด้วยการใช้งานบางอย่าง ในระบบเหล่านั้นคุณอาจต้องใช้bcfgจากภายในเชลล์ UEFI v2
Bob

@ บ๊อบขอบคุณ! bcfgรู้สึกฟรีเพื่อเพิ่มคำตอบอื่นใช้ ฉันไม่คุ้นเคยกับเปลือก UEFI
user68186

@ user68186 ฉันพิจารณาการเพิ่มคำตอบ แต่ Arch wiki อธิบายได้ดีกว่าที่ฉันสามารถทำได้จริง ๆ และฉันไม่สามารถเข้าถึงเครื่องได้อีกต่อไปฉันสามารถลองใช้งานได้อย่างง่ายดาย
Bob

-1

เปิด Terminal cd /boot/efi/EFI. นำ ไมโครซอฟท์โฟลเดอร์ sudo rm -R Microsoft- นอกจากนี้คุณยังสามารถลบBootโฟลเดอร์ sudo rm -R Boot-

การลบรายการของ Windows จาก sudo gedit /boot/grub/grub.cfggrub2, ค้นหารายการเมนู Windows Boot Manager (หรือคำอธิบายชื่อที่คล้ายกัน) และลบบรรทัดจนถึงและรวมถึงการปิดวงเล็บคร่อมแล้วบันทึก

งานเสร็จแล้ว เริ่มต้นใหม่.


2
ปัญหาเล็กน้อยกับคำตอบนี้: อันดับแรกการลบโฟลเดอร์เท่านั้นอาจไม่เพียงพอ ดูความคิดเห็นโดย @Silversonic จะได้คำตอบ ประการที่สองไม่ควรใช้sudoกับโปรแกรมกราฟิกโดยตรงgeditเนื่องจากอาจทำให้การตั้งค่าของผู้ใช้สับสน มันจะดีกว่าที่จะใช้sudo -iเป็นครั้งแรกที่จะเปิดrootเปลือกถ้าคุณต้องการที่จะใช้กับgedit sudoประการที่สามgrub.cfgไม่แนะนำให้แก้ไขโดยตรง ก็จะแนะนำให้แก้ไขแล้ว/etc/default/grub sudo update-grub
user68186

ดูaskubuntu.com/questions/1009574/...ไม่ใช้sudo geditและดู askubuntu.com/questions/437323/is-it-possible-to-edit-grub-cfggrub.cfgสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไข
user68186

มันเพียงพอแล้ว ไม่มีปัญหากับมัน มันใช้งานได้ 100% ฉันทำมาหลายครั้งแล้วและมันก็ใช้ได้ทุกครั้ง ไม่มีความแตกต่างไม่ว่าคุณจะใช้ sudo -i แล้ว gedit หรือ sudo gedit สิ่งหลังไม่ได้สร้างความพึงพอใจให้กับผู้ใช้ของคุณ คุณได้รับมาจากไหน คุณสามารถแก้ไข grub.cfg ได้อย่างง่ายดายหากคุณรู้ว่ากำลังทำอะไรอยู่และคุณสามารถสำรองข้อมูล grub.cfg ก่อนหากคุณไม่มั่นใจ คุณกำลังอวดรู้ หากคุณรู้คำตอบทั้งหมดแล้วทำไมจึงถามคำถามตั้งแต่แรก ???
Paul Benson

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