Grub 1 (Ubuntu 9.04 ขึ้นไป)
ผมพบว่าวิธีที่ง่ายที่สุดที่จะทำนี้คือการย้ายรายการบูตของ Windows /boot/grub/menu.lst
ข้างต้นรายการอูบุนตูใน โดยค่าเริ่มต้นไฟล์การกำหนดค่า Grub จะถูกจัดวางแบบนี้:
- ตัวเลือกพื้นฐาน
- debian auto-magic เคอร์เนล config (รวมถึงยูทิลิตี้เช่น memtest86 + โดยค่าเริ่มต้น)
- ตรวจพบระบบปฏิบัติการอื่น ๆ
ส่วนที่ 2 แบ่งเขตโดยบรรทัดเหล่านี้ในไฟล์กำหนดค่า:
### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST
รายการสำหรับระบบปฏิบัติการตรวจสอบอัตโนมัติ (เช่น Windows) จะอยู่หลังส่วนนี้ เมื่อคุณติดตั้งเคอร์เนลใหม่ส่วนที่ 2 เป็นเพียงส่วนเดียวที่ได้รับการเปลี่ยนแปลง ดังนั้นการย้ายระบบปฏิบัติการอัตโนมัติไปยังที่อื่นก่อนที่BEGIN
บรรทัดจะวางไว้ที่หมายเลขรายการจะไม่เปลี่ยนแปลงเมื่อมีการติดตั้งเคอร์เนลใหม่
Grub 2 (Ubuntu 9.10 ขึ้นไป)
ด้วย Grub2 ไฟล์การกำหนดค่าทั้งหมดจะถูกสร้างขึ้นมาใหม่ทุกครั้งที่update-grub
มีการเรียกใช้ดังนั้นการแก้ไข/boot/grub/grub.cfg
จะไม่เป็นการแก้ไขแบบถาวร วิธีไฟล์ที่ถูกสร้างขึ้นจะถูกจัดการโดยไฟล์และสคริปต์ใน/etc/default/grub
/etc/grub.d/*
ดังนั้นเราจึงปรับเปลี่ยนการกำหนดค่าโดยการแก้ไขไฟล์ที่ควบคุมแต่ละส่วนของ configfile แล้วทำงานupdate-grub
อีกครั้ง
ฉัน/etc/grub.d
รวมไฟล์เหล่านี้:
- 00_header
- 05_debian_theme
- 10_hurd
- 10_linux
- 20_memtest86 +
- 21_memtest86
- 30_os-Prober
- 40_custom
นี่คือ shellscripts ที่ถูกเรียกใช้เพื่อสร้างไฟล์ปรับแต่ง รายการบูตของ Windows ถูกสร้างขึ้นโดย30_os-prober
ซึ่งดำเนินการหลังจากที่10_linux
รายการบูตลินุกซ์จะเกิดขึ้นใน ดังนั้นให้เปลี่ยนชื่อ30_os-prober
เป็นบางสิ่งที่น้อยกว่า 10 และรันใหม่update-grub
mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub
ตอนนี้รายการ Windows ของคุณควรเป็นรายการแรกและคุณสามารถตั้งค่าให้เป็นรายการเริ่มต้นการบูต ( GRUB_DEFAULT=
) /etc/default/grub
ได้