Linux на UEFI - як перезавантажити екран налаштування UEFI, як Windows 8 може?


33

makeuseof.com пояснює, що апаратне забезпечення, сертифіковане для Windows 8, має новий спосіб ввести екран налаштування UEFI (еквівалентний BIOS). З Як отримати доступ до BIOS на A Windows 8 Комп'ютер :

Більше не натискаємо певну клавішу під час процесу завантаження, щоб виявити BIOS - натомість опція доступу до BIOS розташована в меню параметрів завантаження Windows 8 ... Якщо ви просто тут, щоб отримати доступ до BIOS UEFI вашого комп'ютера, натисніть плитка Виправлення неполадок.

Головний розробник Secure Boot для Linux каже, що альтернативні ОС не можуть припустити, що старий спосіб буде продовжувати працювати . Отож, у Linux також є новий спосіб вступити в налаштування UEFI?

У мене материнська плата ASUS. Це дозволяє припустити, що оновлена ​​версія прошивки містить опцію швидкого завантаження . Зворотний бік полягає в тому, що ця опція може зробити ще важче "розкрити BIOS", ніж це вже є.

Я не проти байдикувати. Просто, якщо це, як відомо, погана ідея, я не хочу переживати ризик оновлення мікропрограмного забезпечення ні за що (і, можливо, доведеться вимкнути корпус, скинути налаштування та змусити їх знову налаштувати).


Як варіант, як це обробляється для користувачів Windows 7? Якщо вони оптимістично вибирають опцію швидкого завантаження, як їм знову отримати доступ до налаштування "BIOS", коли їм це потрібно?


Блін. Тепер я б хотів, щоб я не обрав Asus над Гігабайт для мого нового оновлення
kluka

Використовуйте всі налаштування, які працюють для Windows 7, які будуть за замовчуванням, і це буде добре :). Має бути стандартний спосіб зробити це в УЄФІ, я просто ніде його не знайшов. Навіть оригінальна вбудована програма без опції швидкого завантаження зовсім не дуже, тому я не шкодую про це. Ми розглядаємо особливості UEFI; Я б не покладався на Гігабайт, щоб отримати EFI правильно. Я працюю над проблемами з 1) портами USB3 та 2) USB-клавіатурою, яка складається разом, трохи невтішно. Інший світлодіодний тест пам'яті був мені корисний, коли моя нова ОЗУ вийшла з ладу через тиждень.
sourcejedi

1
Одна з проблем , з UEFI є те , що, незважаючи на специфікацію документа у 2000 сторінок, там НІ стандартизація питань призначеного для користувача інтерфейсу. Розробники прошивки можуть надати користувачам доступ до своїх утиліт налаштування будь-яким способом, який вони вважають бажаним.
Род Сміт

У статті йдеться про те, що Windows 8 нарешті надає користувачам доступ до звичайної утиліти налаштування стандартним способом. Тож сертифікація Windows повинна вказувати спосіб, який це підтримує. Сподіваємось, це частина UEFI, а не бездокументоване розширення MS. Зауважте, що це НЕ питання щодо "Захищеного завантаження". Питання передбачає, що мені вже вдалося встановити та завантажити Linux.
sourcejedi

Я особисто запускаю Windows 8 на материнській платі ASRock Z77 Pro3, нещодавно реалізуючи цю опцію "Ультра швидке завантаження" в налаштуваннях UEFI. Мені надається програма ASRock, яка сидить у моїй панелі трейерів, яку я можу натиснути, щоб отримати доступ до налаштувань UEFI. Чітка CMOS скине параметр швидкого завантаження, тому ви завжди можете спробувати. Мій vBIOS не дозволяє це налаштування, оскільки він не підтримує GOP, тому я не мав можливості його спробувати. Мені не передбачено подібне програмне забезпечення для Linux, тільки Windows 8.
Стін Шютт

Відповіді:


39

У сучасних дистрибутивах Linux, що використовують systemd, ви можете перейти безпосередньо до меню налаштування прошивки за допомогою:

systemctl reboot --firmware-setup

Документація: https://www.freedesktop.org/software/systemd/man/systemctl.html#--firmware-setup


