USB 闪存驱动器上的前 0x7E00 字节已变得不可见

USB 闪存驱动器上的前 0x7E00 字节已变得不可见

我设法让 USB 闪存驱动器的前 0x7E00 字节(63 个扇区)对 Windows XP 中的每个程序都不可见。我尝试了大约 15 种不同的磁盘编辑器,并尝试了许多 MBR 修复选项等等,但似乎都认为磁盘的起始位置比实际位置晚 0x7E00 字节。XP 中的格式化选项(无论是将其格式化为 FAT 还是 NTFS)都可以“正常工作”,我甚至可以在其上添加文件,但仍然存在不可见扇区的问题(Windows 确实假装磁盘从那里开始)。HxD 十六进制编辑器显示比以前少 0x7E00 字节。带有 \.\PhysicalDriveX 的 CreateFile API 也是如此。我尝试使用 3 个不同的安装程序安装可启动 Linux,但都将其安装在错误的位置(我知道这是错误的,因为如果我尝试从它启动,它不会启动到 Linux,而是启动到包含垃圾代码的旧 MBR)。弄乱 BIOS 选项没有任何作用。尝试使用“Rufus”格式化选项 FAT 和 NTFS 格式化,结果和其他所有格式化一样错误,但 exFAT 出现“格式化时出现未确定的错误”,日志显示有 63 个隐藏扇区。我该如何将这 63 个扇区归零或以其他方式覆盖,或者让它们再次可见?

答案1

我心里有一个选择。

创建一个包含 512 个 0 的二进制文件,假设它是 X.bin

现在使用 dd 将文件复制到前 63 个扇区

sudo dd if=/home/user/X.bin of=/dev/sdc bs=512 count=63

这里 /dev/sdc 是您的 pendrive。

如果您不了解创建二进制文件的过程,请发表评论。

相关内容