Windows 破坏了主要 GPT 表

Windows 破坏了主要 GPT 表

我有一个外部硬盘,供我的 Linux 笔记本电脑和 Windows 10 台式机共享。该磁盘有一个 GPT 表,其中包含一个 NTFS 分区和一个使用 Truecrypt 加密的分区。

该磁盘在 Linux 上绝对完美。我可以查看和修改两个分区上的所有数据。每当我将驱动器插入 Windows 计算机时,它似乎都运行良好,没有收到任何类型的错误或警告。

当我从 Windows 计算机中取出磁盘并将其插入 Linux 时,笔记本电脑甚至不会尝试安装驱动器,也不会出现任何错误。我查看了 gParted,它告诉我主 GPT 表已损坏。我继续使用 gdisk(GPT 的 fdisk)从备份中修复 GPT 表。这是成功的,我可以正常使用该驱动器。也就是说,直到我再次将其插入 Windows 计算机。每次我插入 Windows 时,我都需要修复主 GPT 表才能在 Linux 中使用它。

我真正想问的是,是什么原因造成的,如何才能阻止它?总是要修复磁盘真是太烦人了。

编辑:磁盘为 320 GB(因此格式化后略低于 300),制造于 2012 年。逻辑扇区大小为 512 字节。第一个分区是一个 128 MB 的分区,从扇区 34(第一个可用)开始,带有 msftres 标志。我假设这是由 Windows 自动创建的。Windows 损坏 GPT 后,sgdisk -v /dev/sdb 的输出只有几个有趣的点:

 Warning! Main partition table CRC mismatch! Loaded backup partition table instead of main partition table!
 Problem: The CRC for the main partition table is invalid. This table may be corrupt. Consider loading the backup partition table ('c' on the recovery & transformation menu). This report may be a false alarm if you've already corrected other problems.
 Caution: Partition 1 doesn't begin on a 8-sector boundary. This may result in degraded performance on some modern (2009 and later) hard disks.

sgdisk -p /dev/sdb 显示分区表如下:

 Disk /dev/sdb: 625142448 sectors, 298.1 GiB
 Logical sector size: 512 bytes
 Disk identifier (GUID): 3747C42F-4A37-41D4-AF66-1A56BA4B347C
 Partition table holds up to 128 entries
 First usable sector is 34, last usable sector is 625142414
 Partitions will be aligned on 8-sector boundaries
 Total free space is 4717 sectors (2.3 MiB)

 Number  Start (sector)    End (sector)  Size       Code  Name
   1              34          262177   128.0 MiB   0C01  Microsoft reserved part
   2          264192       409864191   195.3 GiB   0700  Basic data partition
   3       409864192       625139711   102.7 GiB   0700  Basic data partition

相关内容