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


14

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

我担心的是45MB以内。为什么这么多?1MB通常用于对齐。

因此,我使用以下命令在Linux中加载了hexeditor:

hexdump /dev/sdb -C | less

我发现数据的“字符串”如下所示:

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

取出磁盘或其他介质。磁盘错误。按任意键重新启动。U.RRaA。

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

CpaintDC。UserException。CResourceException。

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

那是在未分配的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

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

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

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

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

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

关于对两个相同的设备可能与完全不同的扇区计(也许这应该是一个不同的问题后?)是过度配置可能发生--->在实现两个idential 64GB硬盘表现出完全不同的可利用扇区大小的光(一个即将无处接近64,000,000,000 MB)这是否意味着其中一项已超量配置,而另一项则没有?

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

即使有一些“预留空间”(USB闪存驱动器是否有类似SSD的东西),至少我也希望这是一致的,并且两个相同模型驱动器之间的大小不会有明显的不同。

但是,开箱即用:

对于整个设备(58.9G),驱动器#1仅具有63,283,658,752扇区。如果我正确地完成了数学运算;我缺少该驱动器700 MB以上的空间。

2号驱动器只有58,787,364,864,即54.8G。同样,如果我正确地进行了数学计算,则第二个驱动器会丢失5.2 GB。

令人不安。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

甚至是某种程度的超额配置;我认为应该一致吗?

甚至无法用看似可执行的数据解释开始时价值45或46 MB的未分配空间。

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

抱歉,这有点长...我继续发现更多东西,并不断添加。


3
字符串(或包含它们的文件)可能只是自动测试系统的一部分,该系统在将驱动器发布之前检查驱动器是否有错误。
Daniel B

1
其中一些字符串(例如An application has made an attempt to load the C runtime library incorrectly)是MSVCRT的一部分。显然,运行时库静态链接到此处存在的任何可执行文件。早期的字符串,例如"Invalid partition table. Error loading operating system.Windows MBR / bootloader的一部分。
bwDraco

strings搜索整个驱动器的是没有意义的; 您将必须显示分区表,以便我们可以看到您在说什么:ie fdisk -l
psusi

有关驱动器的品牌和型号是什么?通过提供的所有详细信息,您似乎已经跳过了这一关键信息。此外,为什么不使用磁盘前仅对磁盘进行修复和重新格式化?
JakeGould 2015年

Silicon Power Marvel M70 64GB。购买产品时,我通常会进行大量研究,并且出于多种原因(尤其是基于Silicon Power A80外置驱动器),他们都非常喜欢这个品牌。我可以简单地重新分区;但我想知道驱动器上有一堆隐藏数据的原因或可能的原因,是否确实表明其他任何安全问题。现在,通过对第二个相同模型的新分析,得出该设备可用的总块数为4,496,293,888(4.5 Gigs)。简单的解释或有关?
mike2000

Answers:


0

不良的质量控制做法。众所周知,很难以任何程度的一致性来制造内存。通常制作ram,对其进行测试以查看其大小,然后将空间格式化为该大小。至于未分配空间中的字符串,我想这是根据产品出厂前的质量控制测试得出的。


1
这种解释解释了原始存储的变化。但是,我仍然感到困惑,为什么在工厂的主分区之前会有不同数量的“未分配”空间;对齐是一回事。但是45 MB和46 MB?通过标准过程,我至少希望看到未分配空间实际数量的一致性。也就是说,可能有一个解释,很可能就是您所说的关于质量控制的内容。但是,我可以想象质量控制诊断实际上并不需要在驱动器上,而应该在测试机上。感谢您的想法。
mike2000

请注意,如果要使结果显示驱动器的质量,则测试机必须正在向驱动器写入数据或从驱动器读取数据。但是,这不能解释未分配空间的巨大变化。
milesrf '16

0

一些闪存驱动器(甚至是外部HDD)具有内置软件。这些驱动器在操作系统上看起来像2个设备,第一个显示为CD-ROM,第二个显示为普通的读/写大容量存储设备。

这并不是操作系统所理解/完成的分区,而是在较低级别上完成的,而是由USB设备中的微控制器控制的。

确实存在设备制造商提供的实用程序(通常是中文)来更改这种安排,而且您必须使用与微控制器兼容的公用程序,并且很难找到和使用它们。

我敢打赌,这个闪存驱动器注定要在其上内置软件,但是制造商出于任何原因都改变了主意。

因此,未分配的区域可能是伪造的“ CD-ROM”区域,其中包含该制造商(或可能是其他制造商)提供的其他驱动器SKU的加密或备份软件。