1
Ха-ха, цей документ дещо лаконічний. Виглядає добре - це не характерно для даного менеджера завантаження. Соромно, що це не автономний інструмент, але я нічого не маю проти systemd. github.com/systemd/systemd/blob/…
sourcejedi

1
Дивіться також цю відповідь Unix.SE. Будьте дуже обережні з використанням efivar, мені якось вдалося видалити 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsзмінну, можливо, передавши порожні дані в efivarпрограму. Тепер я повинен знайти спосіб відтворити цей файл, без нього systemctl reboot --firmware-setupпрограма вже не працює.
Лекенштейн

Вибачте, що почули ваші неприємності. У мене склалося враження, що змінна значення 0 буде добре (з цього коментаря github.com/systemd/systemd/blob/… ), хоча той самий код говорить про те, що systemd не переймався б, якщо змінну було видалено.
sourcejedi

1
Це, здається, знову створює змінну, але якось вона втрачається після перезавантаження: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(на основі firmware.intel.com/blog/accessing-uefi-variables-linux та попереднього вмісту, який я скидав). Зауважте, що rm ...потрібно, chattr -i ...перш ніж ви зможете його зняти (заходи щодо безпеки rm -rf /).
Лекенштейн

1
@sourcejedi Arch Linux поставляється з systemd 230. Нарешті мені вдалося повернути свою змінну. Чомусь створення змінної за допомогою efivars призвело до того, OsIndications-89efde67-ffcd-12de-ab01-01efff012389що вона має інший GUID. Після завантаження в оболонку UEFI я setvar OsIndications -nv -bs -rt =0000000000000000запустив команду встановити змінну OsIndication в енергонезалежний сховище для завантажувального сервісу та доступу під час виконання в шістнадцяткову послідовність, що представляє 64-бітове число (0).
Лекенштейн

4

Я не впевнений, як саме це робить Windows 8, але я можу здогадатися, що він використовує переваги UEFI-змінних, які використовуються для параметрів завантаження.

Ви можете використовувати efibootmgr для визначення значень різних змінних завантаження. У моїй системі Boot0000 - це Установка, тож використання efibootmgr -n 0повинно призвести до завантаження системи під час наступного завантаження.


Спасибі. Зараз я спробував завантажувати UEFI в моєму поточному BIOS. Boot0000, здається, займає один із звичайних записів завантаження. (Я також зрозумів, що я неправильно прочитав нотатки до випуску, і немає підстав очікувати, що нова версія буде швидшою. О добре :).
sourcejedi

@sourcejedi Прошивка швидкого завантаження може насправді завантажуватися швидше 1 або 2 секунди, надшвидке завантаження знову може збрити
Pro Backup

3

Я спробував завантаження EFI за допомогою Ubuntu 12.04 і знайшов відповідь на власне запитання.

(Я не оновив свою прошивку. Спочатку я неправильно прочитав нотатки до випуску - швидше за все, це не буде).

Вхід у налаштування мікропрограмного забезпечення з меню завантаження grub-efi

efibootmgrСхоже, не підтримує перезавантаження для налаштування прошивки для мене. Але grub-efi робить. Він може створити запис для налаштування прошивки в меню завантаження GRUB.

Ви можете увійти в меню завантаження GRUB, утримуючи клавішу Shift "на початку процесу завантаження". Я натискаю його відразу після того, як на клавіатурі увімкнувся індикатор NumLock, і це працює для мене.

Якщо вам цікаво, я також подивився на команду: це "fwsetup". Тобто ви можете увійти в меню GRUB, дотримуйтесь інструкцій на екрані, щоб перейти до командного рядка, а потім наберіть "fwsetup" і натисніть клавішу return.

Якщо ви робите встановлення EFI з нуля, я вважаю, що пункт меню буде створено автоматично. Я не встановив як EFI, що означало, що я мусив його відбити (див. Нижче, крок 4).

Перетворення з завантаження BIOS-GPT в завантажувальний UEFI-GPT без запису завантажувального компакт-диска EFI?

EDIT: Цей розділ може працювати в деяких системах. Однак зараз я вважаю, що вона покладається на додаткову поведінку, яка не є частиною стандарту UEFI. Якось я зрозумію, що тут відбувається.

