Linux sur UEFI - comment redémarrer l'écran de configuration UEFI comme Windows 8 le peut?

30

makeuseof.com explique que le matériel certifié Windows 8 dispose d'un nouveau moyen d'entrer dans l'écran de configuration de l'UEFI (équivalent du BIOS). De Comment accéder au BIOS sur un ordinateur Windows 8 Ordinateur :

Lorsque vous lancez le BIOS, vous n'appuyez plus sur une certaine touche pour afficher le BIOS. Une option permettant d'accéder au BIOS se trouve dans le menu des options de démarrage de Windows 8 ... Si vous souhaitez uniquement accéder au BIOS UEFI de votre ordinateur, cliquez sur la vignette de dépannage.

Le développeur principal de Secure Boot pour Linux déclare que les systèmes d'exploitation alternatifs ne peuvent pas supposer que l'ancienne méthode continuera à fonctionner . Ainsi, Linux dispose-t-il également d'un nouveau moyen d'entrer dans la configuration UEFI?

J'ai une carte mère ASUS. Cela suggère qu'une version mise à niveau du micrologiciel contient une option de démarrage rapide . Le revers de la médaille est que cette option pourrait rendre encore plus difficile la «révélation du BIOS».

Ça ne me dérange pas de bricoler. Juste si cela est connu pour être une mauvaise idée, je ne veux pas éviter le risque d’une mise à jour du firmware (et peut-être devoir ouvrir le boîtier, réinitialiser les paramètres et les configurer à nouveau).


Sinon, comment cela est-il géré pour les utilisateurs de Windows 7? S'ils choisissent l'option d'amorçage rapide avec optimisme, comment peuvent-ils accéder à nouveau à la configuration du "BIOS" lorsqu'ils en ont besoin?

sourcejedi
la source
Bon sang. Maintenant, je souhaiterais ne pas avoir choisi Asus sur Gigabyte pour ma nouvelle mise à jour
kluka
Utilisez les paramètres qui fonctionnent pour Windows 7, qui seront les paramètres par défaut, et tout ira bien :). Il doit y avoir un moyen standard de le faire dans UEFI, je ne l'ai simplement pas trouvé appelé nulle part. Même le micrologiciel original sans option de démarrage rapide est plutôt accrocheur, je ne le regrette donc pas. Nous examinons une fonctionnalité spécifique à UEFI; Je ne compterais pas sur Gigabyte pour obtenir EFI correctement. Je suis travaille autour des questions avec 1) les ports USB3 et 2) un clavier USB, qui est mis en place un peu décevant en principe. OTOH, le voyant de test de la mémoire m’a été utile lorsque ma nouvelle mémoire vive a échoué au bout d’une semaine.
sourcejedi
1
Un des problèmes avec UEFI est que, malgré un document de spécification de 2 000 pages, il n’ya AUCUNE normalisation des problèmes d’interface utilisateur. Les développeurs de micrologiciels sont libres de donner aux utilisateurs l'accès à leurs utilitaires de configuration de la manière qu'ils jugent souhaitable.
Rod Smith
L'article indique que Windows 8 donne enfin aux utilisateurs l'accès à l'utilitaire de configuration habituel de manière standard. La certification Windows doit donc spécifier une méthode pour supporter cela. Espérons que cela fait partie de UEFI, pas une extension MS non documentée. Notez qu'il ne s'agit PAS d'une question à propos de "Secure Boot". La question suppose que j'ai déjà réussi à installer et à démarrer Linux.
sourcejedi
Personnellement, j'utilise Windows 8 sur mon adaptateur mère ASRock Z77 Pro3, mais je viens tout juste de mettre en œuvre cette option "Ultra fast boot" dans la configuration UEFI. ASRock me fournit un utilitaire qui se trouve dans ma barre des tâches, sur lequel je peux appuyer pour accéder à la configuration UEFI. Un effacement CMOS réinitialisera l'option d'amorçage rapide, vous pourrez donc toujours l'essayer. Mon vBIOS n'autorise pas ce paramètre, car il ne prend pas en charge le protocole GOP. Je n'ai donc pas eu l'occasion de l'essayer. Je n'ai pas fourni de logiciel similaire pour Linux, uniquement Windows 8.
Steen Schütt

Réponses:

34

Sur les distributions Linux modernes utilisant systemd, vous pouvez aller directement au menu de configuration du micrologiciel en utilisant:

systemctl reboot --firmware-setup

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