制造商可能供应了这些特定的设备或其他一些相关的经济状况,然后运行了一个实用程序来重新配置闪存装置并删除“ CD-ROM”分区,但没有在包装之前擦拭闪存的这一部分。

您应该在未分配的分区上运行TestDisk,并查看可以找到的内容!


“出于任何原因改变了主意”。可能将大量“贸易展览会溢价”设备回收/弹回了供应批发商。
Yorik

0

在编写MBR或GPT表时,他们可能有些不满意。我建议您打开像gparted这样的软件并编写您自己的GPT或MBR表,并在其上进行新的FAT32分区,以查看它是否解决了您的问题。

如果在执行此过程时发现错误,则可能是硬件故障。


-1

未分配的空间将用于替换发生故障的存储单元。闪存设备的制造量过大,并且当一个单元发生故障时,无法再对其进行写入,但可以从中读取内容。此时,板载控制器会将存储器内容复制到一个新的未分配单元中,然后将旧单元标记为不使用。


在SSD情况下,称为L1或L2预留空间过大的区域可能只是一条推理路线。但是,从用户或操作系统的角度来看,您所说的区域是不可触摸的。另外,没有其他USB驱动器具有这么多的“未分配”空间。我可以重新分区整个设备,并在需要时回收该空间。我的问题是为什么它在那里。它的用途是什么...其他驱动器先前未分配32个扇区(16K),或8064扇区(3.9 MiB)尚未分配。我从未发现主分区之前未分配45MiB或46MiB或31MiB(看似随机)。
mike2000

好吧,那么,我建议回到Silicon-Power.com并编写它们,并以柔和的持久性进行尝试,直到收到一个明智的答案为止。
K7AAY 2015年

这样做了。收到回复后将更新此线程。谢谢。
mike2000

-1

[sorry4necro?bumping]嗨,迈克2000(“ 当我收到回复时会更新此线程 ”)您是否曾收到回复?

我有与您相同的Kingston Hyperx Savage 64GB。那里(https://www.kingston.com/us/support/technical/products?model=hxs3)是一个答案:

我的DataTraveler或Flash媒体的全部容量无法存储。为什么?

闪存设备列出的某些容量用于格式化和其他功能,因此不可用于数据存储,因此您将看不到全部容量。

在制造闪存设备时,应采取步骤以确保该设备可靠地运行并允许主机设备(计算机,数码相机,PDA等)访问存储单元;即在闪存设备上存储和检索数据。这些步骤(统称为“格式化”)利用了设备内的某些存储单元,因此减少了最终用户可用于数据存储的容量。

格式化包括以下操作:

测试闪存设备中的每个存储单元。识别所有有缺陷的单元,并采取步骤以确保不会将任何数据写入或从有缺陷的单元读取。保留一些单元以用作“备用”。闪存单元具有较长但有限的寿命。因此,一些单元被保留以替换可能随着时间的流逝而失效的任何存储单元。创建文件分配表(FAT)或其他目录。为了使闪存设备可以方便地存储和访问客户文件,必须创建文件管理系统以允许任何设备或计算机识别存储在闪存设备中的文件。闪存设备最常见的文件管理系统类型是文件分配表(FAT),它也用在硬盘驱动器上。保留一些单元以供闪存设备的控制器使用,例如,用于存储固件更新和其他控制器特定的信息。在适用的情况下,保留一些单元以保留特殊功能。例如,安全数字(SD)卡规范要求保留区域以支持特殊的复制保护和安全功能。

引用答案结尾。

现在,我很有趣:按照这种逻辑,容量为128GB的闪存驱动器将有90(45倍)MB的未分配空间,容量为256GB的闪存驱动器将有180MB ...等等。我没有那么大的闪存驱动器,但知道会很有趣...


1
您是在这里提问还是在写答案?
皮条客果汁IT 2009年

-2

我是支持PC技术的软件,因此,我会附带有时带有如此昂贵的驱动器的文档和软件,还要检查网站上有关该产品的信息,它的目的是确保您正在使用关于它的偏执模式。

我在您的过程中发现的错误:1)您正在使用Linux分析Windows软件。2)这些字符串来自.exe Windows可执行文件和小型启动操作系统(如果从其中启动)。3)可能您可以删除所有分区并将其重新格式化,从而获得所有可用空间。4)该分区也可以具有UEFI(现代BIOS)信息或可执行文件。5)同样,显然您还没有阅读过有关该产品的任何信息,可能它说的是什么软件:随附的引导操作系统和/或实用程序/工具。

如果您不想在使用设备之前阅读设备文档,希望它可以帮助您了解使用方法中的错误并咨询技术人员。最好的运气。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.