如何让Linux格式的NTFS分区被Windows识别?

Ale*_*lex 4 windows ntfs

我使用 Linux 格式化了一个文件系统sudo mkfs.ntfs,并运行了一个脚本,最终生成了 1T 字节的信息。我需要在 Windows 中处理这些信息。事实证明,该文件系统无法在 Windows 中读取。我认为这是因为创建的文件系统实际上是fuseNTFS 文件系统 - 然而,我在 Windows 中格式化了 NTFS 中的另一个分区,并且它生成的文件系统具有完全相同的标志:

type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
Run Code Online (Sandbox Code Playgroud)

除了我的文件系统的块大小是 2048,而 Windows 文件系统的块大小是 4096。

您知道为什么在 Linux 中格式化的文件系统在 Windows 10 中无法被识别吗?我能以某种方式使其在 Windows 中被识别而无需重新格式化吗?我应该采取什么不同的措施来确保创建的文件系统在 Windows 中得到识别?

更新:

对于第二个分区,我在 Windows 中将其删除,然后重新创建它,并将其格式化为 NTFS。然后我转到 Linux,并运行mkfs.ntfs与在第一个分区上运行的相同命令,该分区在 Windows 中仍然可以识别。所以可能不是格式造成了影响。

也许分区的开始和/或结束位置?我将第一个分区设置为从扇区 2048 开始,因此这可能与 Windows 无法识别它的原因有关......

小智 6

(我正在重新提出一个老问题,因为今天早上我遇到了同样的问题。)

根据个人经验,如果您使用例如在Linux中创建实际分区,则可能会发生此问题fdisk

显然,为它创建的分区fdisk提供分区类型0x83,标记为“Linux”。碰巧的是,虽然 Linux 似乎并没有根据这个值进行区分,但 Windows 确实如此 - 要求分区类型为0x07,在旧版本(?)上也称为“HPFS/NTFS” fdisk

如果是这种情况,只需使用fdisk更改分区类型即可解决问题。假设分区为/dev/sda2,首先需要fdisk通过 访问提示符,然后使用显示分区表sudo fdisk /dev/sda2来识别有问题的分区。p然后,使用t进入类型更改菜单,输入您的分区号,最后输入您要应用的类型,即7。最后,使用 提交更改w

整个过程不应损坏现有数据,因为除了类型标识符之外,它不会改变任何内容。