จาก Wiki Opensource
- ทดสอบกับ ubuntu 10.04 และ grub2
- ให้บูทเข้าเป็นลินุกซ์ตามปรกติ
- ตรวจสอบแฟ้ม /boot/grub/grub.cfg ดูลำดับของเมนูที่แสดง ใช้คำสั่ง
grep menuentry /boot/grub/grub.cfg
ได้ผลข้อความขึ้นต้นบรรทัดว่า menuentry...
เริ่มนับลำดับ menuentry... อันแรกเป็นลำดับที่ศูนย์
แล้วนับเพิ่มไปเรื่อยๆจนถึงเมนูตัวที่ต้องการ สมมติว่าเป็นลำดับที่ 4
ให้แก้ไขแฟ้ม /etc/default/grub ประมาณบรรทัดที่ 4
ไปที่ค่าตัวอย่างตัวแปรเดิม GRUB_DEFAULT=0
ตัวอย่างนี้แก้ไขให้เป็นให้เป็น GRUB_DEFAULT=4
แล้วสร้าง /boot/grub/grub.cfg ใหม่ ด้วยคำสั่ง
sudo update-grub
เป็นอันเสร็จ ทดสอบผลงานได้เลย
- หากต้องการเอา menu ชุด recovery ออก
ให้แก้ไขแฟ้ม /etc/default/grub ประมาณบรรทัดที่ 31
ลบเครื่องหมาย # หน้าสุดของบรรทัด #GRUB_DISABLE_RECOVERY="true" ออกไป
เหลือเพียง GRUB_DISABLE_RECOVERY="true"
แล้วสร้าง /boot/grub/grub.cfg ใหม่ ด้วยคำสั่ง
sudo update-grub
ทำแค่นี้ทดสอบผลงานได้เลย
- หากต้องการเอา menu ชุด Memorytest ออก
ให้ยกเลิก execute ของแฟ้ม /etc/grub.d/20_memtest86+ ออก ด้วยคำสั่ง
sudo chmod -x /etc/grub.d/20_memtest86+
แล้วสร้าง /boot/grub/grub.cfg ใหม่ ด้วยคำสั่ง
sudo update-grub
ทำแค่นี้ทดสอบผลงานได้เลย
- ตัวอย่างการสร้างเมนูของตนเอง เป็นการตั้งค่าเมนูบูทของวินโดวส์ 3 partition และปิดเครื่อง
ให้สร้างแฟ้มชื่อ /etc/grub.d/09_mymenu ให้มีข้อมูลประมาณว่า
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "CAD/CAM (on /dev/sda1)" --class windows --class os {
insmod part_msdos
insmod ntfs
parttool (hd0,1) hidden-
parttool (hd0,2) hidden+
parttool (hd0,3) hidden+
parttool (hd0,1) boot+
set root='(hd0,1)'
chainloader +1
}
menuentry "PROGRAMMING (on /dev/sda2)" --class windows --class os {
insmod part_msdos
insmod ntfs
parttool (hd0,1) hidden+
parttool (hd0,2) hidden-
parttool (hd0,3) hidden+
parttool (hd0,2) boot+
set root='(hd0,2)'
chainloader +1
}
menuentry "COE Windows 7 (loader) (on /dev/sda3)" --class windows --class os {
insmod part_msdos
insmod ntfs
parttool (hd0,1) hidden+
parttool (hd0,2) hidden+
parttool (hd0,3) hidden-
parttool (hd0,3) boot+
set root='(hd0,3)'
chainloader +1
}
menuentry "Shutdown Now" {
halt
}
บันทึกข้อมูลแล้ว ตั้งค่า execute ด้วยคำสั่ง
sudo chmod +x /etc/grub.d/09_mymenu
แล้วสร้างเมนูของ grub ใหม่ด้วยคำสั่ง
sudo update-grub
- หากต้องการเอารายการ kernel รุ่นเก่า ออกจากรายการเมนูตอนบูทของ grub
แนะนำให้ถอด kernel รุ่นก่อนออก แล้วมันก็จะหายไปจากรายการเมนูเอง
ตัวอย่างต้องการลบ 2.6.32-28-generic ใช้คำสั่งประมาณว่า
sudo apt-get remove linux-image-2.6.32-28-generic
อ้างอิงจาก http://opensource.cc.psu.ac.th/การตั้งค่าลำดับการบูทของ_grub
ความคิดเห็น
แสดงความคิดเห็น