Я перетворював існуючу установку в EFI без завантажувального CD з підтримкою EFI. Деякі люди вважають, що це неможливо. Справді, є кілька заплутаних попереджувальних повідомлень. Я подивився, що відбувається. Якщо ви можете зараз увійти в налаштування прошивки, то це не все так погано.

Важка частина полягає в тому, що ви, мабуть, все ще використовуєте таблицю розділів MBR, і вам майже напевно потрібно конвертувати її в GPT. Я не збираюся покривати перетворення з MBR в GPT. Розмежування завжди трохи небезпечно. gdiskможе конвертувати, але є досить багато хитро бітів. Я не перерахував їх усіх тут. Але для одного вам, ймовірно, потрібно скоротити останній розділ, щоб звільнити місце для GPT кінця диска. Ви не можете цього зробити, якщо розділ встановлений, тому ви хочете використовувати завантажувальний компакт-диск. (Я також здійснював поетапну конверсію, переконуючись, що можу завантажуватися з BIOS-GPT, перш ніж спробувати UEFI-GPT, який передбачав необхідність створення ще одного типу завантажувального розділу.)

Якщо припустимо, що ви налаштували GPT:

  1. Встановіть grub-efi. Це видалило grub-pc і не дозволило йому працювати. (grub-efi насправді все ще працював після того, як я його зняв!). Федора здається трохи іншим; Я спробував це лише на Ubuntu. Під час встановлення ви побачите помилки щодо неможливості доступу до змінних EFI, тому що ви не завантажувались через EFI.
  2. Закрити.
  3. Увімкніть живлення. Переконайтеся, що ви завантажуєтесь через EFI! Це залежна від системи і турбує частина. У моїй системі трапилося завантаження MBR за замовчуванням для початку, тому я побачив страшну помилку від GRUB - але це було від старого grub-pc. У моїй системі в цей момент було легко зайти на екран налаштування прошивки (див. Нижче) та змінити пріоритет завантаження на "ubuntu" (це був запис для завантаження моєї ОС через EFI).
  4. Тепер ви можете переробити установку grub ( grub-installабо grub2-installна Fedora), і вона не відображатиме помилок. І тепер , запустивши update-grub(або grub2-mkconfig -o /boot/grub/grub.cfg, на Fedora) створить пункт меню для введення налаштування прошивки.

Вхід у меню налаштування / завантаження програмного забезпечення в моїй системі ASUS

ВІДМОВА: це не сама остання вбудована програма / плата. Ваша система ASUS може діяти інакше, ніж у мене.

Моя поточна прошивка ASUS помічає, коли "конфігурація завантаження" змінилася - наприклад, коли я встановив grub-efi. У тексті йдеться про те, що це зміниться, якщо ви подивитесь на початковий екран "Настройка EZ". І коли він виявить таку зміну, це полегшує вхід на екран налаштування. Що це робить? Це показує екран сплеску з "натисканням DEL для входу в налаштування" протягом декількох секунд. (Якщо ви ввімкнули опцію «швидкого завантаження», вона зазвичай пропускає екран сплеску).

Я думаю, що також можна запустити екран заставки, вимкнувши систему та відключивши її на хвилину або близько того, перед перезавантаженням.

На моїй поточній прошивці я можу увійти в налаштування мікропрограмного забезпечення, блимаючи клавішу DEL під час завантаження, навіть без екрана заставки. Однак це умовно, щоб включити підтримку клавіатури у мікропрограмному забезпеченні.

Можна переключити прошивку, щоб не перевіряти клавіатури під час завантаження, що повинно прискорити роботу. Я думаю, що це наступний експеримент, який я спробую, тепер я впевненіший у цьому EFI! (Це правдоподібно, що це може вбити підтримку клавіатури і в меню завантаження GRUB. Але я все одно повинен мати можливість використовувати grub-set-default, щоб GRUB завантажував запис fwsetup і відновлював таким чином).


0

Спираючись на відповідь @ Лекенштейна, я зробив ярлик інтерфейсу користувача (у меню Адміністрація, якщо у вашому оточенні все ще є один із таких). Корисно, якщо ваша клавіатура ніколи не працює до після 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;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.