Linux di UEFI - bagaimana cara me-reboot ke layar pengaturan UEFI seperti Windows 8?


33

makeuseof.com menjelaskan bahwa perangkat keras bersertifikasi Windows 8 memiliki cara baru untuk memasuki layar pengaturan UEFI (setara dengan BIOS). Dari Cara Mengakses BIOS Pada Komputer Windows 8 :

Kami tidak lagi menekan tombol tertentu selama proses boot untuk mengungkapkan BIOS - sebagai gantinya, opsi untuk mengakses BIOS terletak di menu opsi boot Windows 8 ... Jika Anda hanya di sini untuk mengakses UEFI BIOS komputer Anda, klik ubin Pemecahan Masalah.

Pengembang utama Secure Boot untuk Linux mengatakan bahwa OS alternatif tidak dapat mengasumsikan cara lama akan terus bekerja . Jadi, apakah Linux juga memiliki cara baru untuk masuk ke pengaturan UEFI?

Saya memiliki motherboard ASUS. Ini menunjukkan bahwa versi upgrade dari firmware berisi opsi boot cepat . Sisi sebaliknya adalah bahwa opsi mungkin membuatnya lebih sulit untuk "mengungkapkan BIOS" daripada yang sudah ada.

Saya tidak keberatan bermain-main. Hanya jika ini dikenal sebagai ide yang buruk, saya tidak ingin menanggung risiko peningkatan firmware secara gratis (dan mungkin harus melepas casing, mengatur ulang pengaturan dan harus mengatur semuanya lagi).


Atau, bagaimana ini ditangani untuk pengguna Windows 7? Jika mereka secara optimis memilih opsi boot cepat, bagaimana mereka mendapatkan akses ke pengaturan "BIOS" lagi ketika mereka membutuhkannya?


Sial. Sekarang saya berharap saya tidak akan memilih Asus daripada Gigabyte untuk upgrade baru saya
kluka

Gunakan pengaturan apa pun yang berfungsi untuk Windows 7, yang akan menjadi default, dan itu akan baik-baik saja :). Pasti ada cara standar untuk melakukannya di UEFI, saya belum menemukannya di mana pun. Bahkan firmware asli tanpa opsi boot cepat sama sekali sangat tajam, jadi saya tidak menyesalinya. Kami sedang melihat fitur khusus UEFI; Saya tidak akan bergantung pada Gigabyte untuk mendapatkan EFI dengan benar. Aku sedang bekerja di sekitar masalah dengan 1) port USB3 dan 2) keyboard USB, yang mengumpulkan sedikit mengecewakan pada prinsipnya. OTOH LED tes memori berguna bagi saya ketika RAM baru saya gagal setelah seminggu.
sourcejedi

1
Salah satu masalah dengan UEFI adalah bahwa, terlepas dari dokumen spesifikasi 2.000 halaman, tidak ada standardisasi masalah antarmuka pengguna. Pengembang Firmware bebas memberi pengguna akses ke utilitas pengaturan dengan cara apa pun yang mereka anggap diinginkan.
Rod Smith

Artikel itu mengatakan bahwa Windows 8 akhirnya memberi pengguna akses ke utilitas pengaturan yang biasa dengan cara standar. Jadi sertifikasi windows harus menentukan metode untuk mendukung ini. Semoga ini bagian dari UEFI, bukan ekstensi MS yang tidak berdokumen. Perhatikan bahwa ini BUKAN pertanyaan tentang "Boot Aman". Pertanyaannya mengasumsikan saya sudah berhasil menginstal dan mem-boot Linux.
sourcejedi

Saya pribadi menjalankan Windows 8 pada ASRock Z77 Pro3 motherbord saya, baru-baru ini menerapkan opsi "Ultra fast boot" ini di pengaturan UEFI. Saya disediakan utilitas oleh ASRock yang berada di baki saya, yang dapat saya tekan untuk mengakses pengaturan UEFI. CMOS clear akan mengatur ulang opsi boot cepat, jadi Anda selalu dapat mencobanya. VBIOS saya tidak mengizinkan pengaturan ini, karena tidak memiliki dukungan GOP, jadi saya belum punya kesempatan untuk mencobanya. Saya tidak dilengkapi dengan perangkat lunak serupa untuk Linux, hanya Windows 8.
Steen Schütt

Jawaban:


39

Pada distribusi Linux modern menggunakan systemd, Anda dapat langsung menuju ke menu pengaturan Firmware menggunakan:

systemctl reboot --firmware-setup

Dokumentasi: https://www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup


1
Hah, dokumen itu agak singkat. Terlihat bagus - tidak khusus untuk boot manager yang diberikan. Sayang tidak ada alat yang berdiri sendiri, tapi saya tidak menentang systemd. github.com/systemd/systemd/blob/…
sourcejedi

