为什么在 Silicon Power Marvel M70 64GB 闪存驱动器的开头有 45MB 未分配空间以及为什么扇区数截然不同?

mik*_*000 14 flash usb hard-drive usb-flash-drive

我有一个全新的Silicon Power Marvel M70 64GB USB 闪存驱动器,在 58.89GB 的可用空间之前有 45MB 的未分配空间。我不在乎少于 64GB,因为我知道这是由于基于 1024 的数学。

我担心的是在 45MB 以内。为什么这么多?1MB 是对齐的典型值。

因此,我使用以下命令在 Linux 中加载了一个十六进制编辑器:

hexdump /dev/sdb -C | less
Run Code Online (Sandbox Code Playgroud)

我找到了如下所示的数据“字符串”:

无效的分区表。加载操作系统时出错。缺少操作系统。

移除磁盘或其他媒体。磁盘错误。按任意键重新启动。U.RRaA。

该程序不能在 DOS 模式下运行。

CpaintDC。用户异常。C资源异常。

应用程序试图错误地加载 C 运行时库。请联系应用程序的支持团队了解更多信息。尝试在本机代码期间使用此程序集中的 MSIL 代码。

那是在 UNALLOCATED 45 MB 区域内......它不应该从工厂直接归零吗?此外,相同的驱动器(见下文)对于未分配和分区区域具有完全不同的大小;似乎可执行数据已经或曾经存储在那里

我以前从未遇到过这种情况。还有其他人吗?我打电话给公司,他们没有解释,只是告诉我在打开一个并将其连接到计算机时,他们的驱动器开头也显示了 45 MB 的未分配空间。

这表明它可能是在工厂完成的,而不仅仅是我的有这种配置。

我担心那里存储的内容;以及它是否可能可执行等等。尤其是从 45 MB 的“未分配空间”中查看上面的文本的十六进制转储字符串。如果它是可执行的;我认为在启动到驱动器时​​可能可以访问它。

有人见过这个吗?你能想到什么解释?

编辑:当我打电话给制造它的公司时,他们还插入了相同型号系列的 128GB 大小,未分配的空间为 31 MB。不确定这是否与这里可能发生的事情有任何关系,但它肯定不是“成比例的”或至少是相同的。

编辑:我随后尝试了另一个全新的单元(相同型号、批号、大小(64GB)驱动器。如 GParted 所示:

  • 驱动器 #1: 45.33 MiB 未分配和 58.89GB FAT32

  • 驱动器 #2: 46.38 MiB 未分配和 54.70GB FAT32

这些都应该是 64GB 驱动器。大小相同等。这是直接从工厂。我从未遇到过与其他闪存驱动器的这种差异。我的意思是,两个驱动器之间的总扇区大小减少了 4GB 以上的存储空间。

As displayed by "fdisk -l" as requested (for the #2 drive only since I already cleared out the partition table of drive #1):

Disk /dev/sdc: 58.8 GB, 58787364864 bytes
90 heads, 26 sectors/track, 49067 cylinders, total 114819072 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: 0x75cbf5af
Run Code Online (Sandbox Code Playgroud)

设备引导:/dev/sdb1
开始:94976
结束:114819071
块:57362048
Id:c
系统:W95 FAT32 (LBA)

此外,这并不能解释为什么在第一个分区之前有 45MB 或 46MB 的未分配空间,但是当我运行“ dd if=/dev/sdb of=/flash_drive_dd.img bs=1M ”时,对于 2 个相同的 64GB 驱动器命令(这应该给我一个驱动器的整个存储容量的指示吗?)我得到两个完全不同的数字:

驱动器 #1 显示 63,283,658,752 个文件大小

驱动器 #2 显示 58,787,364,864 个文件大小

这些值适用于整个驱动器……而不仅仅是据称相同型号的 64GB 驱动器的分区。

关于两个相同设备上可能相关的截然不同的扇区数(也许这应该是一个不同的问题帖子?)是否可能发生过度配置--->鉴于意识到两个相同的 64GB 驱动器显示出截然不同的可用扇区大小(一个无处可去接近 64,000,000,000 MB)这是否意味着一个是过度配置或其他什么而另一个不是?

我弄清楚我应该在我的操作系统中看到什么的方式如下:我取 64,000,000,000 字节并除以 1024 ^ 3,我应该得到操作系统报告的 59.6 GB(或非常接近)。

即使有一些“过度配置”(对于像 SSD 这样的 USB 闪存驱动器是否有这样的事情),至少我希望它是一致的,并且两个相同型号的驱动器之间的大小不会有很大差异。

但是,开箱即用:

驱动器 #1 的整个设备只有 63,283,658,752 个扇区,即 58.9G。如果我的数学计算正确;我缺少这个驱动器的 700 MB 以上。

驱动器 #2 只有 58,787,364,864,即 54.8G 再说一次,如果我的数学计算正确,第二个驱动器将缺少 5.2 GB。

这令人不安.... 相同型号的空间(整个驱动器)比我预期的要少...第二个驱动器的尺寸比另一个小。

甚至是某种程度的过度供应;我认为它应该是一致的,不是吗?

这甚至无法解释一开始看似可执行的数据有 45 或 46 MB 的未分配空间。

除非我遗漏了有关 USB 闪存驱动器的一些基本知识,否则事情会变得越来越奇怪。

对不起,这有点长......我不断发现更多的东西并在我前进的过程中添加。

小智 0

质量控制措施不佳。众所周知,存储器很难以任何级别的一致性制造。一般ram制作完成后,测试一下它的大小,然后将空间格式化为该大小。至于未分配空间中的字符串,我猜测这是来自产品发货前的质量控制测试。