Stoffsammlung und Anregungen] Zugänglichkeit von Uefi

Verfasst von David Parduhn
Hallo Leute,

Bei der Arbeit mit dem PC klafft in Sachen Zugänglichkeit für Blinde und Sehbehinderte seit Anbeginn der Zeit eine Lücke: das BIOS. Jedes Mal, wenn ein blinder Mensch im BIOS etwas ändern oder auch einfach nur von einem bestimmten Gerät booten möchte, ist er auf sehende Hilfe angewiesen. Mit der folgenden noch unstrukturierten und unsortierten Stoffsammlung möchte ich Lösungsansätze aufzeigen, wie es (besonders im heraufziehenden Zeitalter von Uefi) trotzdem möglich ist, bestimmte Aufgaben im Efi auch als Blinder zu erledigen. Offene Fragen oder durch die Nutzergemeinde zu schließende Lücken werde ich mit „**“ kennzeichnen.

Wiederherstellungsumgebung aufrufen (Mac)
Um auf dem Mac (**auf welchen Modellreihen?) beim Hochfahren direkt in die Wiederherstellungsumgebung zu gelangen, kann die Tastenkombination command+r gedrückt werden. Innerhalb der Wiederherstellungsumgebung ist Voiceover (**seit 2009 Bzw. Mac OS 10.6) durch Drücken von command+F5 aufrufbar. Von hier aus kann Mac Os neu installiert, Festplatten oder SSDs überprüft oder neu partitioniert oder Startprobleme behoben werden.

Wiederherstellungsumgebung aufrufen (Windows)
Seit Windows 10 **1803 **Professional ist eine zugängliche Wiederherstellungsumgebung verfügbar. Um die Wiederherstellungsumgebung aufzurufen, könnt ihr die folgenden Schritte ausführen.
– Führt als Administrator den folgenden Befehl in einer Eingabeaufforderung aus, um zu prüfen, ob die Wiederherstellungsumgebung zur Verfügung steht:
    reagentc /info
Wenn die folgenden Zeilen angezeigt werden, ist die Wiederherstellungsumgebung verfügbar:
    WinRE-Status:                          Enabled
    WinRE-Ort: \\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE

Wenn euch hier als Status „disabled“ angezeigt wird, hat der Hersteller vergessen, die Wiederherstellungsumgebung zu aktivieren. Dies könnt ihr mit folgendem Befehl nachholen:
    reagentc /enable

– Führt folgenden Befehl als Administrator aus, um die Wiederherstellungsumgebung nach dem nächsten Systemneustart aufzurufen:
    reagentc /boottore
Beim nächsten Neustart wird das System mit der Wiederherstellungsumgebung gestartet. Hier steht auch der Narrator durch Drücken von Windows+strg+Eingabe zur Verfügung. Mit der Wiederherstellungsumgebung können Startprobleme behoben, Festplatten und SSDs geprüft oder Windows zurückgesetzt werden.

