Grub 1 (Ubuntu 9.04 trở về trước)
Tôi thấy cách dễ nhất để làm điều này là di chuyển mục khởi động Windows lên trên các mục Ubuntu /boot/grub/menu.lst
. Theo mặc định, tệp cấu hình Grub được trình bày như sau:
- tùy chọn cơ bản
- cấu hình kernel tự động ma thuật debian (bao gồm các tiện ích như memtest86 + theo mặc định)
- hệ điều hành khác được phát hiện
Phần 2 được phân định bởi các dòng này trong tệp cấu hình:
### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST
Các mục nhập cho hệ điều hành tự động (ví dụ: Windows) được đặt sau phần này. Khi bạn cài đặt kernel mới, phần 2 là phần duy nhất được thay đổi. Vì vậy, di chuyển hệ điều hành autodetected đến một nơi nào trước khi các BEGIN
dòng sẽ đặt nó ở đâu số entry sẽ không thay đổi khi một hạt nhân mới được cài đặt.
Grub 2 (Ubuntu 9.10 trở lên)
Với Grub2, toàn bộ tệp cấu hình được tạo lại bất cứ lúc nào update-grub
được chạy, vì vậy chỉnh sửa /boot/grub/grub.cfg
sẽ không phải là một sửa chữa vĩnh viễn. Làm thế nào tập tin đó được tạo ra được xử lý bởi các tập tin /etc/default/grub
và các tập lệnh trong /etc/grub.d/*
. Vì vậy, chúng tôi sửa đổi cấu hình bằng cách sửa đổi các tệp kiểm soát các phần riêng lẻ của cấu hình, sau đó chạy update-grub
lại.
Của tôi /etc/grub.d
bao gồm các tập tin:
- 00_ tiêu đề
- 05_debian_theme
- 10 giờ
- 10_linux
- 20_memtest86 +
- 21_memt86
- 30_os-prober
- 40 tùy
Đây là những shellscripts mà có được chạy theo thứ tự để tạo ra các tập tin cấu hình. Mục khởi động Windows được tạo bởi 30_os-prober
, được chạy sau khi mục khởi động linux được tạo 10_linux
. Vì vậy, chỉ cần đổi tên 30_os-prober
thành một cái gì đó ít hơn 10 và chạy lạiupdate-grub
mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub
Bây giờ mục nhập Windows của bạn phải là mục nhập đầu tiên và bạn có thể đặt mục nhập đó làm mục nhập khởi động mặc định ( GRUB_DEFAULT=
) /etc/default/grub
.