Pertanyaan Bagaimana saya bisa mendapatkan grub2 untuk mem-boot opsi yang berbeda hanya pada boot berikutnya?


Saya menyiapkan mesin Linux / Windows tanpa boot ganda. Saya lebih suka mesin untuk selalu boot ke Ubuntu, kecuali kadang-kadang ketika saya perlu menguji sesuatu di windows.

Saya telah menginstal Windows dan Ubuntu, dan saat ini boot ke Ubuntu setiap waktu. Saya ingin dapat memberitahukannya untuk boot ke Windows hanya pada boot berikutnya dan kemudian ketika saya me-restart dari Windows memiliki sistem kembali ke boot Ubuntu.

saya menemukan Grub Legacy - bagian 4.3.1 - Booting sekali-saja tetapi saya menggunakan server Ubuntu 14.04 yang memiliki versi grub yang lebih baru. Dari apa yang saya baca, saya perlu membuat beberapa perubahan /etc/default/grub dan digunakan sudo grub-set-default ketika saya ingin boot ke Windows.

Saya pikir perubahan itu dimulai dengan menambahkan ini /etc/default/grub:

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=false

Setiap kali perubahan dibuat /etc/default/grub Saya tahu bahwa saya harus kemudian berlari
sudo update-grub dan yang menghasilkan:

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done

Karena Windows adalah opsi ke-7 dalam daftar itu, saya yakin saya akan berlari sudo grub-set-default 6 (Penghitungan berbasis 0) - apakah ini benar dan apakah ada metode yang berbeda untuk mendapatkan daftar nomor pilihan boot setelah sistem sudah di-boot?

Juga, garis-garisnya masuk /etc/default/grub cukup untuk mencapai perilaku ini atau apakah saya perlu menambahkan konfigurasi tambahan?


13
2018-01-16 04:21


asal




Jawaban:


Anda harus memastikan Anda memilikinya GRUB_DEFAULT=saved di konfigurasi grub Anda (yang di-autogenerasi, Anda mengubah bagian ini dengan mengedit / etc / default / grub). sudo update-grub untuk membuat perubahan aktif dan kemudian digunakan sudo grub-reboot $1.

grep -i "menuentry '" /boot/grub/grub.cfg

Akan memberi Anda menu yang Anda dapat potong-sisipkan untuk $ 1. Atau, seperti yang Anda catat, opsi-opsi tersebut diindeks nol, sehingga menuen ke-n dapat dilakukan dengan melewatkan (n-1) ke grub-reboot.

Lihat misalnya

Tidak diuji oleh saya karena saya tidak menginstal 'Windows 7'.


16
2018-01-19 22:48



terima kasih saya pikir ini adalah apa yang saya butuhkan (dengan detail tambahan yang saya temukan di help.ubuntu.com/community/Grub2 ) - cwd
Jika Anda kebetulan mencoba ini tanpa mengubah baris ke GRUB_DEFAULT=saved, Anda harus melakukan ini secara manual kemudian seperti yang dijelaskan di sini di paragraf kedua untuk Grub2 lalu grub-set-default 0; grub-reboot 0 - rubo77
perintah untuk menampilkan nomor entri: grep -i "menuentry '" /boot/grub/grub.cfg|sed -r "s|--class .*$||g"|nl -v 0 - rubo77
Sesuai askubuntu.com/questions/838704/grub-reboot-to-specific-kernel, menuentrys di bawah a submenu di /boot/grub/grub.cfg harus diteruskan ke grub-reboot sebagai SUBMENU>MENUENTRY. Jadi, misalnya, menggunakan bash-fu yang mirip dengan @ rubo77, saya ingin boot menuentry 7, namun entri ini berada di bawah submenu yang merupakan entri kedua di menu tingkat atas, jadi saya harus lulus '1>6' sebagai gantinya (tanda kutip tunggal untuk menghindari penafsiran shell>). - Trent Nelson


Coba pasang grub-customizer (panduan instalasi di bawah) ke sistem Ubuntu Anda. Alat GUI ini akan memberikan Anda satu set pilihan yang bagus dengan itu Anda dapat mengkonfigurasi pengaturan GRUB, termasuk nama dan urutan opsi boot, sistem default, resolusi layar, font, latar belakang dll ...
Saya tidak yakin apakah ia memiliki kemampuan untuk mengatur apa yang Anda inginkan, tetapi setidaknya itu bisa menunjukkan kepada Anda nomor os. Mereka bisa dirujuk dengan nama mereka juga, saya pikir.

Cara menginstal grub-customizer:

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

(sumber: launchpad - daniel richter)


-2
2018-01-16 07:45



Saya melihat alat itu, tetapi saya menggunakan server Ubuntu 14.04 (tidak ada GUI) jadi saya ingin memiliki solusi baris perintah. - cwd
Oh, tidak tahu ini. Saya menggunakan 14.10 standar (Unity) dan saya pribadi lebih menyukai GUI untuk pekerjaan seperti ini. Apakah kamu tahu ini situs? Ini menjelaskan tentang apa yang Anda tulis dalam pertanyaan Anda, tetapi jika itu berbeda dari sumber pertama Anda, mungkin di sana Anda menemukan apa yang sebenarnya Anda butuhkan. - Byte Commander
-1 - Saya menolak jawaban Anda karena saya ingin tahu apakah Anda membaca pertanyaan itu sama sekali. Saya dapat mengerti bahwa Anda mungkin melewatkan 'ubuntu server' di sana tetapi Anda baru saja memposting tautan yang sama yang saya sertakan dalam pertanyaan saya di komentar terakhir Anda ... - cwd
Ups. Tapi apakah menurut Anda setiap kali saya menulis komentar atau jawaban baru, saya membaca ulang seluruh pertanyaan dan posting sebelumnya, memeriksa setiap tautan !? Selain itu, Anda juga dapat menginstal DEs di distro server! Saya mengakui bahwa saya bukan ahli (belum), tetapi setidaknya saya mencoba membantu orang lain di mana pun saya bisa, meskipun jawabannya tidak selalu 100% benar atau bermanfaat. Anda harus senang bahwa ada orang yang mencoba membantu Anda memecahkan masalah ini, tetapi jika Anda ingin membuat saya kesal, Anda berhasil. Satu hal lagi: yang Anda bicarakan GRUB_SAVEDEFAULT=false, tetapi saya tidak dapat menemukannya di tautan kami. Dan Anda lupa kalimat lain yang disebutkan di sana! - Byte Commander