Windows 8.1 想要使用不常见但有效的 GPT 分区方案来格式化 USB 记忆棒,为什么?

Windows 8.1 想要使用不常见但有效的 GPT 分区方案来格式化 USB 记忆棒,为什么?

我有一个使用 GPT 分区格式化的 USB 记忆棒。其中一些分区是 ext2,一些是 ext4,一些是自定义分区和时髦分区。但是,还有一个标准 EFI 分区和一个标准 vfat 分区。

在 Windows 7 中,EFI 分区和标准 VFAT 分区均可见且可正常挂载。但 Windows 8.1 在插入驱动器时会提示重新格式化驱动器。

如果 Win 8 隐藏了 EFI 分区,我并不感到惊讶,但我没想到它会提示重新格式化。我想保留现有分区,但有一个 VFAT 分区,Windows 7、8 和 8.1 可以正常挂载和显示。

Win 8 究竟如何决定设备是否需要格式化?

答案1

我没有亲身体验过 Windows 8。话虽如此,Windows 长期以来将可移动磁盘视为“超级软盘”,在这种情况下,这意味着任何未分区或只有一个分区的可移动磁盘。如果您在 USB 闪存驱动器上放置两个 FAT 分区,Windows(最高到 Windows 7)将允许您安装第一个分区,但会忽略第二个分区。我的第一个猜测是 Windows 8(或者可能只是 8.1)将这一问题提升到了一个新的水平,并拒绝让您使用分区介质。如果是这样,我不知道有什么明显的解决方法可以解决这个问题。

另一种可能性是您遇到了分区类型代码问题。这可能表现为以下两种形式之一或两种形式:

  • 您的 Linux 分区可能设置了错误的类型代码。直到两年前,Linux 还使用与 Windows 相同的类型代码来标识 GPT 磁盘上的文件系统,这可能会导致出现问题。不过,两年前,专门为 Linux 文件系统创建了一种新的 GPT 类型代码。不幸的是,libparted 项目(由parted、GParted 和大多数其他 Linux 分区工具使用)在采用对这种新类型代码的支持方面进展缓慢。如果您想使用它,最好的办法是使用gdisksgdiskcgdisk将 Linux 分区的类型代码从 0700 设置为 8300。请参阅这一页了解有关此主题的更多信息。
  • 您的 FAT 分区可能设置了错误的类型代码。在gdisksgdisk或 中cgdisk,确保其类型代码设置为 0700。(不幸的是,parted、 GParted 和其他基于 libparted 的工具无法让您充分控制此功能,甚至无法可靠地知道它是如何设置的。)

相关内容