ฉันจะตั้งค่าการหมดเวลาของด้วงและรายการบูตเริ่มต้นด้วงได้อย่างไร?


191

ใน Ubuntu 12.04 (หรือสูงกว่า) ฉันจะตั้งเวลา GRUB และระบบปฏิบัติการเริ่มต้นได้อย่างไร (ที่ฉันเห็นตอนบูท) เนื่องจากฉันเป็น Windows แบบดูอัลบูต (7/8) และ Ubuntu (12.04 ขึ้นไป)


คุณสามารถให้ข้อมูลเพิ่มเติมได้ไหม คุณหมายถึงอะไรกับ "เวลาด้วง" และระบบปฏิบัติการเริ่มต้นของคุณคืออะไร ในเมนูด้วงของคุณบรรทัดที่แตกต่างคืออะไร?
Julien Chau

1
เวลา grub หมายถึงเวลานับถอยหลังเมื่อฉันต้องเลือกระบบปฏิบัติการที่หน้าจอเริ่มต้น BIOS ฉันขอโทษ แต่ฉันไม่รู้ว่าเมนูตัวเลือกระบบปฏิบัติการเรียกว่าอะไรฉันจึงโพสต์มันเป็นเวลาด้วง
อุกกาบาต

คำตอบ:


227
  • กดAlt+ F2พิมพ์gksudo gedit /etc/default/grubกดEnterและป้อนรหัสผ่านของคุณ
  • คุณจะเห็นเนื้อหาต่อไปนี้:

    GRUB_DEFAULT = 0
    GRUB_HIDDEN_TIMEOUT = 0
    GRUB_HIDDEN_TIMEOUT_QUIET = true
    GRUB_TIMEOUT = 10
    GRUB_DISTRIBUTOR = `lsb_release -i -s 2> / dev / null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT = "สแปลชเงียบ"
    GRUB_CMDLINE_LINUX = ""
    
  • คุณสามารถเปลี่ยนค่าเริ่มต้นจาก 0 เป็นหมายเลขใด ๆ ที่สอดคล้องกับรายการในเมนูการบูต Grub (รายการแรกคือ 0, ที่สองคือ 1, ฯลฯ )

  • คุณสามารถเปลี่ยน "การหมดเวลาที่ซ่อนอยู่" (ไม่มีเมนู); และยังแสดงการนับถอยหลัง ( GRUB_HIDDEN_TIMEOUT_QUIET=false)
  • คุณสามารถบังคับให้เมนูด้วงแสดงโดยการใส่เครื่องหมายคอมเม้นท์สองGRUB_HIDDENบรรทัด#ที่จุดเริ่มต้นของบรรทัด
  • และตั้งค่าการหมดเวลาของเมนูด้วง (ค่าเริ่มต้นคือ 10 วินาที)

  • ทำการเปลี่ยนแปลงของคุณกดCtrl+ Sเพื่อบันทึกและCtrl+ Qเพื่อออก

  • สำคัญ : เปิดเทอร์มินัลด้วยCtrl+ Alt+ Tและพิมพ์sudo update-grubเพื่อใช้การเปลี่ยนแปลงที่คุณเพิ่งทำ
  • รีบูตและคุณควรเห็นการหมดเวลา / การเปลี่ยนแปลงรายการเริ่มต้นของคุณ

คำถามที่เชื่อมโยง:


ขอบคุณ @Raja แต่ grub / grub2 เป็นความแตกต่างที่สำคัญ หากคุณมี grub2 ที่ถูกต้องฉันจะแก้ไขคำตอบของคุณอย่างมีความสุขแทนที่จะทำอย่างอื่น :)
ish

ขอบคุณคำตอบของคุณใช้งานได้ แต่โปรดช่วยอธิบายจุดที่สองและสามให้ฉัน (การหมดเวลาที่ซ่อนอยู่และการซ่อนเส้นด้วง)
อุกกาบาต

2
กรุณาอย่าแนะนำให้ใครเปลี่ยนตัวเลือกด้วงเริ่มต้นโดยการตั้งค่าดัชนีโดยพลการ นั่นไม่ได้ใช้งานง่ายมากและมีแนวโน้มที่จะทำให้เกิดภัยพิบัติ ผู้ใช้อาจป้อนผิดหรืออาจมีการเปลี่ยนแปลงในระหว่างการอัพเกรดทำให้เกิดพฤติกรรมที่ไม่คาดคิด
Cerin

2
จำเป็นต้องมีการอัพเดทที่เกี่ยวข้องกับเมนูด้วงสองระดับในปัจจุบัน
Hannu

1
@Cerin ข้อเสนอแนะของคุณคืออะไร?
Blauhirn

30

หากคุณอ่านไฟล์ที่คุณกำลังแก้ไขในตัวอย่างข้างต้น (/ etc / default / grub) คุณจะสังเกตเห็นว่าสองบรรทัดแรกที่แนะนำให้คุณรันupdate-grubหลังจากทำการเปลี่ยนแปลงเพื่ออัปเดตไฟล์จริงที่ grub อ่านเป็น " รับคำแนะนำ "(/boot/grub/grub.cfg) โปรดทราบว่าคุณต้องเรียกใช้จริงด้วยsudoคำสั่งก่อนเนื่องจากคุณต้องการสิทธิ์รูทเพื่อรันคำสั่ง (ซึ่งเป็นสาเหตุที่ผู้โพสต์ด้านบนบอกว่าพิมพ์sudo update-grub) นี่จะทำให้การเปลี่ยนแปลงที่คุณทำถูกเขียนไปที่ /boot/grub/grub.cfg เส้นคู่ถัดไปมากบอกคุณว่าคุณสามารถอ่านเอกสารเต็มรูปแบบของตัวเลือกในแฟ้มที่ (อีกครั้ง / etc / default / ด้วง) info -f grub -n 'Simple configuration'โดยการพิมพ์

ที่กล่าวไว้ให้ตั้งค่า GRUB_TIMEOUT เป็น -1 หากคุณต้องการตั้งค่า "เวลาด้วง" ให้ไม่สิ้นสุด กล่าวอีกนัยหนึ่งมันจะไม่บูตโดยอัตโนมัติ คุณจะต้องทำการเลือก

สุดท้ายเพื่อตอบคำถามของคุณต่อไปนี้เป็นคำอธิบายของ "grub hidden lines" เหล่านั้นโดยตรงจากเอกสารอ้างอิงข้างต้น:

GRUB_HIDDEN_TIMEOUT
    Wait this many seconds for a key to be pressed before displaying
    the menu.  If no key is pressed during that time, boot
    immediately.  Unset by default.

GRUB_HIDDEN_TIMEOUT_QUIET
    In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
    suppress the verbose countdown while waiting for a key to be
    pressed before displaying the menu.  Unset by default.

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


14

คุณสามารถใช้โปรแกรมที่เรียกว่าด้วง Customizer มันง่ายกว่ามาก

คุณสามารถติดตั้งได้โดย:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

มีความเป็นHow-To Geekบทความเกี่ยวกับเรื่องวิธีการกำหนดค่าลินุกซ์ด้วง 2 Boot เมนูวิธีที่ง่าย นอกจากนี้ยังมีเธรดที่แก้ไขแล้วบนฟอรัม Ubuntu เปลี่ยนลำดับการบู๊ตใน GRUB 2ที่กล่าวถึงเครื่องมือนี้

นี่คือภาพหน้าจอของซอฟต์แวร์นี้:

SCREEN_1

screen_2

screen_3


1
จำเป็นต้องมีการอัพเดทที่เกี่ยวข้องกับเมนูด้วงสองระดับในปัจจุบัน
Hannu

5

ฉันปฏิบัติตามคำตอบแรก แต่ดูเหมือนว่าจะต้องมีการอัพเดตหากคุณเป็นบูทคู่กับ Windows 7 Pro และ Ubuntu 16.04 ตรวจสอบให้แน่ใจด้วยว่าการบู๊ตอย่างปลอดภัยนั้นถูกปิดไว้ใน BIOS

a) ก่อนอื่นเขาบอกว่าใช้Alt+ F2เมื่อฉันคิดว่าเขาต้องการใช้เพื่อเปิดหน้าต่างเทอร์มินัล ในกรณีของฉันมันเป็นCtrl+ +AltT

ข) ในรายการแรกคำสั่งไม่ได้ติดตั้งโดยเริ่มต้นในUbuntu 16.04 หากต้องการหลีกเลี่ยงสิ่งนี้ให้ทำสิ่งต่อไปนี้ในเทอร์มินัล:gksudo gedit /etc/default/grubgksudo

sudo -iและกดEnterและให้รหัสผ่านของคุณแล้วEnterอีกครั้ง

จากนั้นพิมพ์:

gedit /etc/default/grubEnterและกด

c) คุณจะเห็นเมนูการเปลี่ยนแปลงด้วงดังแสดงในคำตอบ 1. ทำตามคำตอบของเขาจนกว่าเขาจะถึงCtrl+ Sเพื่อบันทึกการเปลี่ยนแปลง สิ่งนี้ไม่ทำงานใน Ubuntu 16.04 แต่คุณควรเห็นปุ่มบันทึกที่มุมบนขวาของหน้าจอ คลิกที่

d) Ctrl+ Qเพื่อออก

e) ประเภทถัดไปsudo update-grubและEnter

ฉ) exitพิมพ์ คุณต้องทำสองครั้ง

g) รีบูต

ฉันพบว่าบนคอมพิวเตอร์หลังจากเข้าสู่ระบบไม่กี่ขั้นตอนการบู๊ตจะไม่แสดงหน้าจอด้วงที่เริ่มต้นขึ้นดังนั้นฉันจึงไม่สามารถเข้าสู่ Ubuntu ได้เพราะฉันตั้ง Windows เป็นบูตเริ่มต้นด้วยความล่าช้า 7 วินาทีในกรณีที่ฉันต้องการรับ ลงใน Ubuntu

เพื่อแก้ไขปัญหานี้คุณต้องเข้าสู่ Windows

  1. คลิกที่เมนูเริ่มและพิมพ์CMDในช่องค้นหา

  2. คลิกขวาที่บรรทัด CMD ซึ่งควรจะอยู่ด้านบนของหน้าจอที่เกิดจากการคลิกขวา

  3. คลิกที่ทำงานเป็นผู้ดูแลระบบ

  4. bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efiกับชนิดบรรทัดคำสั่ง รายการนี้มีผลในการลงทะเบียนเมนู grub กับ windows boot manager (Credit to: Grub ไม่แสดงเมื่อเริ่มต้นสำหรับ Windows 8.1 Ubuntu 13.10 Dual boot )

  5. ในที่สุดฉันรีบูตกลับเข้าไปในหน้าต่าง

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


คุณกรุณาลิงค์ไปยัง "ภาพประกอบในคำตอบ 1" ได้ไหม - ฉันไม่พบสิ่งที่คุณหมายถึง
Tom Hale

อีกทั้ง "ฉันทำตามคำตอบแรก" คุณสามารถจัดรูปแบบ "เครดิตถึง:" ของฉันเป็นตัวอย่างได้ โพสต์แรกที่ดี ยินดีต้อนรับสู่ AskUbuntu
Tom Hale

ฉันมีตัวแบ่ง X-window ด้วยวิธีแปลก ๆ เมื่อใช้งานแอปพลิเคชันแบบกราฟิกเช่น gedit เป็น sudo ฉันขอแนะนำให้ใช้โปรแกรมแก้ไขข้อความเช่นนาโนแทน
Arthur Tacca

2
Alt+F2เป็นทางลัดสามัคคีที่จะเรียกใช้คำสั่งในพื้นหลัง ในเมนูที่เปิดขึ้นคุณสามารถป้อนคำสั่งใดก็ได้เช่นเดียวกับในเทอร์มินัล แต่เนื่องจากไม่เปิดเทอร์มินัลคุณจะไม่เห็นเอาต์พุตเทอร์มินัลใด ๆ และไม่สามารถโต้ตอบกับเทอร์มินัลได้ นั่นเป็นเหตุผลที่คุณมักจะใช้มันสำหรับสิ่งต่าง ๆ เช่นเริ่มโปรแกรม GUI เช่น gedit นอกจากนี้คุณไม่สามารถใช้ sudo ได้เพราะคุณต้องการใช้เครื่องนี้ นั่นเป็นเหตุผลที่พวกเขาใช้gksudo(GUI sudo) ถ้าคุณทำคำสั่งใน terminal คุณก็สามารถใช้ปกติsudoเช่นนี้ไม่จำเป็นต้องให้sudo gedit /etc/default/grub sudo -i
เซบาสเตียน

@Sebastian สำหรับการเปิดตัวแอพพลิเคกราฟิกsudo -Hจะดีกว่าsudo -H gedit /etc/default/grubคือ
wjandrea

2

การใช้รายการเริ่มต้นขึ้นอยู่กับตัวเลขทำให้ฉันประหลาดใจตั้งแต่การแนะนำในด้วง นี่เป็นความคิดที่เลวจริงๆ วิธีการเกี่ยวกับการปรับปรุงเคอร์เนลและการกำหนดค่าใหม่ด้วงอัตโนมัติ? วิธีการเกี่ยวกับผู้ใช้ที่ไม่รู้จักที่ต้องการรายการในตอนท้ายของรายการ? การอัปเดตจะทำให้การกำหนดค่าตามหมายเลขเริ่มต้นนั้นแตก

ใช้ตัวเลือก SAVED แทนที่นี่เพื่อจดจำรายการที่เลือกล่าสุด:

GRUB_DEFAULT=SAVED
GRUB_SAVEDEFAULT=TRUE

จากนั้นทาด้วงด้วย

sudo update-grub

1
ไม่ใช่ปัญหาใหญ่ แต่สิ่งนี้ไม่ได้อธิบายว่าจะทำการเปลี่ยนแปลงเหล่านี้ได้อย่างไรหรือที่ไหน คุณอาจต้องการเชื่อมโยงไปยังคำตอบอื่นที่ทำ
wjandrea

1

มันไม่ได้ผลสำหรับฉันในวันที่ 16.04 เช่นกัน

แต่ฉันแก้ไขมันโดยการเปลี่ยนไฟล์ / boot/grub/grub.cfg

sudo vim /etc/default/grub

แก้ไขด้วง

sudo update-grub
sudo chmod u+w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg

เปลี่ยนค่าการหมดเวลา

###segment in /boot/grub/grub.cfg:
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
  #set timeout=10 # comment this original
  set timeout=0 # add this
fi

sudo chmod -w /boot/grub/grub.cfg
reboot

0

มันสามารถทำได้อย่างง่ายดายโดยไม่มีรหัสใด ๆ เพียงทำตามขั้นตอนเหล่านี้

  1. เปิดระบบไฟล์
  2. เปิด/etcโฟลเดอร์
  3. เปิดdefaultโฟลเดอร์
  4. ค้นหาgrubไฟล์และเปิดด้วยleafpad(หรือแก้ไขข้อความอื่น ๆ )
  5. ตั้งค่าGRUB_TIMEOUTตามความต้องการของคุณและบันทึกไว้
  6. update-grubตอนนี้เปิดสถานีและประเภท
  7. รีบูตระบบของคุณ

แค่นั้นแหละ.


0

ฉันคิดว่าคุณมีสายเช่นนี้: GRUB_TIMEOUT_STYLE = ซ่อน

เปลี่ยนเป็น GRUB_TIMEOUT_STYLE = เมนู

และแสดงความคิดเห็นทุกบรรทัดเกี่ยวกับคุณสมบัติที่ซ่อนอยู่

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