Saya memiliki sistem dual boot Linux / windows, dan sering berpindah dari satu ke yang lain. Saya berpikir jika saya dapat menambahkan item menu di salah satu menu untuk reboot langsung ke windows, tanpa berhenti di GRUB prompt.
Saya melihat pertanyaan ini di sebuah forum, itu persis yang saya inginkan tetapi berurusan dengan lilo, yang bukan kasus saya.
Saya memikirkan solusi yang akan memodifikasi entri default di menu GRUB dan kemudian reboot, tetapi ada beberapa kelemahan, dan saya bertanya-tanya apakah ada alternatif yang lebih bersih.
(Juga, saya akan tertarik pada solusi untuk mem-boot dari Windows langsung ke Linux, tetapi itu mungkin lebih sulit, dan bukan milik di sini. Lagi pula, selama saya memilikinya dalam satu cara, cara lain dapat diatur sebagai default.
UPDATE Tampaknya seseorang bertanya pertanyaan serupa , dan jika mereka adalah jawaban yang disarankan, saya mungkin juga mengedit /boot/grub/grubenv
sebagai grub-reboot
dan grub-set-default
dan grub-editenv
lakukan. )
Terima kasih sebelumnya atas sarannya.
PEMBARUAN :
Ini adalah versi GRUB saya: (GRUB) 1.99-12ubuntu5-1linuxmint1
Saya mencoba menjalankan grubonce
, perintah tidak ditemukan. Dan mencarinya di repositori tidak memberi saya apa-apa. Saya menggunakan Linux Mint, jadi itu mungkin ...
Melihat man grub-reboot
, sepertinya itu melakukan apa yang saya inginkan, seperti grubonce
halnya. Ini juga tersedia di mana-mana (setidaknya untuk saya, saya pikir itu adalah bagian dari paket grub). Saya melihat dua perintah terkait: grub-editenv
dan grub-set-default
.
Saya mengetahui bahwa setelah berlari sudo grub-set-default 4
, saat berlari grub-editenv list
Anda mendapatkan sesuatu yang mirip dengan:
saved_entry=4
Dan saat berlari grub-reboot 4
, Anda mendapatkan sesuatu seperti:
prev_saved_entry=0
saved_entry=4
Yang berarti keduanya melakukan hal yang sama (satu bersifat sementara satu tidak).
Yang mengejutkan, ketika saya mencoba:
sudo grub-reboot 4
sudo reboot now
Itu tidak berhasil, seolah-olah saya tidak melakukan apa-apa, itu hanya menunjukkan kepada saya menu seperti biasa, dan memilih entri pertama, mengatakan akan mem-boot entri ini dalam 10-an.
Saya mencobanya lagi, saya pikir saya mungkin telah menulis entri yang salah (ini berbasis nol, kan?). Waktu itu, hanya digantung di layar menu, dan saya harus mengatur ulang PC untuk dapat boot.
Jika ada yang bisa mencoba ini, hanya untuk melihat apakah itu hanya saya, saya akan menghargainya. (mint telah memberi saya waktu yang sulit, dan itu akan menjadi kesempatan yang baik untuk berubah: P).
Membaca kode /boot/grub/grub.cfg
, sepertinya ini adalah cara untuk pergi, tetapi dari pengamatan saya, itu hanya mengabaikan pengaturan ini ...
Jawaban:
Agar
grub-reboot
perintah berfungsi, beberapa perubahan konfigurasi yang diperlukan harus dilakukan:saved
. Satu lokasi yang mungkin untuk ini adalahGRUB_DEFAULT=
saluran masuk/etc/default/grub
grub-set-default
untuk mengatur entri default Anda ke yang biasa Anda gunakan.update-grub
.).Ini harus menangani pengaturan awal. Di masa depan, lakukan saja
grub-reboot <entry>
untuk satu kali booting<entry>
.sumber
saved
", sementara pemeliharaan sayaGRUB_DEFAULT=0
juga mencukupi. Jadisaved
tidak perlu?GRUB_DEFAULT=0
denganGRUB_DEFAULT=saved
sudo update-grub
perintah Anda adalah:
fungsi cantik di ~ / .bashrc Anda akan terlihat seperti
Dalam hal ini, grub.conf Anda berisi banyak baris untuk Windows, fungsi-fungsi berikut hanya akan menangani baris yang dimulai dengan
menuentry
dan memilih yang pertama, merujuk ke Windows:sumber
/boot/grub/grub.cfg
mengandung lebih banyak baris dengan "Windows" di dalamnya, banyak dari mereka menyatakan sesuatu seperti...=1 i915.semaphores=1 acpi_osi='!Windows 2012' $vt...
, jadi saya berasumsi kode Anda akan gagal. Ini dapat diperbaiki dengan menerima^menuentry 'Windows
.Cara super mudah untuk melakukannya adalah dengan GRUB Reboot GNOME Shell Extension (yaitu, jika Anda menggunakan GNOME).
Untuk menggunakan ekstensi, buka situs yang ditautkan di atas, dan klik sakelar kecil di sudut kanan atas (mungkin berbunyi Mati saat pertama kali Anda menavigasi ke halaman). Anda akan diminta untuk mengonfirmasi bahwa Anda ingin mengunduh dan menginstal ekstensi.
Setelah diinstal, Anda dapat membuka menu Sistem dan mengklik tombol daya seperti biasa untuk memulai ulang. Jendela yang muncul mengonfirmasi bahwa Anda ingin mematikan atau memulai kembali sekarang memiliki tombol berlabel "Restart to ...". Ketika Anda mengklik tombol itu, item dalam menu grub Anda muncul dalam daftar sehingga Anda dapat memilih OS mana yang akan diluncurkan secara otomatis setelah restart. Jika Anda memilih salah satu dari barang-barang itu, sistem Anda akan mati dan mulai ulang menggunakan opsi grub yang Anda pilih.
sumber
Saya menggunakan openSUSE yang dilengkapi dengan skrip bernama
grubonce
, yang melakukan apa yang Anda butuhkan - atur entri grub untuk digunakan pada reboot berikutnya.Saya tidak tahu distribusi mana (jika ada) yang mengirimkan skrip ini, jadi jika distro Anda tidak memilikinya, Anda dapat memeriksa halaman ini:
http://sidvind.com/wiki/GRUB:_Boot_another_OS_once
sumber
grub-set-default
tampaknya lebih tersedia (grubonce
tidak tercantum dalam bait Ubuntu). Ini juga mungkin lebih bermanfaat karena Windows 7 memiliki kebiasaan melakukan reboot selama startup jika pembaruan diterapkan pada shutdown terakhir (yaitu, ia memulai startup, memproses beberapa data pembaruan, reboot, dan kemudian menampilkan halaman login).Saya sering memulai Windows 7 hanya untuk kembali dan menemukan Ubuntu berjalan.
sumber
grub-reboot
. Saya mengedit pertanyaan saya dengan lebih detail. Bagaimanapun, terima kasih.Di Fedora, Anda dapat menggunakan skrip berikut. Perhatikan bahwa ini sebagian besar sama seperti yang dijelaskan dalam https://askubuntu.com/a/18186/149422 , dengan beberapa modifikasi untuk GRUB 2 di Fedora .
sumber
Saya menggunakan Ubuntu 16.04 dan solusi di atas tidak bekerja untuk saya ... untuk beberapa alasan
sudo grub-reboot 2
tampaknya tidak pernah memperbarui/boot/grub/grubenv
berkas, bahkan setelah mengubahGRUB_DEFAULT=0
keGRUB_DEFAULT=saved
dalam kedua/etc/default/grub
dan/boot/grub/menu.lst
. Menggunakansavedefault --default=2 --once
perintah di grub juga sepertinya tidak berfungsi atau mengubah file grubenv. Itu terus saja kembali ke menu grub asli seolah-olah tidak ada yang dilakukan.Jadi saya akhirnya melakukannya secara manual dan telah bekerja (tidak yakin bagaimana ini akan bekerja dengan drive RAID).
Di mana 2 adalah lokasi entri menu berbasis nol untuk entri Windows di menu pembuka grub.
Anda dapat melihat mengapa ini bekerja dengan melihat
/boot/grub/grub.cfg
file, karena menggunakan nilai next_entry dan kemudian me-reset untuk boot berikutnya.sumber
Setuju dengan @ jw013. Dan Anda juga dapat memberikan ubin menu ke grub-reboot (termasuk judul menu induk). misalnya:
Di mana "Opsi lanjutan untuk Ubuntu" adalah menu induk, "Ubuntu, dengan Linux 4.13.0-26-generic" adalah submenu.
sumber
Reboot mesin ke target boot tertentu (entri Grub).
Target boot dipilih secara interaktif dengan fzf.
sumber