จะไปยังเมนู GRUB ตอนบูทได้อย่างไร


270

ปัญหานี้เกิดขึ้นเมื่อเร็ว ๆ นี้สำหรับฉัน (และฉันได้รับแจ้งให้พักเป็นคำถามเฉพาะเกี่ยวกับเรื่องนี้):

ระบบของฉันไม่ได้เป็นระบบดูอัลบูตฉันใช้ระบบเดสก์ท็อป Ubuntu มาตรฐาน "บนโลหะ" (ฉันคิดว่าการใช้งานมันใน VM เหมือนกัน)

การกดcขณะบูทไม่ทำให้เมนูด้วงปรากฏขึ้น (ซึ่งฉันเชื่อว่ามันใช้สำหรับระบบดูอัลบูต)

ฉันจะรับเมนูด้วงเพื่อนำเสนอตัวเองบนระบบบูตเดียวได้อย่างไร


22
+1 คำถามที่ยอดเยี่ยมในการเปิดเผยคุณสมบัติที่ไม่มีเอกสารของกระบวนการบูตของ Ubuntu ซึ่งเป็นคำตอบที่ฉันพบโดยบังเอิญขณะที่กำลังคลานผ่าน grub.cfg ขอขอบคุณที่ยกระดับนี้ขึ้นไปถึงระดับบนสุด (Googleable)
msw

5
เครดิตที่เครดิตครบกำหนด ... ปัญหานี้เกิดขึ้นในคำถามอีกเรื่องหนึ่งของฉัน (ฝังลึกในความคิดเห็น) Jorge Castro แนะนำว่ามันจะเป็นความคิดที่ดีที่จะนำเสนอเป็นคำถามมันเป็นสิทธิของตนเอง ... (ดังนั้นเครดิตกับเขา .... และฉันยินดีที่จะได้รับความสุขในแสงสะท้อน;) ฉันสามารถเห็นคุณค่าของ มันเป็น Q / A หลัก
Peter.O

คำตอบ:


249

เมนูจะปรากฏขึ้นหากคุณกดค้างShiftระหว่างการโหลด Grub หากคุณบูตโดยใช้ BIOS เมื่อบูทระบบของคุณโดยใช้ UEFI Escกด

สำหรับการเปลี่ยนแปลงอย่างถาวรคุณจะต้องแก้ไข/etc/default/grubไฟล์ - วาง "#" GRUB_HIDDEN_TIMEOUT=0สัญลักษณ์ที่จุดเริ่มต้นของบรรทัด

บันทึกการเปลี่ยนแปลงและเรียกใช้sudo update-grubเพื่อใช้การเปลี่ยนแปลง

เอกสารประกอบ: https://help.ubuntu.com/community/Grub2


4
@codeMonk: โอ๊ะ! (ฉันได้ลบความคิดเห็นก่อนหน้าของฉันเพราะฉันผิดพลาด) ... ฉันเข้าใจผิดว่าบริบทของ "GRUB_TIMEOUT = 0" บริบทที่คุณหมายถึงเกี่ยวข้องกับการแสดง"ถาวร"ของเมนูด้วง ... ฉันคิดว่าคุณหมายถึงความสัมพันธ์กับวิธีการ"เปลี่ยน" ที่สำคัญ ... มันเป็นความจริงที่ว่าสำหรับการแสดงผลที่เกิดขึ้นอย่างถาวรคุณต้องการทั้งสองอย่าง " # GRUB_HIDDEN_TIMEOUT = 0 "และ" GRUB_TIMEOUT = * NON-ZERO * "ตามที่อธิบายไว้ในลิงก์ในคำตอบ ... (ฉันเพิ่งทดสอบทั้งสองวิธี)
Peter.O

