Bagaimana cara mengubah urutan boot GRUB?

336

Saya memiliki Windows 7 dan Ubuntu yang diinstal pada mesin bersama. Karena banyak non-pengembang menggunakan Windows, saya ingin mengubah urutan boot agar lebih mudah bagi mereka.

Saat ini urutan boot terlihat seperti berikut:

  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (boot aman)
  • Tes memori
  • Tes memori
  • Windows 7 menyala /dev/sda6

Bagaimana cara mengubah urutan default sehingga Windows 7 ada di bagian atas daftar?

  • Windows 7 menyala /dev/sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (boot aman)
  • Tes memori
  • Tes memori
chrisjlee
sumber
5
T&J serupa
fossfreedom
Apakah Anda melakukan 'sudo update-grub' setelah mengubah file grub?
Tinellus
ya saya pikir saya mungkin lupa melakukan itu, terima kasih! Saya akan mencoba dan memperbarui dengan hasilnya.
jeffery_the_wind
kubuntu 14.04 sudo apt-get install kde-config-grub2kemudian dalam sistem config shutdown startup goto
n611x007

Jawaban:

295

Anda dapat menggunakan aplikasi GUI yang mudah digunakan yang disebut Grub Customizer untuk membuat hidup Anda sedikit lebih mudah. Seperti namanya, Anda dapat melakukan lebih dari sekadar mengatur ulang entri menu GRUB dengannya.

Anda dapat menginstalnya dengan:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

(Lihat Mengajukan pertanyaan Ubuntu Apakah PPA aman untuk ditambahkan ke sistem saya dan apa beberapa "tanda bahaya" yang harus diperhatikan? )

Ada artikel How-To Geek tentang hal itu, Cara Mengkonfigurasi Menu Booting Linux GRUB 2 dengan Cara Mudah . Lihatlah jika Anda tertarik. Juga, ada utas yang diselesaikan di Forum Ubuntu, Ubah urutan boot di GRUB 2 yang menyebutkan alat ini.

Berikut beberapa tangkapan layar:

screen_1

screen_2

screen_3


Beberapa pemecahan masalah:

Pengaturan Grub Customizer hanya dapat berfungsi dari dalam instalasi Linux / Ubuntu terbaru, yang menginstal Grub.

Misalnya, jika seseorang memiliki dua OS yang terinstal (Windows dan Ubuntu), dan kemudian menginstal OS ketiga (Manjaro, dll) dan kemudian mencoba mengikuti jawaban di atas, perubahan Grub Customizer tidak akan berfungsi ketika dibuat dari OS kedua ( Ubuntu, dalam contoh). Program ini harus diinstal pada OS ketiga, karena tampaknya Grub Customizer hanya dapat mengedit file Grub yang dibuat oleh instalasi sistem yang menginstalnya sendiri.

File yang menentukan menu boot Grub datang dalam banyak kasus dengan sistem terbaru diinstal pada mesin, sehingga Grub Customizer harus diinstal dan digunakan dari yang sistem Linux.

Nitin Venkatesh
sumber
4
Selamat datang :) Screenshot berasal dari blogpost yang tertaut di atas: P
Nitin Venkatesh
2
Ini tidak berfungsi dengan Ubuntu terbaru. Bisakah kita mendapatkan posting terbaru di sini?
AT
7
Saya pikir jawaban Anda baik dan bermanfaat, jadi tolong jangan salah paham. Sementara alat GUI rapi dan mudah, mereka menyembunyikan fakta. Jawaban Marve di bawah ini membahas file yang digunakan dan cara memperbaruinya secara manual, memberikan wawasan tentang cara kerja Grub. Ketika GUI Gagal, dan itu akan bagi sebagian orang, setidaknya mengintip dasar-dasarnya - mereka tidak begitu sulit dan manipulasi manual mungkin akan lebih mudah dalam jangka panjang.
barrypicker
1
Saya juga mengalami masalah menggunakan alat ini. Sepertinya itu memperbarui koreksi / etc / default / grub tetapi kemudian mengatakan core dump dan dibatalkan.
Mauricio Gracia Gutierrez
1
Ini membutuhkan pembaruan terkait dengan dua tingkat menu grub saat ini.
Hannu
244

Anda juga dapat mengubah entri boot default grub dari baris perintah tanpa harus menginstal alat tambahan apa pun. Ini tidak akan mengubah urutan dalam daftar tetapi akan memungkinkan OS yang berbeda untuk boot secara default, yang terdengar seperti apa yang Anda inginkan.

