Tom*_*ale 7 partitioning disk testdisk
TL; DR:当其他一切看起来不错时,我如何摆脱主题行中的警告?
在 64GB SD 卡上运行testdisk's时得到以下输出Analyze:
TestDisk 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Disk /dev/sdb - 63 GB / 59 GiB - CHS 60906 64 32
Current partition structure:
Partition Start End Size in sectors
Warning: number of heads/cylinder mismatches 255 (FAT) != 64 (HD)
Warning: number of sectors per track mismatches 63 (FAT) != 32 (HD)
1 P FAT32 LBA 0 1 32 51199 63 32 104857537 [27GB]
2 P Linux 51200 0 1 60902 63 32 19871744 [Link2SD]
No partition is bootable
Run Code Online (Sandbox Code Playgroud)
两个分区都是fsck-clean,chkdskWin10下/dev/sdb1也是-clean。
fsck -l 说:(我觉得这一切都很好)
Disk /dev/sdb: 63.9 GB, 63864569856 bytes
64 heads, 32 sectors/track, 60906 cylinders, total 124735488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x1c580740
Device Boot Start End Blocks Id System
/dev/sdb1 63 104857599 52428768+ c W95 FAT32 (LBA)
/dev/sdb2 104857600 124729343 9935872 83 Linux
Run Code Online (Sandbox Code Playgroud)
如果我尝试设置中提到的几何形状testdisk的mismatch警告(H = 255,S = 63)我得到:
TestDisk 6.14, Data Recovery Utility, July 2013
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Disk /dev/sdb - 63 GB / 59 GiB - CHS 7765 255 63
Current partition structure:
Partition Start End Size in sectors
1 P FAT32 LBA 0 1 1 6527 21 22 104857537 [27GB]
Bad relative sector.
2 P Linux 6527 21 23 7764 10 54 19871744 [Link2SD]
No partition is bootable
Run Code Online (Sandbox Code Playgroud)
请注意,扇区 6527 现在是“共享的”,这似乎不正确。
如何删除初始mismatch警告?
简短回答:忽略警告或联系程序作者。
长答案: Cylinder/head/sector (CHS) 值经历了几个阶段,从准确的表示到方便的虚构,再到不方便的虚构,再到无用甚至废弃。CHS 值(存储在主引导记录或 MBR数据结构中)最大约为 8 GB,因此 CHS 只能代表现代磁盘上最小的分区。事实上,现在甚至很多 U 盘都超过了 CHS 的限制!较新的GUID 分区表 (GPT)数据结构甚至不使用 CHS 值,除了一个区域(“保护性 MBR”),该区域仅用于向旧软件发出信号,表明它不应与磁盘混淆——并且在实际上,根据 MBR 或 GPT 标准,保护性 MBR 中使用的 CHS 值通常完全是假的。
TestDisk 是一个有用的工具,但我承认我没有经常使用它。当我使用它时,我对它在其用户界面的显着位置继续使用 CHS 值感到震惊。这是毫无意义的,而且可能令人困惑。大多数现代工具——甚至是用于操作 MBR 磁盘的工具——如今都使用逻辑块寻址 (LBA)几乎完全或至少优先于 CHS 寻址。LBA 最多可以处理 MBR 磁盘上的 2^32 个扇区,在给定 512 字节扇区的情况下,计算结果为 2 TiB。在 GPT 磁盘上,使用 64 位 LBA 值,因此限制为 2^64 个扇区(8 ZiB,假设为 512 字节扇区)。写入 MBR 数据结构的工具必须继续填充 CHS 字段,但在大小超过 8 GB 的磁盘上,这些字段可能会被最大化或包含虚假值;在超过 8GB 的磁盘上根本没有帮助这一事实。
实际上,除非您使用的是非常古老的软件(例如非常旧的 DOS 版本),否则您应该简单地忽略 TestDisk 关于 CHS 值的警告。要求 TestDisk 的作者不再强调 CHS 而支持 LBA 可能也是值得的。如果您想消除这些警告,您唯一的选择就是说服 TestDisk 的作者这样做或自己修改软件。
小智 9
您可以忽略此警告,因为您没有要恢复的分区。
现代分区软件将分区与 1 MB 边界对齐。但是,当与柱面边界对齐时,正确的几何图形对于恢复丢失的分区很有用。
这是第二个分区的情况,但第一个分区与柱面边界对齐的情况并非如此(假设每个柱面有 255 个磁头,每个柱面有 63 个扇区,信息记录在 FAT32 引导扇区中)。
所以你可以放心地忽略这个警告,但是从 testdisk 中删除这个警告是错误的。