Ich möchte wissen, ob ich es in C# oder anderen Sprachen tun kann?Wie ändert man die BIOS-Boot-Optionen auf USB-HDD in C#?
0
A
Antwort
6
Es gibt keine universelle Möglichkeit, dies zu tun, da die BIOS-Konfigurationen von Hersteller zu Hersteller variieren. Die Zuordnung verschiedener CMOS-Speicherorte ist für die Motherboard-, BIOS- und BIOS-Revision einzigartig. Sie müssen diese Informationen von Ihrem bestimmten Anbieter herausfinden und Ihre App wird nicht sehr portabel sein.
Plus, auch wenn Sie über diese Hürde hinaus kommen, Windows erlaubt Ihnen nicht, auf das BIOS zuzugreifen (oder sonst Port-I/O) von einer Benutzer-Modus-Anwendung. Sie müssen einen Kernel-Modus-Treiber schreiben, um dies tun zu können. Und natürlich können Sie keine Kernel-Modus-Treiber in C# schreiben, da die Laufzeitumgebung im Benutzermodus ausgeführt wird. Sie müssen so etwas in C schreiben.
Nur als eine kurze Randnotiz ... mit einem UEFI-BIOS, sollte die Änderung der Boot-Reihenfolge in einer tragbaren Weise einfacher sein. Allerdings benötigen Sie noch ein wenig Kernel-Modus, um es tatsächlich zu ändern. –
Kaum ein Consumer-Motherboard verwendet ein UEFI-basiertes BIOS. Über den einzigen Ort, den Sie finden, dass jetzt auf dem Macintosh und Itanium-basierten Computern ist. Vielleicht wird die Industrie schließlich den Wechsel machen, aber Sie können kaum darauf zählen, dass dies gegenwärtig der Fall ist. –
Das stimmt, einige Consumer-BIOS können derzeit ein EFI-Betriebssystem booten, obwohl aus meiner Sicht, viele Hersteller nur Option jetzt für neue Plattformen ist eine UEFI-Lösung. Ich habe auch eine Reihe von Boards gesehen, die UEFI unter der Haube haben, aber nicht in der Lage sind, ein EFI OS zu booten, also denke ich nicht, dass es jetzt zu lange dauern wird, bevor die Industrie umschaltet. Ich werde mich aber sicher freuen, wenn es passiert! –