Pertama, buat salinan cadangan /etc/default/grub. Jika terjadi kesalahan, Anda dapat dengan mudah kembali ke salinan yang dikenal baik:

sudo cp /etc/default/grub /etc/default/grub.bak

Kemudian edit file menggunakan vimatau editor teks pilihan Anda:

sudo vim /etc/default/grub

Temukan baris yang berisi

GRUB_DEFAULT=0

dan atur ke

GRUB_DEFAULT=x

di mana xadalah indeks item menu grub yang ingin Anda boot secara default. Perhatikan bahwa item menu tidak diindeks nol. Itu berarti bahwa item pertama dalam daftar adalah 0dan item keenam sebenarnya 5. Jadi untuk boot ke item keenam dalam daftar, barisnya akan berbunyi:

GRUB_DEFAULT=5

Jika Anda lupa urutan itemnya, lihatlah /boot/grub/grub.cfg. Setiap entri menu ditentukan oleh jenis baris:

menuentry 'Ubuntu' [options] {

Anda juga dapat memilih default dengan nama alih-alih indeks, misalnya:

GRUB_DEFAULT='Ubuntu'

jika ada menuentry 'Ubuntu'garis /boot/grub/grub.cfg. Ini mungkin metode yang lebih baik, karena tidak tergantung pada urutan entri, yang bisa berubah.

Untuk menggunakan kernel di sub-menu "Sebelumnya Versi Linux" gunakan:

GRUB_DEFAULT="Previous Linux Versions>x"

(pastikan untuk menyertakan kutipan), di mana xindeks kernel lama pada sub-menu, atau nama kernel seperti yang muncul di /boot/grub/grub.cfg. Sebagai contoh,

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

Kemudian buat menu grub yang diperbarui:

sudo update-grub
dcharles
sumber
5
Terakhir saya melihat grub2 menghasilkan begitu banyak entri dengan cepat sehingga sangat sulit untuk mencari tahu nomor apa yang akan digunakan untuk entri.
Joe
52
Menggunakan indeks bisa sangat berantakan - daftar OS dapat berubah setelah pembaruan. Tetapi Anda dapat melihat /boot/grub/grub.cfg dan mencari nama OS default yang diinginkan. Kemudian gunakan nama yang dikutip sebagai ganti indeks. Contoh: GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"alih-alihGRUB_DEFAULT=7
geekQ
1
Ini membutuhkan pembaruan terkait dengan dua tingkat menu grub saat ini.
Hannu
5
Dengan versi Ubuntu 16.04 saat ini, jika Anda ingin memilih Kernel khusus untuk boot, Anda perlu menambahkan ke Advanced options for Ubuntusub menu, seperti ini:GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic'
Geoff Williams
1
@BandaMuhammadAlHelal Itu akan mencoba untuk mem-boot item ke-7 dalam daftar Anda - apakah itu yang Anda inginkan? Jika Anda ingin item ke-6 dalam daftar Anda, gunakan GRUB_DEFAULT=5.
Nick
39

Dari situs tombuntu (artikel oleh Tom ):

GRUB dapat dikonfigurasi menggunakan /etc/default/grubfile. Sebelum Anda membuat perubahan apa pun, mungkin ada baiknya Anda membuat cadangan dengan membuat salinan:

sudo cp /etc/default/grub /etc/default/grub.bak

Anda dapat mengembalikan salinan cadangan ke yang asli:

sudo cp /etc/default/grub.bak /etc/default/grub

Buka file menggunakan editor teks dengan hak akses root:

gksu gedit /etc/default/grub

Baris tersebut GRUB_DEFAULT=0berarti bahwa GRUB akan memilih item menu pertama untuk boot. Ubah ini menjadi GRUB_DEFAULT=saved. Perubahan ini akan membuatnya lebih mudah untuk mengubah item default nanti.

Simpan dan tutup file. Jalankan perintah ini untuk menerapkan perubahan Anda ke konfigurasi GRUB:

sudo update-grub

Perubahan konfigurasi yang kami buat memungkinkan perintah grub-set-default dan grub-reboot dapat digunakan kapan saja. Ini memungkinkan Anda untuk mengubah item boot default secara permanen atau hanya untuk boot berikutnya, secara berurutan.

Jalankan grub-set-defaultatau grub-reboot(dengan sudo) dengan jumlah item menu untuk boot (item pertama adalah 0). Perintah ini akan mengubah default ke item kedua:

sudo grub-set-default 1
silenTK
sumber
15
Jawaban ini diambil hampir kata demi kata dari tombuntu.com/index.php/2011/09/25/… . Tolong beri kredit di mana kredit jatuh tempo.
James McMahon
Jawaban ini tampaknya tidak mengubah urutan item boot.
Sparhawk
Saya menggunakan Linux Mint Debian Edition. Saya tidak memiliki / etc / default / grub, tetapi menemukan nilai GRUB_DEFAULT yang harus diubah adalah di /etc/grub.d/00_header. Setelah memodifikasi GRUB_DEFAULT di 00_header dengan nama entri boot yang saya inginkan, saya hanya menjalankan "sudo update-grub" dan voila, berhasil.
Analisis Fuzzy
Saya melihat perintah yang sama di tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04 Saya menyadari bahwa perintah ini hanya akan berfungsi jika dikeluarkan dari sistem dengan urutan boot 0 terlebih dahulu.
Sun Bear
-2

Saya mencoba yang berikut dan mendapat hasil yang baik.

Buka jendela terminal ( Ctrl+ Alt+ T),

Ketik sudo gksu nautilusdan tekan Enter. Ketikkan kata sandi pengguna Anda.

Arahkan ke file /boot/grub/grub.cfg. Salin dan Tempel file ke direktori yang sama, harus membuat salinan file grub.cfg untuk keperluan cadangan. Kemudian klik dua kali grub.cfg untuk membuka file dalam editor teks.

Dalam file Anda akan menemukan baris ( set default="0"). Edit 0 ke nomor baris di Grub yang ingin Anda muat. Milik saya adalah baris keenam, jadi saya menggunakan 5, karena baris pertama dianggap 0. Simpan file. Reboot pc dan jika Anda memilih garis yang benar itu akan menjadi yang disorot ketika Grub memuat.

Semoga berhasil

Outkast
sumber
10
seperti yang Anda lihat di awal file, dikatakan bahwa Anda tidak boleh melakukan ini. alih-alih edit /etc/default/grublalu jalankan update-grub.
sazary
7
dan saya tidak akan merekomendasikan untuk gksu nautilus juga. Terlalu mudah untuk menjatuhkan bom di sistem Anda dari sana.
sylvainulg
periksa posting ini: psychocats.net/ubuntu/bootmenu
tqjustc
Untuk beberapa alasan jawaban ini ditampilkan sebagai "jawaban otomatis" di google ketika mencari: "grub change boot order".
lepe
@ Lepe, jangan khawatir, bagi saya standarnya adalah linuxandubuntu.com/home/…
vladkras
-5

Buka jendela terminal ( Ctrl+ Alt+ T), atau tekan Alt+ F2.

Ketik gksu nautilusdan tekan Enter.

Itu akan membuka file browser Nautilus dengan izin untuk mengubah file yang dimiliki oleh root.

Arahkan ke file /boot/grub/grub.cfgdan klik dua kali untuk membuka file dalam editor teks.

Potong, pindahkan, dan tempel bagian-bagian dalam file itu milik sistem operasi yang berbeda. Anda harus sangat berhati-hati ketika melakukan ini, seolah-olah Anda salah maka Anda tidak akan bisa boot lagi. Boot Windows selalu dapat diperbaiki dengan alat dari disk instalasi windows ( FIXMBR), yang menimpa GRUB-MBR dengan Windows-MBR yang khas.

Saya telah mengujinya dari Ubuntu 9.04 hingga 12.04 dan telah bekerja dengan baik setiap saat.

Tetapi saya hanya mencoba untuk memindahkan bagian boot Windows ke atas daftar untuk menjadikannya default.

Jika memori saya benar, setiap bagian menu boot dalam file dimulai dengan begin... dan berakhir dengan ... end. Dan membentang beberapa baris teks.

Teks dalam file itu menjadi sedikit lebih rumit dan tidak terlihat sama di versi Ubuntu terakhir seperti di versi sebelumnya. Jadi gunakan otak Anda untuk menyelamatkan Anda dari melakukan kesalahan.

Curt Jonsson
sumber
4
Apakah kamu tidak harus berlari sudo update-grubpada titik tertentu?
Eliah Kagan
4
/boot/grub/grub.cfgsedang ditimpa pada setiap paket yang diinstal / diperbarui memicu pembaruan Grub, secara efektif meminta update-grub. Dan itu menghasilkan yang baru grub.cfg. Oleh karena itu, mengonfigurasi Grub dilakukan dalam file di /etcdirektori sebagaimana dijelaskan oleh jawaban lain, untuk memastikannya tetap ada.
gertvdijk