【问题标题】:How to modify the BIOS boot options to USB-HDD in C#?如何在 C# 中将 BIOS 引导选项修改为 USB-HDD?
【发布时间】:2011-05-22 02:20:00
【问题描述】:

我想知道我是否可以用 C# 或其他语言来做?

【问题讨论】:

    标签: c# usb bios


    【解决方案1】:

    没有通用的方法来做到这一点,因为 BIOS 配置因供应商而异。 各种 CMOS 内存位置的映射对于主板、BIOS 和 BIOS 版本是唯一的。您必须从您的特定供应商那里找到这些信息,而且您的应用不会很便携。

    另外,即使您克服了这个障碍,Windows 也不允许您从用户模式应用程序访问 BIOS(或以其他方式进行端口 I/O)。您必须编写内核模式驱动程序才能执行此操作。当然,您不能在 C# 中编写内核模式驱动程序,因为运行时在用户模式下执行。你必须用 C 写这样的东西。

    【讨论】:

    • 作为一个简短的旁注......使用 UEFI BIOS,更改引导顺序应该更容易以便携式方式进行。但是,是的,您仍然需要至少一点内核模式才能真正改变它。
    • 几乎没有任何基于消费者的主板使用基于 UEFI 的 BIOS。现在您能找到的唯一地方是基于 Macintosh 和 Itanium 的机器。也许最终这个行业会做出改变,但你现在很难指望它是这样的。
    • 是的,目前很少有消费者 BIOS 可以启动 EFI 操作系统,尽管从我的角度来看,许多制造商目前对于新平台的唯一选择是 UEFI 解决方案。我还看到许多主板在引擎盖下具有 UEFI,但无法启动 EFI 操作系统,所以我认为现在行业切换不会太久。不过,当它发生时,我肯定会为这种转变感到高兴!
    猜你喜欢
    • 2013-10-30
    • 2018-03-17
    • 2020-01-24
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    相关资源
    最近更新 更多