我的笔记本电脑是日立 HTS725050A7E,容量为 500GB,块大小为 4k。它附带两个分区,磁盘正面有一个 10G 的恢复分区,其余磁盘空间位于一个大的主分区 C: 中。我使用 Win7 磁盘管理器将主分区缩小到 358G,然后启动最新的 linux mint livecd。
奇怪的地方就在这里:在 Linux Mint 安装程序中,当我去创建分区时,没有检测到两个现有的 NTFS 分区。
我退出安装程序并在终端中尝试sudo fdisk -l
,但它也找不到 NTFS 分区,而是说整个磁盘是一个巨大的 FAT 分区。幸好 Linux Mint 的存储库中有 TestDisk,我能够快速安装它并搜索分区。TestDisk 可以通过搜索找到它们,但也看到了巨大的 FAT 分区。我重新启动 Windows 并在那里运行 TestDisk,得到了完全不同的结果。在 Windows 中,TestDisk 甚至看不到任何 FAT 分区,并且能够从分区表中正确读取两个 NTFS 分区而无需搜索。
我尝试了 ubuntu live CD,结果相同,我还使用 DFSee 检查了这三个操作系统中的硬盘,结果也类似。Windows 中的 DFSee 可以理解分区表,而 Linux 中的 DFSee 则不能。我认为分区表中一定存在某种错误,Windows 掩盖了这些错误,或者磁盘的 Windows 驱动程序与磁盘固件的交互方式与 Linux 驱动程序不同。
所以我的问题是:我有两个使用 TestDisk 的选项,但我不确定哪个最好...我可以在 TestDisk windows 中创建分区表的备份,启动到 Linux Live CD 并从备份中恢复分区表。或者,在 Linux Live CD 中,使用 testdisk 搜索分区并尝试以此方式恢复分区表。
哪个最好,或者我应该选择其他方向吗?我需要在这台笔记本电脑上安装 Linux。
更新:分区表为MBR格式。
更新:我已将 testdisk(Windows)的日志文件上传至此处:http://is.gd/orM5O7。您将在第一部分看到,在它显示“分析磁盘 /dev/sda”之后,它会显示正确的分区。但是当它开始搜索时,它会在 0/1/1 处看到一个 FAT 分区。
我还上传了来自 Linux 的测试磁盘日志:http://is.gd/mLay6f。在此日志中您可以看到,当它启动时它没有正确的分区,但经过搜索后它可以找到它们。
最后,附在这里:https://docs.google.com/open?id=0BzuZ-DbTYjC2R01nbEdrdW02NDQ是我的磁盘的前 512 个字节(我用 生成dd if=/dev/sda of=sda.img bs=512 count=1
)。在十六进制编辑器中查看此内容,谜题中缺失的一块就显露出来了。第一个磁盘扇区DENALI_DATAPLEX
在靠近前面的位置有 ASCII 字符串,再往下一点有字符串Dataplex ERROR: Mem alloc failed...Write error
答案1
您的磁盘可能使用以下方式进行分区谷氨酰胺磷酸酶,在这种情况下,fdisk
只会看到带有较大假分区的“保护性 MBR”。请尝试使用gdisk
或其他支持 GPT 的分区工具。
答案2
事实证明,这些都是笔记本电脑中安装 NVELO Dataplex 缓存驱动器的副作用。安装 Dataplex 时,它会对分区表进行这种破坏,并使用 Windows 中不可见的驱动程序魔法对其进行修复。我们必须卸载 Dataplex 才能从不支持 Dataplex 的操作系统使用该驱动器。它们没有 Linux 驱动程序,也不支持任何双启动配置,因此缓存根本不起作用。
http://nvelo.com/dataplex-download/ocz/SystemRequirements.php