初始化和分区磁盘 - 如何防止“你需要格式化磁盘”消息出现?

时间:2013-03-04 21:56:17

标签: .net windows format partitioning

我正在尝试从应用程序初始化,分区和格式化磁盘。操作系统是Windows Server 2008 R2。我使用哪种方法来完成这些任务并不重要,但我们假设我正在使用DeviceIoControl API。

只要应用程序初始化并创建分区,Windows就会弹出一个消息框,说“你需要格式化磁盘......”

enter image description here

因此,即使我的应用程序立即格式化此磁盘,消息框仍然存在,用户会感到困惑,并且实际上可以再次格式化它。

有没有办法阻止Windows弹出该消息框?

1 个答案:

答案 0 :(得分:3)

因为看起来情况有点复杂然后我虽然原来。让我在这里解释我的发现,可能对其他人有用。

您正在初始化和格式化驱动器的方式确实很重要。例如,以下 diskpart 脚本将执行所有操作,Windows 不会弹出该消息:

select disk 2
create partition primary
select part 1
format fs=ntfs label="NEW DISK" quick
assign letter Z
exit

如果您尝试先分配信件,然后执行格式化 - 将显示信息。

但在我的情况下,我不想依赖于diskpart。我使用 DeviceIoControl API来初始化和分区磁盘,然后等待WMI识别卷,所以我可以通过WMI格式化它。

不幸的是锁定装置也不是一个选择。因为如果我这样做,WMI将无法识别音量。

基于这个答案How to create a partition without Windows assigning a drive letter?我决定停止并启动 ShellHWDetection 服务,它实际上完美无缺。