代码之家  ›  专栏  ›  技术社区  ›  sha

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

  •  2
  • sha  · 技术社区  · 11 年前

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

    一旦应用程序初始化并创建分区,Windows就会弹出一个消息框,上面写着“您需要格式化磁盘。。。

    enter image description here "

    所以,即使我的应用程序立即格式化这个磁盘,消息框仍然会在那里,用户会感到困惑,实际上可以再次格式化它。

    有没有办法防止Windows弹出那个消息框?

    1 回复  |  直到 11 年前
        1
  •  4
  •   Community Ramakrishna.p    7 年前

    看起来情况比我原先想的要复杂一些。让我在这里解释一下我的发现,也许对其他人有用。

    初始化和格式化驱动器的方式确实很重要。例如以下内容 磁盘分区 脚本将执行所有操作,而Windows 不会 弹出该消息:

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

    然而,如果您尝试先分配字母,然后执行格式化,则会出现消息。

    但就我而言,我不想依赖磁盘部件。我用过 设备IO控制 API来初始化和分区磁盘,然后等待WMI识别卷,所以我可以通过WMI格式化它。

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

    基于这个答案 How to create a partition without Windows assigning a drive letter? 我决定走走停停 ShellHW检测 服务,实际上效果很好。