这是我在SOF上的第一个问题,我希望我很幸运! :)

我正在为amd64架构开发一个小型“USB启动器”应用程序 . 此问题针对Windows 8和10系统 . 我更像是一个* nix家伙,这是我第一次使用UEFI的东西,所以请耐心等待 .

此启动器应用程序将从我们的网站下载并由用户在执行之前安装 . 它将作为守护进程运行,在USB端口上侦听我们的PID和VID组合以启动其UI .

The goal is to make it seamless (i.e. inputless) for the user to reboot into a Linux LiveOS from a running Windows 8 or 10 session.

背景:我们有一个硬件设备,其中包括一个带有可启动LiveOS的USB eMMC;当eMMC设备开启时,应用程序需要在Windows中显示一个通知屏幕,通知用户将计算机重新启动到LiveOS .

如果选择了重新启动选项 and this is where I lack both certainty and know-how ,则应用程序需要能够在重新启动系统之前从Windows中重新配置UEFI引导顺序 . 这样,在POST之后,系统加载eMMC 's bootloader rather than Windows',用户不必疯狂地按Bios键或必须手动调整引导顺序/设备设置 . 应用程序不能编辑Windows启动设置或将系统置于危险之中,它应该是一种设置或标志的事情......

此更改应仅适用于下一个重新启动周期(或在我们的基于Debian的LiveOS中以编程方式可逆),以便在关闭或重新启动实时会话后,再次加载HDD OS,直到下次用户希望加载我们的系统 .

我想问一下社区:

  • 如果这里做出的假设是正确的: can we define the following restart and boot up parameters from Win userland 并且在实施这些假设时是否还有其他重大障碍需要克服?

  • 我们是否必须考虑安全引导,UAC?

  • 你们之前是否有人偶然发现了实现此行为的现有软件?

提前感谢任何指针 .