Saya mencari cara untuk reboot ke Windows dari Ubuntu pada sistem dual boot 10.10 / Vista. Kasus penggunaan khusus adalah bahwa saya ingin dapat ssh ke instance Ubuntu saya yang sedang berjalan dan mengeluarkan perintah yang akan memulai reboot langsung ke Windows.
Saya menemukan posting blog yang menjanjikan , tetapi skrip yang disarankannya tidak berfungsi:
#!/bin/bash
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
sudo grub-reboot $MENU_NUMBER
sudo reboot
man grub-reboot
tidak banyak membantu, tetapi tampaknya mengarahkan saya ke arah yang benar:
atur entri boot default untuk GRUB, hanya untuk boot berikutnya
WINDOWS_ENTRY=`grep menuentry /boot/grub/grub.cfg | grep --line-number Windows`
MENU_NUMBER=$(( `echo $WINDOWS_ENTRY | sed -e "s/:.*//"` - 1 ))
echo $MENU_NUMBER
Ini mengembalikan nilai yang diharapkan, tetapi saat reboot entri menu pertama masih disorot. Adakah ide mengapa ini tidak berhasil atau saran untuk solusi lain?
sudo reboot now
harus me-reboot mesin ke item pertama dalam daftar grub.Jawaban:
Anda harus mengedit grub Anda terlebih dahulu.
Cari baris GRUB_DEFAULT = 0 dan ubah menjadi GRUB_DEFAULT = disimpan
Perbarui grub Anda menggunakan perintah berikut.
Sekarang buat file skrip,
Kemudian tambahkan baris-baris ini.
Jadikan skrip dapat dieksekusi.
Dan sekarang Anda dapat menjalankan skrip ini dari terminal untuk reboot ke windows.
Atau Anda dapat menjalankan perintah berikut di terminal Anda
Di mana X adalah posisi menu masuk dari OS yang ingin Anda restart dari menu GRUB. (Dimulai dengan 0 sebagai entri pertama)
Sebagai contoh:
sudo grub-reboot 5
sumber
grep -i 'windows' /boot/grub/grub.cfg|cut -d"'" -f2
sudo grub-reboot "$ WINDOWS_TITLE" sudo rebootAda perintah grub hanya untuk melakukannya, itu
grub-reboot
.Tampaknya hanya berfungsi ketika Anda telah mengkonfigurasi grub untuk memulai dengan entri yang disimpan terakhir. Jadi, jika Anda belum melakukannya, modifikasi
/etc/default/grub
dan aturkemudian perbarui file konfigurasi grub:
Mulai sekarang, pada setiap boot grub akan memulai entri yang terakhir digunakan.
Sekarang, jika Anda ingin mengatur terlebih dahulu apa yang seharusnya menjadi sistem untuk boot di lain waktu, gunakan
di mana
ENTRY
bisa menjadi angka relatif terhadap entri menu (bernomor mulai dari 0), atau judul entri menu yang tepat , misalnyaPerintah ini dapat dengan mudah dibuat tersedia sebagai peluncur
tapi saya tidak tahu bagaimana itu bisa diintegrasikan ke dalam menu sistem.
Anda dapat memperoleh judul entri menu yang tersedia dengan
sumber
GRUB_DEFAULT=saved
, itu akan mengacaukan konfigurasi Anda. Apa yang dilakukan grub-reboot adalah menulisnext_entry=ENTRY
untuk/boot/grub/grubenv
. Bukan itusaved_entry=ENTRY
. Reboot berikutnya akan baik-baik saja meskipun, grub berbunyinext_entry
. Boot berikut mungkin gagal jika tidak ada entri yang disimpan sepertisaved-entry=ENTRY
di grubenv.Saya pikir saya telah menemukan cara yang lebih baik bagi orang-orang yang ingin melakukan hal yang sama secara lokal di pc mereka tanpa ssh.
Solusi untuk mem-boot ulang ke sistem tertentu yang dipilih melalui peluncur persatuan baru saja diposting di webupd8. Lihat http://www.webupd8.org/2011/05/custom-unity-launcher-to-reboot-in.html
Saya tahu ini bukan pertanyaan yang sebenarnya, tetapi kalau-kalau ada orang yang memiliki pertanyaan serupa nanti mungkin bisa membantu.
sumber
Sejauh yang saya mengerti ini tidak akan persis seperti yang Anda inginkan tetapi saya kira cukup dekat. Ikuti saja tautannya artikel webupdate .
sumber
Jadi bagi saya yang terbaik adalah membuat skrip berikut dengan
grub-reboot
perintahsumber
Info semua orang sangat membantu bagi saya, tetapi pada akhirnya saya masih belum bisa menyelesaikan mengubah default grub dan kemudian memulai kembali dalam satu klik. Setelah bermain-main selama 2 jam saya menemukan program ini yang merupakan hal yang persis sama yang kita semua coba bangun dan dalam 5 menit saya me-reboot ke windows. Terima kasih semuanya, inilah tautan curang untuk mereka yang juga menyerah. http://www.webupd8.org/2013/01/unity-reboot-launcher-to-quickly-reboot.html
sumber
Saya tidak yakin apakah ini akan 100% juga berfungsi di ubuntu, tapi saya pernah membuat ini bekerja pada mesin centos
pada dasarnya Anda harus memberi tahu grub id mana dari # grub.conf yang harus dijalankan berikutnya. Id # dapat ditemukan oleh
jadi dalam kasus saya ini akan misalnya keluaran "4-1" sebagai entri keempat di grub.conf saya berisi teks "Windows". (Ganti ini dengan nama entri yang sebenarnya (juga sebagian) yang ingin Anda gunakan. Kemudian Anda dapat memberi makan ini ke grub seperti:
dan pada reboot berikutnya seharusnya secara otomatis mem-boot entri yang telah Anda suruh.
ini semua dapat disatukan dalam skrip seperti berikut:
skrip akan secara otomatis menentukan entri mana dari grub.conf Anda yang sesuai dengan teks "Windows", akan mengumpankan ini ke grub untuk memberi tahu apa yang harus dimuat pada boot berikutnya dan akan me-reboot pc Anda.
untuk gui misalnya Anda dapat menambahkan ikon cara pintas ke desktop Anda untuk mencapai ini.
sumber
Cukup edit
/boot/grub/grub.cfg
dan ubah entri default untuk menunjuk ke entri yang ingin Anda boot. Nilai dapat berupa nomor urut entri (mulai dari nol untuk yang pertama) atau Anda dapat menempatkan judul lengkap entri yang Anda inginkan dalam tanda kutip.sumber
boot.cfg
, itu akan dikembalikan pada setiap manual atau otomatisupdate-grub
. Pengguna harus memodifikasi/etc/default/grub
.