问题标签 [uefi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2554 浏览

multithreading - 多线程 BIOS

我想知道为什么 BIOS 是单线程的,即使我们有 4 核/8 核。最新的 UEFI 技术允许使用 GUI 实用程序。不实施多线程 BIOS 是否有任何具体原因。

0 投票
1 回答
4810 浏览

windows - 将 Windows 7 UEFI 条目写入 NVRAM

我目前正在编写一个脚本来对我负责的多台实验室机器使用 Windows 7 进行映像,不幸的是它们是 UEFI Dell 机器,它们以一种愚蠢的方式工作。在我使用戴尔设置实用程序创建映像的机器上,Windows 的启动菜单中有一个 UEFI 条目,它加载了 /boot/Microsoft/bootx64.efi 文件或类似的文件,当我对机器进行映像时,一切正常,除了当我启动它们时,我得到了很好的旧“找不到可启动设备错误”,当我进入戴尔设置实用程序时,没有 Windows 条目。我可以手动添加一个指向此 UEFI 分区和启动文件的条目,然后它会在启动时正常启动并奇怪地向 NVRAM 添加另一个条目,该条目以典型名称“Windows 启动管理器”或其他名称指向同一文件。我一直在尝试找到某种方法来添加此 NVRAM 条目,而无需手动进入戴尔设置,因为我正在对大量机器进行映像,这只会使过程复杂化。我最初尝试在映像完成后链式加载 grub 引导加载程序以检测 Windows 安装并启动它,理论上这会将条目添加到 NVRAM 本身并阻止我拥有两个条目或不得不自己与机器交互。我也找不到任何有关在 linux 端直接向 NVRAM 添加条目的信息,这与我通过戴尔设置实用程序完成的操作相同。有人对此有经验吗?我最初尝试在映像完成后链式加载 grub 引导加载程序以检测 Windows 安装并启动它,理论上这会将条目添加到 NVRAM 本身并阻止我拥有两个条目或不得不自己与机器交互。我也找不到任何有关在 linux 端直接向 NVRAM 添加条目的信息,这与我通过戴尔设置实用程序完成的操作相同。有人对此有经验吗?我最初尝试在映像完成后链式加载 grub 引导加载程序以检测 Windows 安装并启动它,理论上这会将条目添加到 NVRAM 本身并阻止我拥有两个条目或不得不自己与机器交互。我也找不到任何有关在 linux 端直接向 NVRAM 添加条目的信息,这与我通过戴尔设置实用程序完成的操作相同。有人对此有经验吗?无法找到有关在 linux 端直接向 NVRAM 添加条目的任何信息,这与我通过戴尔设置实用程序完成的操作相同。有人对此有经验吗?无法找到有关在 linux 端直接向 NVRAM 添加条目的任何信息,这与我通过戴尔设置实用程序完成的操作相同。有人对此有经验吗?

谢谢

0 投票
3 回答
11530 浏览

assembly - 使用 UEFI 编写操作系统

由于学校的原因,我最近没有太多编码,但我决定我想再次开始从事 OS 开发工作。然而,最近我听说 EFI 可以替代 BIOS。我想为使用 EFI 而不是 BIOS 的平台开发操作系统。我很难弄清楚从哪里开始。谁能指出我正确的方向?也许解释一下 EFI 对操作系统开发意味着什么,也许告诉我我可以使用哪些测试环境(最好是虚拟的)。坦率地说,我不太确定 EFI 到底是什么。我还应该花时间研究 ARM 组装吗?我知道 x86 Assembly,但我觉得它也已经过时了。我真的很迷茫,我很想听听你的意见。

谢谢

0 投票
1 回答
1238 浏览

c#-4.0 - 使用 VDS 创建 UEFI 分区

我正在尝试使用该IVdsCreatePartitionEx::CreatePartitionEx方法创建 UEFI 分区。

CREATE_PARTITION_PARAMETERS结构参数中,我将PARTITION_SYSTEM_GUID(c12a7328-f81f-11d2-ba4b-00a0c93ec93b) 作为属性传递,将partitionType( GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER0x8000000000000000) 作为属性传递。

但是我得到了一个类型为 c12a0000-f81f-11d2-ba4b-00a0c93ec93b 的未知分区。

DISKPART 的屏幕截图显示错误 .

任何想法这里可能有什么问题?

我还尝试在 Win8 上使用 WMI 创建 UEFI 分区。但我得到错误值 41010 - 指定的分区类型无效。这是我的代码

0 投票
1 回答
971 浏览

testing - 如何在 UEFI shell 下的内存测试中检测 ECC 错误

我编写了一个 EFI 二进制文件来测试 UEFI shell 下的物理 DIMM,过程非常简单 - 首先将测试模式写入物理地址,然后将其读出并与原始模式进行比较。但是,DIMM 可能会遇到可纠正或不可纠正的错误。通常所有可纠正的 ECC 都会被硬件自动纠正,BIOS 会处理这个问题(记录这个错误并清理错误寄存器),不可纠正的错误通常会导致 BIOS 发出 NMI,然后系统挂起。

问题是我的测试程序不知道错误发生 - 可纠正的错误被 BIOS 固件掩盖,不可纠正的错误使系统挂起......

有什么方法可以让测试程序知道发生 ECC 错误吗?如果您有任何建议,我将不胜感激。谢谢!

0 投票
2 回答
3471 浏览

efi - 操作系统旁边的 UEFI 运行时服务

我有在操作系统旁边运行一个小服务的想法,但我不确定这是否可能。我试图通过阅读一些文档来弄清楚,但没有走远,所以我的问题来了。

我阅读了有关 UEFI 运行时服务的信息。
是否有可能在固件中有一个小模块,它在所使用的操作系统旁边运行,并将有关设备位置的信息发送到互联网上的地址?

据我所知,一旦 UEFI 将控制权交给操作系统内核,就不可能在后台运行某些东西。

为了澄清我的意图,我想在我的笔记本电脑上有类似的东西。有 Prey 项目,但它安装在操作系统中。我正在使用没有自动登录的 Linux 发行版。如果有人会窃取它,他们可能只会安装 Windows。

0 投票
2 回答
6066 浏览

efi - 如何在 UEFI 中访问命令行参数?

规范的哪一部分详细说明了如何获取命令行参数?

0 投票
2 回答
1490 浏览

driver - 将我自己的 UEFI 应用程序\驱动程序添加到 UEFI (VMware)

我有一个从 uefi 加载的虚拟机(Windows7x64)。

我可以将我创建的 UEFI 应用程序\驱动程序添加到 UEFI,以便它在启动时加载它吗?

另外,我可以更改加载 DXE\UEFI 驱动程序的顺序吗?

0 投票
2 回答
2029 浏览

c - UEFI - ImageLoad 不起作用 - 错误 = 未找到

我正在尝试从另一个应用程序加载 MyHelloWorld 应用程序。但是从 ImageLoad 函数中找不到错误,尽管路径是好的。

MyHelloWorld.efi 位于“fsnt0:>project1>MyHelloWorld.efi”。

我错过了什么,它没有找到应用程序?

该应用程序在 UDK2010 - NT32(开发工具包)上运行

代码:

非常感谢您的帮助!!!

0 投票
2 回答
573 浏览

driver - 是否可以使用 EFI 创建完全跨平台的磁盘驱动程序?

我需要创建一个驱动程序,其行为类似于软件 RAID。例如,驱动程序将需要与多个物理磁盘(甚至可能是网络资源)进行通信,并且对于操作系统来说应该看起来像一个磁盘。

所以两个主要问题是:

1) EFI 驱动程序是否被 Windows、MacOS X 和 Linux 识别和支持?例如,这些系统可以使用 EFI 磁盘驱动程序吗?

2)理论上是否可以为EFI编写这样的驱动程序?我主要关心的是从您自己的虚拟磁盘驱动程序访问其他 EFI 磁盘驱动程序的可能性。