Lekensteyn
la source
1
Hah, ce doc est un peu laconique. Ça a l'air bien - ce n'est pas spécifique à un gestionnaire de démarrage donné. Dommage qu'il n'y ait pas d'outil autonome, mais je n'ai rien contre Systemd. github.com/systemd/systemd/blob/…
sourcejedi
1
Voir aussi cette réponse Unix.SE. Soyez très prudent avec l'utilisation efivar, j'ai réussi à supprimer la 8be4df61-93ca-11d2-aa0d-00e098032b8c-OsIndicationsvariable, éventuellement en transmettant des données vides au efivarprogramme. Maintenant, je dois trouver un moyen de recréer ce fichier, sans cela, le systemctl reboot --firmware-setupprogramme ne fonctionne plus.
Lekensteyn
Désolé d'entendre vos problèmes. J'ai eu l'impression d'imprimer cette variable à 0 (d'après ce commentaire, github.com/systemd/systemd/blob/… ), bien que le même code suggère que Systemd ne se soucierait pas de supprimer la variable.
sourcejedi
1
Cela semble recréer la variable, mais elle est en quelque sorte perdue après un redémarrage: printf '\7\0\0\0''\0\0\0\0\0\0\0\0' > /sys/firmware/efi/efivars/OsIndications-8be4df61-93ca-11d2-aa0d-00e098032b8c(basé sur firmware.intel.com/blog/accessing-uefi-variables-linux et le contenu précédent que j'ai vidé). Notez qu'il rm ...faut chattr -i ...avant de pouvoir le retirer (mesure de sécurité environ rm -rf /).
Lekensteyn
1
@sourcejedi Arch Linux est livré avec systemd 230. J'ai finalement réussi à récupérer ma variable. Pour une raison quelconque, la création de la variable via efivars a généré OsIndications-89efde67-ffcd-12de-ab01-01efff012389un GUID différent. Une fois que j'ai démarré dans le shell UEFI , j'ai setvar OsIndications -nv -bs -rt =0000000000000000appelé la commande pour définir la variable OsIndications dans un stockage non volatile pour le service de démarrage et un accès d'exécution à la séquence hexadécimale représentant un nombre à 64 bits (0).
Lekensteyn
4

Je ne sais pas exactement comment Windows 8 procède ainsi, mais je suppose qu'il utilise les variables UEFI utilisées pour les options de démarrage.

Vous pouvez utiliser efibootmgr pour déterminer la signification des différentes variables d’amorçage. Sur mon système, Boot0000 est le programme d’installation. Par conséquent, son utilisation efibootmgr -n 0devrait entraîner l’initialisation du système lors de l’installation suivante.

Tim Hoppen
la source
Merci. J'ai maintenant essayé le démarrage UEFI sur mon BIOS actuel. Boot0000 semble être occupé par l'une des entrées de démarrage normales. (J'ai également compris que j'avais mal interprété les notes de publication et qu'il n'y avait aucune raison de s'attendre à ce que la nouvelle version soit plus rapide. Ah bon :).
sourcejedi
@sourcejedi Le micrologiciel de son option de démarrage rapide pourrait en fait démarrer plus rapidement, 1 ou 2 secondes plus tard, un démarrage ultra rapide pourrait encore gagner
Pro Backup
2

J'ai essayé de démarrer EFI avec Ubuntu 12.04 et j'ai trouvé une réponse à ma propre question.

(Je n'ai pas mis à niveau mon firmware. À l'origine, j'avais mal lu les notes de publication - ce ne serait probablement pas plus rapide).

Saisie de la configuration du microprogramme à partir du menu de démarrage grub-efi

efibootmgrne semble pas supporter le redémarrage de la configuration du firmware pour moi. Mais Grub-efi fait. Il est capable de créer une entrée pour la configuration du firmware dans le menu de démarrage de GRUB.

Vous pouvez accéder au menu de démarrage de GRUB en maintenant la touche Maj enfoncée "au début du processus de démarrage". J'appuie dessus immédiatement après que le voyant NumLock s'allume sur le clavier, et cela fonctionne pour moi.

Si vous êtes curieux, j'ai aussi regardé la commande: c'est "fwsetup". En d'autres termes, vous pouvez accéder au menu GRUB, suivre les instructions à l'écran pour passer à la ligne de commande, puis taper "fwsetup" et appuyer sur Retour.

Si vous effectuez une installation EFI à partir de rien, je pense que l'élément de menu sera créé automatiquement. Je ne l'ai pas installé en tant que EFI, ce qui signifiait que je devais le lancer (voir ci-dessous, étape 4).

Conversion d'un démarrage BIOS-GPT en démarrage UEFI-GPT sans graver un CD de démarrage EFI?

EDIT: cette section peut fonctionner sur certains systèmes. Cependant, je crois maintenant que cela dépend d'un comportement supplémentaire qui ne fait pas partie du standard UEFI. Un jour, je vais comprendre ce qui se passe ici.

Je convertissais une installation existante en EFI, sans un CD de démarrage activé par EFI. Certaines personnes pensent que ce n'est pas possible. Certes, il y a quelques messages d'avertissement déroutants. J'ai jeté un œil à ce qui se passait. Si vous pouvez actuellement accéder à la configuration du micrologiciel, ce n'est pas si grave.

Le problème, c’est que vous utilisez probablement encore une table de partitions MBR et que vous devez certainement le convertir en GPT. Je ne vais pas couvrir la conversion de MBR en GPT. Le partitionnement est toujours un peu dangereux. gdiskpeut convertir, mais il y a pas mal de trucs délicats. Je ne les ai pas tous listés ici. Cependant, vous devez probablement réduire la dernière partition pour libérer de l'espace pour le GPT de fin de disque. Vous ne pouvez pas faire cela si la partition est montée, vous voudrez donc utiliser un CD de démarrage. (J'ai également organisé la conversion en m'assurant de pouvoir démarrer à partir de BIOS-GPT avant d'utiliser UEFI-GPT, ce qui impliquait la création d'un autre type de partition de démarrage.).

En supposant que vous ayez la configuration GPT:

  1. Installez grub-efi. Cela a supprimé grub-pc et l'a empêché de fonctionner. (Grub-efi fonctionnait toujours après que je l'ai enlevé!). Fedora semble un peu différent; Je n'ai essayé cela que sur Ubuntu. Lors de l'installation, vous verrez des erreurs sur l'impossibilité d'accéder aux variables EFI, car vous n'avez pas démarré avec EFI.
  2. Fermer.
  3. Allumer. Assurez-vous de démarrer via EFI! Ceci est la partie dépendante du système et inquiétante. Mon système est parvenu à démarrer par défaut avec le démarrage du MBR. J'ai donc vu une erreur effrayante de GRUB - mais c'était de l'ancien ordinateur grub. Sur mon système, il était facile d'accéder à l'écran de configuration du microprogramme à ce stade (voir ci-dessous) et de changer la priorité de démarrage en "ubuntu" (qui était l'entrée permettant de démarrer mon système d'exploitation via EFI).
  4. Maintenant, vous pouvez refaire l’installation de grub ( grub-install, ou grub2-installsur Fedora), et il n’affiche aucune erreur. Et maintenant , exécuter update-grub(ou grub2-mkconfig -o /boot/grub/grub.cfg, sur Fedora) créera l’élément de menu pour entrer dans la configuration du firmware.

Accès au menu de configuration / d’amorçage du microprogramme sur mon système ASUS

AVERTISSEMENT: ce n'est pas le dernier firmware / carte. Votre système ASUS peut agir différemment du mien.

Mon microprogramme ASUS actuel indique que la "configuration de démarrage" a changé - par exemple, lors de l'installation de grub-efi. Il y a un texte disant que cela a changé si vous regardez l'écran initial "Configuration EZ". Et, lorsqu'il détecte un tel changement, il est plus facile d'accéder à l'écran de configuration. Cela affiche l’écran de démarrage avec "appuyez sur DEL pour accéder à la configuration" pendant quelques secondes. (Si vous avez activé l'option "démarrage rapide", l'écran de démarrage est normalement ignoré).

Je pense qu'il est également possible de déclencher l'écran de démarrage en mettant le système hors tension et en le débranchant pendant une minute environ, avant de redémarrer.

Sur mon micrologiciel actuel, je peux entrer dans la configuration du micrologiciel en masquant la touche Suppr au démarrage, même sans écran de démarrage. Toutefois , ceci est conditionnel à l'activation de la prise en charge du clavier dans le micrologiciel.

Il est possible de changer le firmware pour ne pas chercher de clavier au démarrage, ce qui est supposé accélérer les choses. Je suppose que ceci est la prochaine expérience à essayer, maintenant je suis plus confiant à propos de ce produit EFI! (Il est également plausible que cela supprime le support du clavier dans le menu de démarrage de GRUB. Mais je devrais pouvoir utiliser grub-set-default pour que GRUB démarre l'entrée fwsetup et le récupère de cette façon).

sourcejedi
la source
0

En me basant sur la réponse de @ Lekensteyn, j'ai créé un raccourci pour l'interface utilisateur (dans le menu Administration si votre environnement en possède toujours un). Utile si votre clavier ne semble jamais fonctionner qu'après le 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;
Krispy
la source