เคอร์เนลล่าสุดทำให้เกิดปัญหากับเสียงของฉันซึ่งทำงานได้ดีกับเวอร์ชันเก่ากว่า เนื่องจากฉันเพิ่งติดตั้ง Ubuntu ไว้เท่านั้น Grub จะไม่ปรากฏขึ้นขณะทำการบูท ฉันจะเลือกเวอร์ชันเคอร์เนลของฉันด้วยตนเองในขณะทำการบูทได้อย่างไร
เคอร์เนลล่าสุดทำให้เกิดปัญหากับเสียงของฉันซึ่งทำงานได้ดีกับเวอร์ชันเก่ากว่า เนื่องจากฉันเพิ่งติดตั้ง Ubuntu ไว้เท่านั้น Grub จะไม่ปรากฏขึ้นขณะทำการบูท ฉันจะเลือกเวอร์ชันเคอร์เนลของฉันด้วยตนเองในขณะทำการบูทได้อย่างไร
คำตอบ:
วิธีที่ง่ายที่สุดในการแสดง Grub ของคุณคือการกดปุ่มค้างไว้ในSHIFTขณะที่ทำการบู๊ต
คุณสามารถแสดง Grub ได้โดยไม่ต้องบูทเคอร์เนลใด ๆ :
gksudo gedit /etc/default/grub
เปลี่ยนGRUB_TIMEOUT
เป็น -1 และแสดงความคิดเห็นGRUB_HIDDEN_TIMEOUT
จบด้วยการวิ่ง
sudo update-grub
GRUB_HIDDEN_TIMEOUT
ถูกกำหนดไว้ใน/etc/default/grub
กดปุ่ม Shift ค้างไว้ขณะบู๊ตจะแสดงเมนูด้วง ตอนนี้คุณสามารถเลือกรุ่นเคอร์เนลที่เก่ากว่าได้แล้ว
สำหรับการเลือกเคอร์เนลเก่าเป็นเคอร์เนลเริ่มต้นโปรดดูโพสต์นี้
ในขณะที่บูตเมื่อ GRUB ปรากฏขึ้นพร้อมกับรายการให้เลือกรายการที่สองนั่นคือตัวเลือกขั้นสูงสำหรับ Ubuntu ที่นั่นคุณสามารถดูรุ่นเคอร์เนลรุ่นเก่า ๆ ที่ติดตั้งไว้ก่อนหน้านี้ได้ มิฉะนั้นคุณจะไปที่grub.cfgและวางเคอร์เนลเวอร์ชันที่คุณต้องการด้านบนของรายการเคอร์เนลที่ติดตั้งในปัจจุบัน ทั้งสองวิธีใช้งานได้
หากคุณมีเมล็ดเล็ก ๆ ในระบบของคุณคุณสามารถตั้งค่าด้วยตนเองว่าเคอร์เนลเวอร์ชันใดที่จะเริ่มต้น:
รีบูทพีซีของคุณด้วยปุ่ม Shift เพื่อแสดง GRUB หลังจาก BIOS เริ่มทำงาน คุณจะเห็นสิ่งที่ชอบ: หน้าเริ่มต้นของด้วง
เลือก "Advanced options สำหรับ Ubuntu" และจดจำดัชนีของบรรทัดเมนูนี้ (นับเริ่มจาก 0) บนดัชนีรูปภาพคือ 1
เลือกเคอร์เนลคอนกรีตสำหรับบูตและจดจำดัชนีของบรรทัดเมนูนี้ (นับเริ่มจาก 0) บนดัชนีรูปภาพของเคอร์เนลที่เลือกคือ 2
ระบบเริ่มต้น การดำเนินการนี้ใช้สำหรับการบูตครั้งเดียวบนเคอร์เนลคอนกรีต หากคุณต้องการเริ่มต้นจากเคอร์เนลคอนกรีตตลอดเวลาคุณควรทำตามขั้นตอนต่อไป:
4.1 เปิดและแก้ไขไฟล์ติดตั้ง GRUB:
sudo nano /etc/default/grub
4.2 ค้นหาบรรทัด GRUB_DEFAULT = ... (โดยค่าเริ่มต้น GRUB_DEFAULT = 0) และตั้งค่าในพา ธ เมนูเครื่องหมายคำพูดไปยังเคอร์เนลคอนกรีต (จำดัชนีเมนูจากขั้นตอนที่ 2 และ 3) ในระบบดัชนีแรกของฉันคือ 1 และที่สองคือ 2 ฉันตั้งค่าเป็น GRUB_DEFAULT
GRUB_DEFAULT="1>2"
บันทึกไฟล์.
4.3 อัปเดตข้อมูล GRUB เพื่อใช้การเปลี่ยนแปลง:
sudo update-grub
4.4 หลังจากรีบูตคุณจะบูตเคอร์เนลโดยอัตโนมัติโดยเลือกเมนูพา ธ ตัวอย่างบนเครื่องของฉัน 1 -> 2
4.5 ตรวจสอบเวอร์ชั่นเคอร์เนลหลังจากรีบู๊ต:
uname -r
โดยhttps://help.ubuntu.com/community/Grub2 :
GRUB_HIDDEN_TIMEOUT = 0
การตั้งค่านี้กำหนดระยะเวลาที่หน้าจอที่ไม่มีเมนูด้วง 2 จะปรากฏขึ้น ในขณะที่หน้าจอว่างเปล่าผู้ใช้สามารถกดปุ่มใดก็ได้เพื่อแสดงเมนู
พฤติกรรมเริ่มต้นคือการซ่อนเมนูหากมีระบบปฏิบัติการเพียงระบบเดียวเท่านั้น หากผู้ใช้ที่มีเฉพาะ Ubuntu ต้องการแสดงเมนูให้วางสัญลักษณ์ # ที่จุดเริ่มต้นของบรรทัดนี้เพื่อปิดการใช้งานคุณสมบัติเมนูที่ซ่อนอยู่
ดาวน์เกรดเคอร์เนล: วิธีดาวน์เกรดเคอร์เนลที่ 11.10
อัพเกรดเคอร์เนล: ฉันจะอัพเกรดเคอร์เนลเป็น 3.1 ได้อย่างไร
กรุณาติดตั้งเคอร์เนลก่อนหน้าด้วยคำสั่งต่อไปนี้:
sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic
จากนั้นรีบูท คุณจะได้รับแจ้งให้เลือกเคอร์เนลของคุณ
ทันทีหลังจากหน้าจอสแปลช BIOS / UEFI ในระหว่างการบู๊ตด้วย BIOS ให้กดปุ่มค้างไว้อย่างรวดเร็วShiftซึ่งจะทำให้เมนู GNU GRUB ปรากฏขึ้น (ถ้าคุณเห็นโลโก้อูบุนตูคุณพลาดจุดที่คุณสามารถเข้าสู่เมนูด้วง) ด้วยการกด UEFI (อาจจะหลายครั้ง) Escปุ่มเพื่อเข้าสู่เมนูด้วง บางครั้งหน้าจอสแปลชของผู้ผลิตเป็นส่วนหนึ่งของ bootloader ของ Windows ดังนั้นเมื่อคุณเปิดเครื่องมันจะตรงไปที่หน้าจอ GRUB จากนั้นกดShiftไม่จำเป็น
จากหน้าจอด้วงเลือกตัวเลือกขั้นสูงสำหรับอูบุนตูEnterและกด
หน้าจอสีม่วงใหม่จะปรากฏขึ้นเพื่อแสดงรายการของเมล็ด ใช้ปุ่ม↑และ to เพื่อเลือกรายการที่ถูกเน้น กด Enter เพื่อบูตเคอร์เนลที่เลือก 'e' เพื่อแก้ไขคำสั่งก่อนการบู๊ตหรือ 'c' สำหรับบรรทัดคำสั่ง กด Esc เพื่อกลับสู่เมนูก่อนหน้า
Shift
กุญแจเพื่อทำให้ด้วงด้วงในตอนแรก
คำตอบของ Jackkobecอธิบายวิธีการดูgrub.cfg
และเลื่อนดูซอร์สโค้ดเพื่อค้นหาหมายเลขเมนู วิธีที่ง่ายกว่าคือใช้สคริปต์นี้ :
Grub Version: 2.02~beta2-36ubuntu3.22
┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
│ Menu No. ----------- Menu Name ----------- │
│ │
│ 1>3 Ubuntu, with Linux 4.15.0-55-generic ↑│
│ 1>6 Ubuntu, with Linux 4.15.0-54-generic ▒│
│ 1>9 Ubuntu, with Linux 4.14.134-0414134-generic ▒│
│ 1>12 Ubuntu, with Linux 4.14.120-0414120-generic ▮│
│ 1>15 Ubuntu, with Linux 4.14.114-0414114-generic ▒│
│ 1>18 Ubuntu, with Linux 4.14.110-0414110-generic ▒│
│ 1>21 Ubuntu, with Linux 4.14.98-041498-generic ▒│
│ 1>24 Ubuntu, with Linux 4.14.89-041489-generic ▒│
│ 1>27 Ubuntu, with Linux 4.14.78-041478-generic ▒│
│ 1>30 Ubuntu, with Linux 4.14.70-041470-generic ▒│
│ 1>33 Ubuntu, with Linux 4.4.0-157-generic ▒│
│ 1>36 Ubuntu, with Linux 3.16.60-031660-generic ▒│
│ 1>36 Ubuntu, with Linux 3.16.60-031660-generic ▒│
│ 2 Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10) ▒│
│ 3 Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10) ▒│
│ 3>0 Ubuntu (on /dev/nvme0n1p10) ↓│
│ │
│ │
│ [Display Grub Boot] Exit │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
หมายเหตุ:ในตัวอย่างgrub-menu.sh short
นี้ใช้เพื่อเรียกสคริปต์ short
พารามิเตอร์ยับยั้งเส้นเหล่านี้:
│ 1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart) ▒│
│ 1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode) ▒│
หลังจากเลื่อนดูรายการต่างๆ (คุณสามารถใช้ล้อเลื่อนของเมาส์หรือปุ่มลูกศร) กดEscapeเพื่อกลับไปที่บรรทัดคำสั่ง
หากคุณกดEnterคำสั่งเชื่อมโยง grub สำหรับรายการจะปรากฏขึ้น:
menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue
ชุดคำสั่ง grub มีอยู่สำหรับแต่ละรายการเมนู รายการที่รวบรวมจะถูกเก็บไว้ใน/boot/grub/grub.cfg
ไฟล์
ในตัวอย่างนี้เราต้องการหมายเลขเมนู `1> 9> ตั้งเป็นค่าเริ่มต้นดังนั้นเราจึงใช้:
sudo -H gedit /etc/default/grub
และค้นหาบรรทัดนี้:
GRUB_DEFAULT=0
และเปลี่ยนเป็น:
GRUB_DEFAULT="1>9"
จากนั้นบันทึกไฟล์และเรียกใช้
sudo update-grub
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
ฉันแสดงความคิดเห็นGRUB_HIDDEN_TIMEOUT
และตั้งค่าGRUB_TIMEOUT=0