Windows 无法识别我的日立硬盘的全部容量

Pau*_*tra 7 windows-7 partitioning

经过一番挖掘,我真正的问题是为什么 Windows 只能识别我硬盘驱动器的大约一半大小。我的原文:

在我的 2 TB 数据磁盘上,我有两个主分区,一个 1.6 TB 用于 Linux (ext3) 中的数据存储,另一个 300 GB 用于 Windows 的一些额外数据存储。我运行双引导 Windows 7/Ubuntu 12.04 安装。

我遇到的问题是,如果我将计算机启动到 Windows 7,则无法识别 2TB 数据驱动器上的分区。相反,Windows 7 会看到一个 1TB 类型为 RAW 的分区。但是,如果我重新启动到 Linux,然后返回到 Windows 7,则可以正确识别分区。

下面两张截图说明了我的情况。在我重新启动到 linux 之前:

在此处输入图片说明

并在重新启动后:

在此处输入图片说明

我有两个问题:

  1. 什么可能导致这种行为?
  2. 我该如何解决这个问题。

编辑:以下两个更改没有解决问题: 1. 我用标准的 Windows 7 引导加载程序替换了 grub 引导加载程序 2. 我用一个 ntfs 分区替换了数据驱动器上的两个分区。

所以系统现在是单启动windows 7系统,还是不能识别2tb的ntfs分区,而是坚持是950gb的RAW分区。

编辑:当我在 ubuntu 中使用 gparted 删除分区时,Windows 看到未分区的空间,但只有 950 GB(大约一半大小)。

Pau*_*tra 5

所以问题是 Windows 只识别了我磁盘的一半。经过一些挖掘(和更多挖掘)后,我发现这是一个由于主机保护区(HPA)而可能发生的问题。使用hdparm,包含在 Linux 分区工具中gparted,我可以检查是否是这种情况。我从 Ubuntu live CD 发出以下命令:

ubuntu@ubuntu:~$ sudo hdparm -N /dev/sdb

/dev/sdb:
 max sectors   = 1953569134/3907029168, HPA is enabled
Run Code Online (Sandbox Code Playgroud)

如果我检查我的其他磁盘,它会显示以下输出:

ubuntu@ubuntu:~$ sudo hdparm -N /dev/sda

/dev/sda:
 max sectors   = 156301488/156301488, HPA is disabled
Run Code Online (Sandbox Code Playgroud)

这显示了我的期望,硬盘驱动器上的所有扇区都是可见的。因此,我的 2 TB 磁盘上 /dev/sdb 下的一半扇区似乎都被 HPA 覆盖了。以下 hdparm 命令修复了这个问题:

sudo hdparm -N p3907029168 /dev/sdb
/dev/sdb:
 setting max visible sectors to 3907029168 (permanent)
 max sectors   = 3907029168/3907029168, HPA is disabled
Run Code Online (Sandbox Code Playgroud)

通过将最大可见扇区设置为驱动器的最大值,从而禁用 HPA。现在,如果我转到 Windows 并检查磁盘管理,磁盘会很好地显示正确的可用空间量。

可能是 HPA 是由我的技嘉主板引起的,该主板在硬盘驱动器上的 HPA 中隐藏了 BIOS 副本。bios 中的一个错误导致此 HPA 将这两个 Tb 硬盘驱动器上的空间一分为二,另请参阅有关 tom 硬件的这篇文章。该信息大约是回复的一半,由名为 fzabkar 的用户提供。该帖子中的OP也使用了日立驱动器,因此问题可能是由技嘉主板和日立硬盘驱动器的组合引起的。