6
การถือกะซ้ายไม่ได้ผลสำหรับฉัน :(
นิค

5
ใน Ubuntu 18.04 ไม่มีGRUB_HIDDEN_TIMEOUT=0บรรทัดในของฉัน/etc/default/grub- แทนมีGRUB_TIMEOUT_STYLE=hidden(Shift ระหว่างการบูตไม่เคยทำงานให้ฉัน (Dell?)) ความคิดใดที่จะทำอย่างไร
jena

3
@jena ผมพบว่าคำแนะนำที่ด้านบนของที่เป็นประโยชน์เช่นการมีลักษณะที่/etc/default/grub info -f grub -n 'Simple configuration'สิ่งนี้อธิบายถึงตัวเลือกต่างๆ ใช้GRUB_TIMEOUT_STYLE=menuเพื่อแสดงเมนู หรือกดESCถ้าคุณใช้การตั้งค่าต่อไปhiddenแต่ต้องการดูเมนู
bovender

3
การเปลี่ยนแปลงด้วงกับแต่ละรุ่นโปรดพิจารณาเพิ่มรุ่นข้อมูล ความจริงตัวอย่างเช่นนี้ใช้งานได้เฉพาะสำหรับ 14.04 มันแน่ใจว่าไม่เกี่ยวข้องอีกต่อไป 18.04
onknows

75

ฉันได้พยายามทั้งในShiftและSpaceกุญแจ แต่ผลงานอะไร Escคีย์เท่านั้นใช้งานได้กับ Ubuntu 14.04 และ 16.04 เพื่อรับ Grub Menu ในเวลาบูต


2
กันที่นี่ เฉพาะปุ่ม ESCAPE เท่านั้นที่ทำงานกับ Ubuntu 14.04
atmelino

15
เช่นเดียวกับ Ubuntu 16.04 - ใช้งานได้เฉพาะ Escape เท่านั้น ควรกล่าวถึงในเอกสารประกอบ (โหมดการกู้คืน)
กำหนด

2
Ubuntu 14.04 ที่นี่ ไม่มีอะไรทำงาน
yPhil

1
ปุ่ม Shift ทำงานได้ดีบน v16.04 ของฉัน
Sopalajo de Arrierez

7
ฉันต้องกดปุ่ม ESC ซ้ำหลายครั้งอย่ากดค้างไว้ เรามี 6 วิธีในการทำสิ่งเดียวกัน Linux เป็นเรื่องสนุก
Jeffrey Blattman

16
  • กดปุ่มShiftเรื่อย ๆ จนกว่าคุณจะเห็น "Grub กำลังโหลดข้อความ"
  • หลังจากข้อความค้างไว้Shiftจนกระทั่งเมนูปรากฏขึ้น

นี่คือความแตกต่างเล็กน้อยที่ช่วยให้ฉันได้รับในที่สุด! ขอขอบคุณ! :)
ATSiem

