Grub 1 (Ubuntu 9.04 dan yang lebih lama)
Saya menemukan cara termudah untuk melakukan ini adalah dengan memindahkan entri boot Windows di atas entri Ubuntu di /boot/grub/menu.lst
. Secara default, file konfigurasi Grub diletakkan seperti ini:
- opsi dasar
- konfigurasi kernel auto-magic debian (termasuk utilitas seperti memtest86 + secara default)
- OS lain yang terdeteksi
Bagian 2 dibatasi oleh baris-baris ini di file konfigurasi:
### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST
Entri untuk OS yang terdeteksi secara otomatis (misalnya, Windows) ditempatkan setelah bagian ini. Ketika Anda menginstal kernel baru, bagian 2 adalah satu-satunya bagian yang diubah. Sehingga memindahkan OS autodetected ke suatu tempat sebelum yang BEGIN
garis akan menempatkannya di mana jumlah entri tidak akan berubah ketika kernel baru terinstal.
Grub 2 (Ubuntu 9.10 dan yang lebih baru)
Dengan Grub2, seluruh file konfigurasi dibuat lagi kapan saja update-grub
dijalankan, jadi pengeditan /boot/grub/grub.cfg
tidak akan memperbaiki permament. Bagaimana file itu dihasilkan ditangani oleh file /etc/default/grub
dan skrip di /etc/grub.d/*
. Jadi kami memodifikasi konfigurasi dengan memodifikasi file-file yang mengontrol setiap bagian dari configfile, kemudian menjalankannya update-grub
kembali.
Saya /etc/grub.d
menyertakan file-file ini:
- 00_header
- 05_debian_theme
- 10_jam
- 10_linux
- 20_memtest86 +
- 21_memtest86
- 30_os-prober
- 40_custom
Ini adalah shellscripts yang bisa dijalankan dalam rangka untuk menghasilkan file konfigurasi. Entri boot Windows dihasilkan oleh 30_os-prober
, yang dijalankan setelah entri boot linux dibuat 10_linux
. Jadi ganti nama 30_os-prober
menjadi sesuatu yang kurang dari 10, dan jalankan kembaliupdate-grub
mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub
Sekarang entri Windows Anda harus menjadi entri pertama, dan Anda dapat mengaturnya sebagai entri boot default ( GRUB_DEFAULT=
) di /etc/default/grub
.