1
Lihat juga jawaban Unix.SE ini . Berhati-hatilah dengan penggunaan efivar, saya entah bagaimana berhasil menghapus 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsvariabel, mungkin dengan mengirimkan data kosong ke efivarprogram. Sekarang saya harus menemukan cara untuk membuat ulang file ini, tanpa itu systemctl reboot --firmware-setupprogram tidak berfungsi lagi.
Lekensteyn

Maaf mendengar masalah Anda. Saya mendapat pengaturan kesan bahwa variabel ke 0 akan baik-baik saja (dari komentar ini github.com/systemd/systemd/blob/… ), meskipun kode yang sama menunjukkan bahwa systemd tidak akan peduli jika variabel itu dihapus.
sourcejedi

1
Ini tampaknya menciptakan kembali variabel, tetapi entah bagaimana itu hilang setelah reboot: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(berdasarkan firmware.intel.com/blog/accessing-uefi-variables-linux dan konten sebelumnya yang saya buang). Perhatikan bahwa rm ...kebutuhan chattr -i ...sebelum Anda dapat menghapusnya (langkah-langkah keamanan tentang rm -rf /).
Lekensteyn

1
@sourcejedi Arch Linux dikirimkan dengan systemd 230. Saya akhirnya berhasil mendapatkan variabel saya kembali. Untuk beberapa alasan membuat variabel melalui efivars menghasilkan OsIndications-89efde67-ffcd-12de-ab01-01efff012389yang memiliki GUID berbeda. Setelah saya boot ke UEFI Shell , saya menjalankan perintah setvar OsIndications -nv -bs -rt =0000000000000000untuk mengatur variabel OsIndications dalam penyimpanan non-volatile untuk layanan boot dan akses runtime ke urutan heksadesimal mewakili angka 64-bit (0).
Lekensteyn

4

Saya tidak yakin bagaimana tepatnya Windows 8 melakukan ini, tetapi saya bisa menebak bahwa itu mengambil keuntungan dari variabel UEFI yang digunakan untuk opsi boot.

Anda dapat menggunakan efibootmgr untuk menentukan arti dari berbagai variabel boot. Di sistem saya, Boot0000 adalah Pengaturan, jadi menggunakan efibootmgr -n 0akan menyebabkan sistem boot ke pengaturan pada boot berikutnya.


Terima kasih. Saya sekarang sudah mencoba boot UEFI di BIOS saya saat ini. Boot0000 tampaknya ditempati oleh salah satu entri boot normal. (Saya juga menyadari bahwa saya salah membaca catatan rilis, dan tidak ada alasan untuk mengharapkan versi yang lebih baru menjadi lebih cepat. Oh well :).
sourcejedi

@sourcejedi Firmware, opsi boot cepatnya mungkin sebenarnya boot lebih cepat 1 atau 2 detik, boot ultra cepat lagi mungkin mencukur 1 hingga 2 detik lagi: unix.stackexchange.com/questions/149761/…
Pro Backup

3

Saya telah mencoba mem-boot EFI dengan Ubuntu 12.04, dan menemukan jawaban untuk pertanyaan saya sendiri.

(Saya belum memutakhirkan firmware saya. Saya salah membaca catatan rilis awalnya - mungkin tidak akan lebih cepat).

Masuk ke pengaturan firmware dari menu boot grub-efi

efibootmgrsepertinya tidak mendukung booting ulang ke pengaturan firmware untuk saya. Tetapi grub-efi melakukannya. Itu dapat membuat entri untuk pengaturan firmware di menu boot GRUB.

Anda dapat masuk ke menu boot GRUB dengan menahan tombol shift "di awal proses boot". Saya menekannya segera setelah lampu NumLock dihidupkan pada keyboard, dan itu bekerja untuk saya.

Jika Anda penasaran, saya melihat perintah juga: itu "fwsetup". Yaitu Anda dapat masuk ke menu GRUB, ikuti petunjuk di layar untuk beralih ke baris perintah, lalu ketik "fwsetup" dan tekan kembali.

Jika Anda melakukan penginstalan EFI dari awal, saya yakin item menu akan dibuat secara otomatis. Saya tidak menginstal sebagai EFI, yang berarti saya harus menendangnya (lihat di bawah, langkah 4).

Mengubah dari boot BIOS-GPT ke boot UEFI-GPT tanpa membakar CD boot EFI?

EDIT: bagian ini dapat berfungsi pada beberapa sistem. Namun saya sekarang percaya ini bergantung pada perilaku ekstra yang bukan bagian dari standar UEFI. Suatu hari saya akan mencari tahu apa yang terjadi di sini.

