Grub จะไม่ทำการปรับอัตโนมัติตัวเลือกเริ่มต้นหลังจากอัพเกรดเป็น 12.10


12

ฉันเพิ่งอัพเกรด Ubuntu จาก 12.04 เป็น 12.10 และตั้งแต่นั้นมาระบบจะไม่บูตโดยอัตโนมัติ มันเปิดเมนูบูทเสมอและฉันต้องกด Enter เพื่อให้มันบูท Ubuntu

ดูเหมือนว่าจะไม่สนใจค่าการหมดเวลาและใช้การหมดเวลาแบบ 'ไม่รู้จบ'

ไม่มีระบบอื่น ๆ (ไม่มีการบูทคู่) เฉพาะตัวเลือกที่ติดตั้งโดยเริ่มต้นโดยเริ่มต้นการติดตั้ง Ubuntu 12.04

ฉัน/etc/default/grubมีตัวเลือกที่มีประสิทธิภาพเหล่านี้เท่านั้น:

GRUB_DEFAULT='Ubuntu'
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_TERMINAL=console

ฉันทดลองด้วยGRUB_DEFAULTโดยให้ค่าเป็น '0', '1', 'Ubuntu' แต่ไม่มีอะไรช่วย

ใช่ฉันจะเรียกใช้update-grubหลังจากนั้นเสมอ

ฉันจะทำให้ระบบบูตอีกครั้งได้อย่างไร


คำตอบ:


10

เพิ่มรายการต่อไปนี้เพื่อ /etc/default/grub

GRUB_RECORDFAIL_TIMEOUT=0

บันทึกและเรียกใช้

sudo update-grub

2

ฉันมีชุดของค่าต่อไปนี้ใน/etc/default/grubไฟล์ของฉัน:

GRUB_DEFAULT=5
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

ฉันมีระบบปฏิบัติการอื่น ๆ ในคอมพิวเตอร์ของฉันและการตั้งค่า GRUB_DEFAULT ดูเหมือนว่าจะตั้งค่ารายการเริ่มต้นที่เน้นเฉพาะในรายการที่เริ่มต้นที่ 0 และนับขึ้นไป ในช่วงเวลานับถอยหลัง 10 วินาทีฉันสามารถเปลี่ยนระหว่างรายการอื่น ๆ ในรายการ

ฉันขอแนะนำให้คุณลองใช้การตั้งค่าต่อไปนี้เพื่อให้แน่ใจว่าคุณแสดงความคิดเห็นGRUB_HIDDEN_TIMEOUTพารามิเตอร์:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10

จากนั้นย้อนกลับจากนั้นค่อยทำGRUB_TIMEOUTหรือGRUB_HIDDEN_TIMEOUTพารามิเตอร์ 1 หรือ 2 เพื่อลดระยะเวลารอระบบเริ่มต้นที่เลือกไว้

จำไว้ว่าคุณอาจต้องกด Ctrl + Alt + T เพื่อไปที่เทอร์มินัลเพื่อหา sudo gedit ของไฟล์


2

หากคุณดูที่ /etc/grub.d/00_header คุณจะเห็นบรรทัดเหล่านี้:

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=${GRUB_RECORDFAIL_TIMEOUT:--1}
else
  set timeout=${2}
fi
EOF
}

โดยทั่วไปแล้ว grub2 สามารถตรวจจับข้อผิดพลาดในกระบวนการบู๊ตและสำรองไปใช้การบู๊ตด้วยตนเอง

เปลี่ยนบรรทัดเหล่านี้เป็นสิ่งที่ต้องการ

make_timeout ()
{
    cat << EOF
  set timeout=${2}
EOF
}

และการตั้งค่า grub ใหม่ด้วยsudo update-grubควรแก้ไขปัญหา คำถามที่น่าสนใจคือเหตุผลที่ด้วงคิดว่าการบูทล้มเหลวหลังจากที่คุณกด Enter ด้วยตนเอง


-1

ลองสิ่งนี้ ฉันไม่ต้องใช้ดิสก์สดเพราะฉันสามารถบูตระบบด้วยตนเองได้โดยเลือกตัวเลือกในด้วงและกด Enter นี่เป็นการแก้ไขปัญหาของฉัน โชคดี!

http://www.howtogeek.com/114884/how-to-repair-grub2-when-ubuntu-wont-boot/


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