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

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

我使用 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)

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

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

更新:

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

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

答案1

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

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

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

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

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

答案2

在 Windows 中也可以使用以下方法纠正此问题diskpart

例如,使用管理员启动的命令提示符:

C:\Windows\System32>diskpart

Microsoft DiskPart version 10.0.22621.1

Copyright (C) Microsoft Corporation.
On computer: PCNAME

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
...

DISKPART> sel disk 1

Disk 1 is now the selected disk.

DISKPART> list parti

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
...

DISKPART> select parti 1

Partition 1 is now the selected partition.

DISKPART> help setid

    Changes the partition type field for the partition with focus.

Syntax:  SET ID={<BYTE> | <GUID>} [OVERRIDE] [NOERR]

    ID={<BYTE> | <GUID>}

                Specifies the new partition type.

                For master boot record (MBR) disks, you can specify a partition
                type byte, in hexadecimal form, for the partition. Any
                partition type byte can be specified with this parameter except
                for type 0x42 (LDM partition). Note that the leading '0x' is
                omitted when specifying the hexadecimal partition type.

                For GUID partition table (GPT) disks you can specify a
                partition type GUID for the partition. Recognized GUIDs
                include:

                    EFI System partition:
                        c12a7328-f81f-11d2-ba4b-00a0c93ec93b

                    Basic data partition:
                        ebd0a0a2-b9e5-4433-87c0-68b6b72699c7

                Any partition type GUID can be specified with this parameter
                except for the following:
...

DISKPART> SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7

DiskPart successfully set the partition ID.

DISKPART> exit

Leaving DiskPart...

相关内容