3
นั่นไม่ได้ผลสำหรับฉัน ไม่ว่าฉันจะทำอย่างไรกับปุ่ม SHIFT ที่ไม่ดีนี้ Intel NUC นี้ข้ามเมนูด้วง :(
yPhil

2
@yPhil Intel NUC Shiftเป็นประหลาดที่กิน มันทำงานได้ทุกที่อื่น ฉันโชคดีที่Escทำงานให้กับ NUC ของฉัน แต่ดูเหมือนว่าจะไม่เหมาะกับคุณใช่ไหม?
Franklin Yu

15

ใน Ubuntu 18.04 ไม่มีGRUB_HIDDEN_TIMEOUT=0เส้น/etc/default/grub- GRUB_TIMEOUT_STYLE=hiddenแทนมี ตามinfo -f grub -n 'Simple configuration':

หากตัวเลือกนี้ไม่มีการตั้งค่าหรือตั้งค่าเป็น 'เมนู' GRUB จะแสดงเมนูแล้วรอเวลาที่กำหนดไว้โดย 'GRUB_TIMEOUT' จะหมดอายุก่อนที่จะบูตรายการเริ่มต้น การกดแป้นขัดจังหวะการหมดเวลา

ดังนั้นหากคุณลบหรือแสดงความคิดเห็นออกบรรทัดเป็น:

#GRUB_TIMEOUT_STYLE=hidden

จากนั้นเมนูจะแสดงตามค่าเริ่มต้น

18.04 + ไม่ใช่การบูทคู่, บู๊ตในด้วง 5 วินาที

GRUB_TIMEOUT_STYLE = false

GRUB_TIMEOUT = (ไม่มีค่า) ทำงานได้ดี LVM


1
ที่สมบูรณ์แบบ! ทดสอบกับการตั้งค่า QEMU นี้: askubuntu.com/questions/924913/ …
Ciro Santilli 事件改造中心中心法轮功六四事件

ยังใช้งานได้ใน 18.10
Budget Tech

สิ่งนี้ทำงานได้ในช่วงปลายปี 2010 ของฉัน MBP กับ Lubuntu 19.04
SurvivalMachine

8

ตามค่าเริ่มต้น GRUB จะแสดงเมนูหากติดตั้งระบบปฏิบัติการระบบที่สอง ถ้ามีการติดตั้งเฉพาะ Ubuntu แล้ว GRUB จะโหลด Ubuntu โดยไม่แสดงเมนู ในการกำหนดค่า GRUB ให้แสดงเมนู :

  1. แก้ไข/etc/default/grub:

    ตั้งค่าGRUB_HIDDEN_TIMEOUT=(ไม่มีค่าหลัง=เครื่องหมาย)
    ตั้งค่าให้แสดงเมนูเป็นเวลาnวินาทีGRUB_TIMEOUT=n

  2. วิ่งupdate-grubเพื่อสร้างใหม่/boot/grub/grub.cfgตามการ/etc/default/grubตั้งค่า

คุณสามารถรับ GRUB เพื่อแสดงเมนูแม้ว่าการGRUB_HIDDEN_TIMEOUT=0ตั้งค่าเริ่มต้นจะมีผล:

  • หากคอมพิวเตอร์ของคุณใช้ BIOS สำหรับการบูตให้กดShiftปุ่มค้างไว้ในขณะที่ GRUB กำลังโหลดเพื่อรับเมนูการบูต
  • หากคอมพิวเตอร์ของคุณใช้ UEFI สำหรับการบูทให้กดEscหลาย ๆ ครั้งในขณะที่ GRUB กำลังโหลดเพื่อรับเมนูการบู๊ต

เราหวังว่านี้ล้างความสับสนว่าทำไมShiftการทำงานสำหรับผู้ใช้บางคนและทำงานให้กับคนอื่น ๆEsc


3

ฉันได้ยินมาว่า Shift ทำ แต่ฉันเคยใช้ Space มาก่อนและใช้งานได้


1
ฉันเพิ่งลองทั้ง Shift และ Space ในสองสถานการณ์: ใน VM และ "on the metal" ... "Shift" ทำงานในทั้งสองสถานการณ์ ... "Space" ล้มเหลวในทั้งสองสถานการณ์ ...
Peter.O

4
หากคุณไม่สามารถใช้กะได้ให้ลองหลบหนี ดูเหมือนว่าจะทำงานกับฉันด้วย Ubuntu 12.10
user530873

Ubuntu 15.04 ปุ่ม Space ใช้งานได้ ขอบคุณ!
DmitryKanunnikoff

0

สำหรับรุ่นใหม่ Ubuntu ไม่มีGRUB_HIDDEN_TIMEOUTแทนที่จะมีGRUB_TIMEOUT_STYLEซึ่งเป็นชุดที่hiddenเป็นค่าเริ่มต้น

เปิดไฟล์sudo nano /etc/default/grub เปลี่ยนค่าGRUB_TIMEOUT_STYLEจากhiddenเป็นmenuและตรวจสอบให้แน่ใจGRUB_TIMEOUTว่าไม่ได้ตั้งค่าให้0รัน

sudo update-grub

Done!!!

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