【问题标题】:Formatting Fat32 usb drive on Windows在 Windows 上格式化 Fat32 USB 驱动器
【发布时间】:2013-12-10 10:23:48
【问题描述】:

在 Windows 上使用 Java 格式化 USB 驱动器 (> 32Gb) 的最佳方法是什么?

我尝试使用format函数:

Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:FAT32 /Q /X /Y");

但驱动器的大小限制为 32Gb。我的 USB 驱动器大于 100Gb。

我可以使用 JNI 来实现吗,还是会受到 32Gb 的限制?

有没有图书馆可以做到这一点?我找到了fat32-lib,但它似乎不可靠并且没有文档。

谢谢

【问题讨论】:

    标签: java windows formatting usb-drive fat32


    【解决方案1】:

    试试这个:

    http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm

    这是用于格式化超过 32 GB 限制的 FAT32 驱动器的第 3 方工具。它同时具有命令行和 GUI 模式。

    通过 Windows 上的原生 "format" 命令无法超过 FAT32 驱动器的 32 GB 限制。

    【讨论】:

    • @Maxbester:Java 不是为系统管理任务而设计的。
    【解决方案2】:

    如果您继续使用format,我认为您将无法在所有基于 WinNT 的操作系统 (Win2K+) 上避免使用the 32 GB limit that Microsoft imposes on FAT32

    FAT16 和 FAT32 不能很好地扩展。随着卷变大,文件分配表也变大,这大大增加了 Windows 2000 在系统重新启动时计算启动卷上的可用空间的时间。

    因此,您不能使用格式化实用程序创建大于 32 GB 的 FAT32 卷。但是,Windows 2000 Fastfat 驱动程序使您能够装载并完全支持大于 32 GB 的 FAT32 卷。

    您也许可以使用 FAT32 的另一种实现来避免此限制,但我不确定是否存在适用于 Windows 的限制(我没有找到一个谷歌搜索)。或者您可以使用 WinNT 之前的 Windows,例如 Windows 98 或 Millenium Edition,但我认为这不是一个好主意。

    【讨论】:

      【解决方案3】:

      试试这个,

      Process p = Runtime.getRuntime().exec("CMD /C format f: /FS:NTFS /Q /X /Y");
      

      它会解决你的问题..NTFS

      【讨论】:

      • 我将使用此 U 盘的系统不支持 NTFS。
      • 然后使用EXFAT进程 p = Runtime.getRuntime().exec("CMD /C format f: /FS:EXFAT /Q /X /Y");
      猜你喜欢
      • 1970-01-01
      • 2016-12-17
      • 2022-06-18
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多