作为自动化软件部署的一部分,我正在从EFI应用程序写入硬盘映像。完成此操作后,缓存的分区表不再是最新的,因此我需要强制重新加载。
我还没有找到可以显式刷新分区表缓存或模拟媒体更改的API(无论如何都可能违反...->MediaInfo->Removable == FALSE
的期望)。
我需要重新启动,还是忽略了某些内容?
答案 0 :(得分:1)
我找到了。仅当持有设备的BLOCK_IO_PROTOCOL的排他性句柄时,才可以更改分区表。
以独占模式打开句柄将分离任何其他驱动程序,包括分区的块IO协议和分区表缓存。关闭独占句柄后,将重新读取分区表。