gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 04:43:26 25 4
gpt4 key购买 nike

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

所以两个主要问题是:

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

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

最佳答案

我只有时间快速回复,请原谅我的简洁!

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

据我所知,只有这些操作系统的引导加载程序使用 UEFI 驱动程序堆栈来加载 native 操作系统内核和驱动程序。一次ExitBootServices()由引导加载程序调用,大多数驱动程序都被卸载,并且(根据规范)在此之后可能不会调用基于句柄的驱动程序,这意味着没有磁盘驱动程序。与传统的引导加载程序一样,UEFI 引导加载程序仅使用足够长的基本驱动程序来加载操作系统的 native 驱动程序。如果您愿意,您也可以在预引导环境中使用这些驱动程序(尽管听起来您不这样做!)。
TL;DR 不,这些系统不能使用 UEFI 驱动程序来加载操作系统。

理论上是否可以为EFI编写这样的驱动程序?

您绝对应该能够在现有堆栈之上分层您的 UEFI 驱动程序。如果您以前没有使用过 UEFI,这可能会有点棘手,但从概念上讲,该系统是非常模块化的。 Internet 上似乎有许多资源可以访问 helpyou out ,而且总有超越 BIOS:使用统一可扩展固件接口(interface)进行开发,作者 Vincent Zimmer。
就测试而言,您可以使用 Intel's EDKII 中提供的模拟器之一。 (如果你在 Windows 上,你可能应该使用 Nt32 项目,它与 Visual Studio 配合得很好)。
TL;DR 是的,您可以编写此驱动程序,但它仅适用于预引导环境中的引导加载程序和应用程序。

关于driver - 是否可以使用 EFI 创建完全跨平台的磁盘驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com