Réponse courte : D'après votre description, je pense que votre micrologiciel est défectueux.
Réponse longue : Tout d'abord, la spécification EFI (ou UEFI, qui n'est qu'EFI 2.x) dit que NOTHING sur les interfaces utilisateurs. Ainsi, vous pouvez construire une interface utilisateur EFI en mode texte qui est toujours 100% conforme à la spécification EFI/UEFI. Le BIOS n'a pas de spécification officielle, mais il y a eu des tentatives d'utilitaires de configuration graphique pour les BIOS. Ainsi, vous ne devriez pas utiliser un utilitaire de configuration graphique, ou son absence, comme un indicateur pour savoir si quelque chose est un EFI ou un BIOS, ou de la façon dont une implémentation est "complète". Le plaisir des yeux n'est absolument pas pertinent pour le sujet et pour votre question.
À titre d'information, de nombreux fabricants appellent leurs EFI des BIOS. À mon avis, il s'agit d'une mauvaise pratique, car elle crée une confusion dans l'esprit des utilisateurs quant à la distinction entre le BIOS traditionnel de 16 bits et les EFI modernes de 32 ou 64 bits, qui sont des systèmes de gestion de l'information. très différents dans les détails les plus importants.
Cela dit, la spécification EFI est assez claire sur le fait que les variables de l'ordre de démarrage (qui sont définies via la fonction efibootmgr
dans Linux) devrait être honoré. Si votre firmware ignore ces variables, alors il est en violation de la spécification. Malheureusement, ces violations restent affreusement courantes, même si elles étaient plus courantes il y a quelques années. Une recherche rapide sur Google suggère que votre modèle pourrait avoir été introduit en 2012, il n'est donc pas surprenant qu'il dispose d'un EFI ancien et défectueux. Vous pourriez vouloir vérifier le site Web de Toshiba pour voir s'il y a une mise à jour du micrologiciel disponible. Cela pourrait ou non réparer quelque chose, mais cela vaut vraiment la peine de vérifier.
Vous pouvez également essayer d'utiliser un autre outil que efibootmgr
comme EasyUEFI dans Windows ou bcfg
dans un EFI Shell. En théorie, n'importe lequel de ces outils devrait faire l'affaire. En pratique, j'ai observé que efibootmgr
échoue parfois lorsque d'autres outils fonctionnent.
Quant aux "BIOS/UEFI hybrides", ils existent bel et bien. J'en connais deux grandes catégories :
-
EFI au sommet du BIOS -- La spécification EFI ne couvre pas certaines des fonctions d'initialisation matérielle de plus bas niveau. Pour gérer cette tâche, certaines des premières EFI pour x86/x86-64, telles que L'EFI hybride de Gigabyte, utilisait un BIOS traditionnel, plaçant l'EFI "au-dessus" de celui-ci. Ma seule expérience avec cela (décrite dans le lien) a été douloureuse, mais cela peut avoir plus à voir avec l'implémentation qu'avec l'approche générale. AFAIK, cette approche a été abandonnée en faveur d'un autre code d'initialisation du matériel qui s'interface mieux avec l'EFI au-dessus.
-
EFI verrouillé dans le CSM -- Le Compatibility Support Module (CSM) est une fonction EFI optionnelle qui permet à l'EFI de démarrer les anciens chargeurs de démarrage en mode BIOS. J'ai entendu des affirmations selon lesquelles certains "BIOS" des dernières années d'ordinateurs basés sur des BIOS utilisaient en fait des EFI avec leur CSM activé en permanence. De tels ordinateurs ne pouvaient pas démarrer de la manière normale de l'EFI, et ils ressemblaient exactement à des ordinateurs ordinaires basés sur le BIOS. Je ne sais pas à quel point cette pratique était courante, cependant, et en fait je n'ai jamais vérifié si cette affirmation était vraie -- cela pourrait être une légende urbaine. Une telle configuration est certainement théoriquement possible, qu'un tel micrologiciel ait été écrit ou non.
Aucune de ces approches n'expliquerait votre problème, qui semble être mieux décrit comme un EFI mal fichu.