Saya mengubah instalasi yang ada ke EFI, tanpa CD boot berkemampuan EFI. Beberapa orang berpikir ini tidak mungkin. Memang, ada beberapa pesan peringatan yang membingungkan. Saya telah melihat apa yang sedang terjadi. Jika saat ini Anda dapat memasuki pengaturan firmware, maka itu tidak terlalu buruk.

Bagian yang sulit adalah Anda mungkin masih menggunakan tabel partisi MBR, dan Anda hampir pasti perlu mengubahnya menjadi GPT. Saya tidak akan membahas konversi dari MBR ke GPT. Partisi selalu sedikit berbahaya. gdiskdapat mengkonversi, tetapi ada beberapa bit fiddly. Saya belum mendaftarkan semuanya di sini. Tetapi untuk satu, Anda mungkin perlu mengecilkan partisi terakhir, untuk memberi ruang bagi GPT akhir disk. Anda tidak dapat melakukannya jika partisi sudah di-mount, jadi Anda ingin menggunakan CD boot. (Saya juga melakukan konversi, memastikan saya bisa boot dari BIOS-GPT sebelum saya mencoba UEFI-GPT, yang melibatkan harus membuat lagi jenis partisi boot.).

Dengan asumsi Anda sudah menyiapkan GPT:

  1. Instal grub-efi. Ini menghapus grub-pc, dan menghentikannya dari bekerja. (grub-efi sebenarnya masih berfungsi setelah saya menghapusnya!). Fedora agak berbeda; Saya hanya mencoba ini di Ubuntu. Selama instalasi, Anda akan melihat kesalahan tentang tidak dapat mengakses variabel EFI, yang karena Anda tidak bisa boot oleh EFI.
  2. Matikan.
  3. Nyalakan. Pastikan Anda melakukan booting melalui EFI! Ini adalah bagian yang tergantung pada sistem dan mengkhawatirkan. Sistem saya kebetulan default untuk boot MBR untuk memulai, jadi saya melihat kesalahan menakutkan dari GRUB - tapi itu dari grub-pc lama. Di sistem saya, mudah untuk memasuki layar pengaturan firmware pada saat ini (lihat di bawah), dan ubah prioritas boot menjadi "ubuntu" (yang merupakan entri untuk mem-boot OS saya melalui EFI).
  4. Sekarang Anda dapat mengulang instalasi grub ( grub-install, atau grub2-installpada Fedora), dan itu tidak akan menampilkan kesalahan. Dan sekarang , menjalankan update-grub(atau grub2-mkconfig -o /boot/grub/grub.cfg, pada Fedora) akan membuat item menu untuk memasuki pengaturan firmware.

Masuk ke menu pengaturan / boot firmware pada sistem ASUS saya

DISCLAIMER: ini bukan firmware / board terbaru. Sistem ASUS Anda mungkin bertindak berbeda dari milik saya.

Pemberitahuan firmware ASUS saya saat ini ketika "konfigurasi boot" telah berubah - misalnya ketika saya menginstal grub-efi. Ada teks yang mengatakan bahwa itu berubah jika Anda melihat layar "EZ setup" awal. Dan, ketika mendeteksi perubahan seperti itu, membuatnya lebih mudah untuk masuk ke layar pengaturan. Apa yang dilakukannya adalah menampilkan layar splash dengan "tekan DEL untuk masuk ke pengaturan" selama beberapa detik. (Jika Anda telah mengaktifkan opsi "boot cepat", biasanya melompati layar splash).

Saya pikir itu juga mungkin untuk memicu splash screen dengan Anda mematikan sistem dan mencabutnya sekitar satu menit, sebelum reboot.

Pada firmware saya saat ini, saya bisa masuk ke pengaturan firmware dengan membombardir tombol DEL saat boot, bahkan tanpa layar splash. Namun , ini tergantung pada mengaktifkan dukungan keyboard di firmware.

Dimungkinkan untuk mengganti firmware untuk tidak mencari keyboard saat boot, yang seharusnya mempercepat. Saya rasa ini adalah percobaan berikutnya untuk dicoba, sekarang saya lebih percaya diri tentang hal-hal EFI ini! (Masuk akal itu bisa mematikan dukungan keyboard di menu boot GRUB juga. Tapi saya masih bisa menggunakan grub-set-default, sehingga GRUB mem-boot entri fwsetup, dan memulihkan dengan cara itu).


0

Membangun jawaban @ Lekensteyn, saya membuat pintasan UI (di menu Administrasi jika lingkungan Anda masih memiliki salah satu dari itu). Berguna jika keyboard Anda sepertinya tidak pernah berfungsi sampai setelah POST.

/usr/share/applications/uefi-reboot.desktop

[Desktop Entry]
Name=UEFI Firmware Setup (Reboot)
Comment=Access the motherboard configuration utility
Exec=systemctl reboot --firmware-setup
Icon=system-restart
Terminal=false
Type=Application
Categories=System;Settings;
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.