Uefi-Bootreihenfolge ändern mit Bootice (Windows)
Auf Efi-basierten Systemen könnt ihr mit der Freeware Bootice die Bootreihenfolge im Efi ändern oder ein Bootmedium bestimmen, das nur einmal, beim nächsten Start verwendet werden soll. Hierbei ist es wichtig, dass das EFI das zu verwendende medium registriert haben muss (cds oder Dvds müssen zum Startzeitpunkt bereits eingelegt gewesen sein; Usb-Sticks oder externe Festplatten/SSDs müssen bereits angeschlossen gewesen sein. Mit anderen worten: in der laufenden Sitzung nachträglich eingelegte bzw. angeschlossene Medien werden (noch) nicht erkannt.
Bootice kann von der folgenden Webseite heruntergeladen werden:

In Bootice lässt sich im Register Uefi über den Schalter „edit boot entries“ die Startreihenfolge ändern. Im Dialog „edit boot entries“ wird eine Liste der Einträge im Uefi-Bootmenü angezeigt. außerdem gibt es dort einige Schalter, um einen Eintrag nach oben zu verschieben (up), nach unten zu schieben (down) oder zu entfernen (del). Um zu bestimmen, dass ein bestimmter Starteintrag einmal (beim nächsten Start) gebootet werden soll, wählt ihn aus und aktiviert die Option „boot this entry at next time“. Speichert anschließend den Eintrag mit „save current boot entry“ im Uefi.

Uefi aktualisieren mit AFU (Windows)
Wenn ihr ein Mainboard mit American Megatrend (AMI)-firmware (z. B. eines von Msi) habt, könnt ihr mit Hilfe des Kommandozeilenprogramms AFU (Ami Flash Updater) die Firmware eures Boards von Windows aus aktualisieren. Afu ist Bestandteil der Software, die mit dem Board ausgeliefert wurde. bei Msi befindet sich Afu nach der Installation von Msi Liveupdate unter %programfiles(x86)%\msi\liveupdate\flashutility\ami\afuwin_v und heißt afuwin_x64.exe. Eine 32-Bit-Version von Afu ist ebenfalls verfügbar. Diese befindet sich unter %programfiles(x86)%\msi\liveupdate\flashutility\ami\afuwin und heißt afuwin.exe. Geht folgendermaßen vor, um das Efi zu aktualisieren:
1. Ladet euch von der herstellerwebseite eures Boards das aktuelle Uefi herunter und entpackt es in den Ordner, in dem sich auch die Datei afuwin_v.exe befindet. In dem angebotenen Archiv befindet sich eine Datei mit einem zufälligen Namen und der Versionsnummer der Firmware als Erweiterung (Beispiel: E7A39AMS.AD0)
2. Führt als Administrator folgenden Befehl aus, um die Firmware zu aktualisieren:
    afuwin_x64 Dateiname
Als Dateinamen hängt ihr den Namen der im vorigen Schritt heruntergeladenen Firmwaredatei an. Während der Aktualisierung werden in der Eingabeaufforderung Meldungen über den Fortschritt der Aktualisierung angezeigt. startet den Rechner nach dem Einspielen der neuen firmware neu, um die Aktualisierung abzuschließen. Unter Umständen wird das System beim Neustart im Efi stehenbleiben, sodass ihr einen harten Neustart mit der Reset-Taste erzwingen müsst. danach wird das System wieder wie gewohnt starten.

Uefi-Einstellungen unter Windows ändern mit sce
American Megatrends (AMI) bietet für die mit seiner Firmware bestückenten Boards ein Kommandozeilenprogramm namens Sce (Setup control Environment) an, um Efi-Einstellungen von Windows aus in eine Textdatei zu exportieren Bzw. wieder ins Efi zurückzuspielen. Bei Mainboards von Msi ist Sce Bestandteil von Msi liveupdate und befindet sich nach der Installation von Liveupdate unter %programfiles(x86)%\msi\liveupdate. Die ausführbare Datei für 64-Bit-Systeme heißt scewin_64.exe und kann mit folgender Syntax aufgerufen werden, um die firmware-Einstellungen in eine Textdatei zu exportieren:
    SCEWIN_64 /o /s   [/b] [/v] [/q] [/lang [Sprachencode]] [/sp] [/g] [/a] [/d] [/ndef] [/ce] [/hb]

Die Parameter haben folgende Bedeutung:
    /o    exportiert die Einstellungen in eine Datei
    /s    Gibt an, dass es sich bei der übergebene Datei um eine textdatei mit exportierten Einstellungen handelt.
    /b    exportiert auch einträge, die die Startreihenfolge und das Startverhalten beeinflussen können.
    /v    Erzeugt beim Export mehr Kommentare.
    /q    Unterdrückt beim Export sämtliche Warnungen (z. B. Warnungen vor doppelten Einträgen).
    /lang    Erzeugt beim Export auch Zeilen mit Meldungen in der entsprechenden landessprache (sofern in der Firmware vorhanden). Um beispielsweise zusätzlich zu den englischen Einstellungsbezeichnungen auch die deutschen Übersetzungen zu exportieren, könnt ihr /lang de-DE angeben.
    /a    exportiert auch solche Einträge, deren Namen Bzw. Übersetzungen leer sind.
    /g    exportiert auch Einträge, die im grafischen Setup als ausgegraut angezeigt werden.
    /sp    exportiert auch solche einträge, die im grafischen Setup unterdrückt (nicht angezeigt) werden.
    /ndef    exportiert nur Einträge, die vom Standardwert abweichen.
    /ce    exportiert ausgegraute und unterdrückte Einträge als Kommentare.
    /hb    Unterdrückt beim Export die Anzeige des Banners.

Am Beispiel einer Einstellung soll das Schema der exportierten Textdatei gezeigt werden:

Setup Question    = Resume From S3/S4/S5 by PS/2 keyboard
Map String    = Aus S3/S4/S5 per PS/2-Tastatur fortsetzen
Token    =5B    // Do NOT change this line
Offset    =3FC
Width    =01
BIOS Default    =[00]Disabled
MFG Default    =[00]Disabled
Options    =[00]Disabled    // Move „*“ to the desired Option
         *[01]Any Key
         [02]Hot Key

Die einzelnen Zeilen haben folgende Bedeutung:
Setup Question    Beschreibung der Einstellung in englischer Sprache
Map String    Übersetzung der Einstellung – sofern vorhanden
Token, Offset,Width    Diese Zeilen sollten nicht geändert werden.
BIOS Default, MFG Default    Diese Zeilen enthalten den Standardwert dieser Einstellung (im obigen Beispiel „deaktiviert“.
Options    Dieser Eintrag besteht aus mehreren Zeilen und zeigt die möglichen Optionen für diese Einstellung an. Diejenige Option, die momentan ausgewählt ist, ist mit einem Stern gekennzeichnet. Um eine Einstellung zu ändern, entfernt den Stern vor der markierten Option und fügt ihn vor der neuen Option ein. Um z. B. das Aufwachen des Rechners aus dem Ruhezustand durch Tastendruck abzuschalten, entfernt den Stern vor „any key“ und fügt ihn vor „disabled“ ein. Speichert alle Änderungen, nachdem Ihr die Änderungen vorgenommen habt.

Um alle Änderungen zurückzuspielen, importiert die Textdatei mit folgendem Befehl:
scewin_64 /i /s dateiname
Die Änderungen werden nach einem Rechnerneustart wirksam.

Ändern der Startreihenfolge unter Linux mit efibootmgr

Unter Linux kann die Startreihenfolge mit Hilfe des Befehls efibootmgr angezeigt und geändert werden. Die ausgabe des Befehls ohne Parameter zeigt alle Einträge nach dem Muster des folgenden Beispiels an:

BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0000,0004,0007,000B,000C,000A,0008,0009
Boot0000* Windows Boot Manager
Boot0004* arch
Boot0007* UEFI: hp DVDRAM GT20L DC05
Boot0008  Hard Drive
Boot0009  USB HDD
Boot000A  USB CD
Boot000B* UEFI: PXE IP4 Realtek PCIe GBE Family Controller
Boot000C* UEFI: PXE IP6 Realtek PCIe GBE Family Controller

Die einzelnen Zeilen haben folgende Bedeutung:
bootcorrent    gibt die Nummer des aktuell geladenen Betriebssystems an. im Obigen Beispiel sieht man, dass momentan Arch Linux geladen ist.
Bootnext    gibt die Nummer des Eintrags an, der einmal (für den nächsten Start) verwendet werden soll. Die Nummer muss in hexadezimaler Schreibweise angegeben werden. Um ein Betriebssystem für den nächsten Start zu bestimmen, verwendet den folgenden Befehl:
    sudo efibootmgr -n Nummer

timeout    gibt die Zeit in Sekunden an, die beim Hochfahren des Systems gewartet werden soll, bevor das erste Betriebssystem in der Bootreihenfolge geladen wird (siehe unter Bootorder). Um die Zeit festzulegen: verwendet den folgenden Befehl:
    sudo efibootmgr /t Sekunden

bootorder    gibt die nummern der Efi-Einträge an, die im grafischen Bootmenü angezeigt werden sollen. Um eine neue bootreihenfolge festzulegen, verwendet den folgenden Befehl
    sudo efibootmgr -o Nummer1,Nummer2,…

boot    Diese zeilen zeigen die einzelnen Einträge des Efi-bootmenüs an. Ein Stern neben einem Eintrag (Bzw. dessen Nummer) zeigt an, dass dieser Eintrag aktiv ist. Um einen Eintrag zu aktivieren, verwendet den folgenden Befehl:
    sudo efibootmgr -a -b Nummer
Um einen Eintrag zu deaktivieren, verwendet den folgenden Befehl:
    sudo efibootmgr -A -b Nummer

Schlusswort

Die obige Stoffsammlung soll dreierlei erreichen:
1. in erster Linie dient sie als Leitfaden für interessierte Anwender, die sich mit dem Efi auseinandersetzen wollen. Es soll ein Werkzeugkasten mit Mitteln zusammengestellt werden, um Anwendern unter Verwendng ihrer Hilfstechnologien (Braillezeilen, Sprachausgaben, Screenreader) vom Betriebssystem aus Änderungen am Efi vorzunehmen, ohne sich Hilfe holen zu müssen.
2. Diese Anleitung soll den Redakteuren von cap4free als Anregung dienen, die vorliegenden Informationen in eine leicht erweiterbare Artikelstruktur (etwa ein Wiki) zu gießen, das um Artikel mit Infos zu weiteren Efi- oder Boardherstellern ergänzt werden kann.  Es sind noch einige offene Fragen zu klären:
– Bei welchen Mac-Modellen funktioniert das Aufrufen der Wiederherstellungskonsole tatsächlich? bis jetzt ist mir nur bekannt, dass das bei Macs ab 2009 und Macos 10.6 funktioniert.
– ab welcher Windows 10-Edition funktioniert das Aufrufen von Narrator in der Wiederherstellungskonsole? Getestet habe ich es nur mit Windows 10 ab 1803.
– funktioniert die wiederherstellungskonsole auch mit #Windows 10 Home oder Enterprise?

3. Nicht zuletzt soll diese Stoffsammlung auch Herstellern von Uefi, Mainboards und Software als Anregung dienen, bestimmte Aufgaben rund um Efi in Zukunft komfortabler für den Anwender zu gestalten. Denkbar wären beispielsweise folgende Szenarien
– eine Integration der Auswahl des Betriebssystems für den nächsten Start in Desktop-Umgebungen wie Gnome oder Mate unter Linux
– eine komfortablere Auswahl des Betriebssystems für den nächsten Start in Windows 10
– ein grafisches (komfortabler zu bedienendes Programm zum Ändern der Uefi-Einstellungen für Windows 10
– eine automatische Aktualisierung des Uefi im Rahmen von Windows Update oder über die Paketverwaltungssysteme von Linux
– nicht zuletzt mittel- bis langfristig eine Integration der Hilfstechnologien wie Braillezeile oder Sprachausgaben direkt ins Efi-Setup Bzw. in das Boot-Auswahlmenü.
add?action=add?vcard=begin%3Avcard%0D%0Afn%3ADavid%20Parduhn%0D%0An%3AParduhn%3BDavid%0D%0Aemail%3Binternet%3Axkill85%40gmx.net%0D%0Atel%3Bwork%3A033439-143952%0D%0Atel%3Bfax%3A0179-3971792%0D%0Atel%3Bhome%3A033439-142873%0D%0Ax-mozilla-html%3ATRUE%0D%0Aversion%3A2.1%0D%0Aend%3Avcard%0D%0A%0D%0A
David Parduhn