Saya memiliki Ubuntu - Windows 7 dual-boot set-up, dan saya ingin memilikinya bahwa laptop saya akan boot Windows 7 kecuali saya menekan tombol Shift tepat setelah boot dan membuka menu Grub2 dari mana saya dapat memilih Ubuntu.
Saya meneliti tentang Grub2 dan opsi untuk etc/default/grub
dan saya telah mencoba bermain-main dengan kombinasi dengan GRUB_TIMEOUT
dan GRUB_HIDDEN_TIMEOUT
nilai - nilai, tetapi tidak berhasil. Saya mencoba mengatur yang GRUB_HIDDEN_TIMEOUT
lebih tinggi daripada GRUB_TIMEOUT
pemikiran bahwa kedua hitung mundur mulai secara bersamaan, tetapi tidak - GRUB_TIMEOUT
hanya dimulai setelah yang lain dilakukan.
Apakah perilaku ini dapat dicapai?
Jika ya, bagaimana caranya?
Jawaban:
Saya pikir saya menemukan resolusi yang lebih sederhana. Ubah baris berikut dalam file / etc / default / grub:
GRUB_HIDDEN_TIMEOUT = 0,0
GRUB_TIMEOUT = 0,0
Tentu saja kami akhirnya menjalankan pembaruan-grub. Ini bekerja di PC saya.
sumber
Ini untuk Ubuntu 16.04.
Saya memecahkan ini dengan sedikit kombinasi dari beberapa jawaban yang ditemukan di atas, jadi tidak perlu memodifikasi 30_os-prober, menghindari penggabungan di masa mendatang ketika paket grub diperbarui ...
Semoga ini bisa membantu.
Mengubah beberapa variabel di / etc / default / grub untuk mencerminkan apa yang saya inginkan;
Kemudian buat file baru;
mengisinya dengan konten ini;
dan grub yang diperbarui;
Tepuk tangan.
sumber
Di Kubuntu 14.04, ini tidak berfungsi, jika Anda mengatur
GRUB_TIMEOUT= 0
, anehnya, setelah menerapkan ini dan me-reboot, menu grub tetap terlihat selama 10-an.Alasan untuk ini adalah bahwa dalam skrip grub lain ada sepotong kode yang menetapkan grub_timeout menjadi 10 jika memiliki nilai 0.
Jadi beginilah cara saya membuatnya:
buat salinan keduanya
grub
dan30_osprober
file !!! Ketika terjadi kesalahan, Anda dapat mengembalikan file aslinyaDi
/etc/default/grub
di
/etc/grub.d/30_os-prober
, ada sepotong kode yang menetapkan batas waktu grub menjadi 10s jika diatur ke nol/etc/default/grub
, saya tidak tahu mengapa devs meletakkannya di sana, tetapi mencegah menyembunyikan menu grub.Setelah perubahan ini, jalankan
sudo update-grub
untuk menghasilkan urutan boot grub baru.Saya mendokumentasikan semua perbaikan / mod linux saya di https://sites.google.com/site/marcshomesite/Home/linux-tuning
sumber
=
diGRUB_TIMEOUT= 0
.Untuk mem-boot Windows secara otomatis tanpa harus memilih dari menu GRUB, kita perlu mengedit
/etc/default/grub
file dengan nilai yang serupa dengan ini:Itu selalu merupakan ide yang baik untuk membuat cadangan file-file ini sebelum Anda mengeditnya. Setelah melakukan perubahan, kita perlu mengaktifkannya dengan
Nilai untuk GRUB_DEFAULT bergantung pada sistem individual kami. Untuk selalu mem-boot Windows kita dapat dengan alternatif memasukkan nama entri persis seperti yang ditunjukkan pada menu Grub (mis.
"Microsoft Windows XP Professional"
) Alih-alih nomor entri.Catatan penting: di beberapa mesin, menu GRUB tidak dapat ditampilkan dengan menekan dan menahan kiri Shiftsaat boot (lihat bug # 425979 ). Oleh karena itu mungkin ide yang baik untuk terlebih dahulu menguji ini dengan mem-boot Ubuntu (bukan Windows) yang ditetapkan sebagai OS default. Maka Anda akan dapat dengan mudah membatalkan pengaturan GRUB Anda jika Anda terpengaruh.
sumber
Saya mencoba melakukan hal yang sama dan saya menemukan banyak bantuan di Forum Ubuntu, terutama di utas ini .
Dengan asumsi Anda melakukan hal yang benar dengan
/etc/default/grub
, pengaturan yang benarGRUB_TIMEOUT
danGRUB_HIDDEN_TIMEOUT
(saya akan mengatakan masing-masing ke 0 dan 5) dan bahkanGRUB_DEFAULT
untuk menentukan gambar default untuk boot, inilah prosedur untuk membuatnya bekerja dengan cara yang benar.Tambahkan garis-garis itu
sampai akhir
/etc/default/grub
Cadangkan
/etc/grub.d/30_os-prober
dan timpa dengan versi yang ada di siniMenguji! Untuk menampilkan menu tekan
SHIFT
tombolMasalah ini terkait dengan pengaturan multi OS dan mengedit skrip adalah salah satu cara untuk memperbaikinya.
30_os-prober :
sumber
sudo update-grub
setelah mengubah/etc/default/grub
fileDi Ubuntu 16.04 saya telah melakukan perubahan berikut. Tentu saja Anda harus menjadi pengguna istimewa untuk melakukannya.
Perubahan pertama ada di
/etc/grub.d/30_os-prober
file:sudo gedit /etc/grub.d/30_os-prober
quick_boot="1"
kequick_boot="0"
Setelah itu, Anda dapat mengatur nilai batas waktu
/etc/default/grub
menjadi nol atau nilai lain:sudo gedit /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0
danGRUB_TIMEOUT=0
.Langkah terakhir adalah memperbarui grub
sudo update-grub
Perubahan pada file pertama adalah karena pengaturan default adalah bahwa jika OS lain (misalnya Windows 10) ditemukan nilai batas waktu selalu diatur ke 10 detik dan karenanya tidak dapat diubah oleh
/etc/default/grub
. Ini dilakukan oleh fungsi bernamaadjust_timeout
yang menanyakan apakahquick_boot
diatur dan apakah OS lain hadir.sumber
instal grub optimizer
Grub Customizer sekarang akan muncul di menu Applications> System Tools.
Atau Anda dapat membukanya dari baris perintah.
sumber
etc/default/grub
?grub-customizer
(bukan 'pengoptimal') dan, saat bekerja, itu tidak membantu saya menyembunyikan menu GRUB kecuali tombol Shift ditekan.Saya mengalami masalah yang sama pada sistem boot tunggal. Jika GRUB_TIMEOUT bukan nol, menu akan selalu muncul terlepas dari GRUB_HIDDEN_TIMEOUT. Jika GRUB_TIMEOUT nol, itu akan tidur selama GRUB_HIDDEN_TIMEOUT detik tetapi SHIFT maupun ESC tidak akan menampilkan menu.
Saya memperbaikinya dengan menambahkan klausa lain ke statemen tidur di akhir adjust_time () di 30_os-prober. Sekarang jika tidak terputus timeout adalah nol dan boot tanpa menu, tetapi jika terputus saya mengatur batas waktu ke 10.
Ini sebenarnya tampak mundur karena tidur harus mengembalikan 0 (salah) jika tidak terganggu dan 1 (benar) jika itu tetapi tampaknya bekerja untuk saya.
sumber
MEMBUAT MENU BOOT GRUB2 SECARA OTOMATIS TERLIHAT
Untuk beberapa alasan, mengedit
GRUB_GFXMODE=640x480
pengaturan di Grub Customizer biasanya membuat menu boot terlihat:Saya tidak tahu mengapa ini bekerja untuk saya, tetapi ini bekerja pada kedua komputer saya, jadi semoga itu akan bekerja untuk Anda juga!
sumber
Shasteriskt, salah satu alternatif dari solusi 'SHIFT' adalah membuat skrip yang dapat memindahkan operasi untuk Anda. Yang saya maksud adalah membuat file yang disebut
grub.bak
salinan persisgrub.cfg
file Anda , dengan satu-satunya perbedaan adalah bahwaset timeout=0
garis diubah menjadiset timeout=10
misalnya. Buat skrip shell yang melakukan saklar yang memungkinkan Anda untuk reboot sesuai dengan kebutuhan Anda. Saya membuat skrip python setara yang memenuhi persyaratan ini, tetapi tentu saja harus dipanggil dengansudo
. Saya cukup memasukkannya ke/usr/bin
dalam pengaturan saya sebagai symlink ke skrip yang sebenarnya. Catatan: Saya menjalankan fluxbox di Arch, jadi saya tidak yakin apakah ada perbedaan antara skrip ini dan Ubuntu, tetapi harus ada sedikit atau tidak ada modifikasi, saya pikir. Script terlihat seperti:Script pada dasarnya hanya menentukan apakah Anda memiliki menu untuk memuat atau tidak (boot otomatis atau tidak). Berdasarkan temuannya, ia menanyakan apakah Anda ingin menghidupkan atau mematikannya, dan kemudian bertanya apakah Anda ingin reboot. Sebaliknya, jika Anda menginginkannya bekerja sebaliknya (yaitu di Windows), dan Anda memiliki Windows yang diatur untuk mengakses file di Linux, Anda dapat menjalankan skrip yang sama di lingkungan itu juga, jika Anda mau. Semoga itu bisa membantu.
sumber
Jadi, bahkan jika Anda menetapkan GRUB_TIMEOUT ke 0, jika Anda memiliki GRUB_HIDDEN_TIMEOUT, 30_os-prober akan menetapkan batas waktu ke 10, apakah Anda suka atau tidak. Solusi lain di sini mengedit skrip itu, tetapi itu dapat menyebabkan masalah pembaruan yang harus Anda gabungkan jika GRUB diperbarui.
Solusi yang lebih baik: tulis yang berikut ini di
/etc/grub.d/50_goddamnit
(file baru):Pada dasarnya, ini akan berjalan terakhir dan menjadi baris terakhir di /boot/grub/grub.conf, dengan demikian menimpa semua mishigus konyol lainnya dalam konfigurasi default.
sumber