我有一个“SanDisk Cruzer USB 设备”,标称容量为 8GB,而且一直都是 8GB。我有一段时间没用它了,现在我的电脑上显示容量为 3.49GB。我觉得我之前对它做了些什么,但记不清做了什么。
我尝试过不同的 PC,使用不同的操作系统(Ubuntu Server 12、Ubuntu Desktop 10、Windows 7、Windows XP)。它们都列出了大约 4GB 的设备容量。我也尝试过格式化,但在格式化对话框中(Windows XP),我只能选择 3.50GB 容量(无论我选择 FAT32 还是 exFAT)。
可能存在什么问题?我该如何解决这个问题?
我fdisk -l /dev/sdb
在Ubuntu上运行,发现:
Disk /dev/sdb: 3763 MB, 3763600896 bytes
116 heads, 62 sectors/track, 1022 cylinders, total 7350783 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: 0x69686373
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdb1 ? 4281232757 1652651905 833193222+ 6d Unknown
/dev/sdb2 ? 1141509631 1685422960 271956665 66 Unknown
/dev/sdb3 ? 1937007983 1937010555 1286+ 65 Novell Netware 386
/dev/sdb4 2885681152 2885736393 27621 0 Empty
Partition table entries are not in disk order
答案1
我认为 USB 驱动器出现问题,我建议您停止使用它。
Ubuntu 报告 4 GB,而不是 8 GB:
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 3763 MB, 3763600896 bytes
116 heads, 62 sectors/track, 1022 cylinders, total 7350783 sectors
(...)
如果你仔细观察fdisk
一下的输出,你会发现起始和结束扇区根本没有意义,并且与 Cruzer 上的总扇区数不匹配:
Device Boot Start End Blocks Id System
/dev/sdb1 ? 4281232757 1652651905 833193222+ 6d Unknown
/dev/sdb2 ? 1141509631 1685422960 271956665 66 Unknown
/dev/sdb3 ? 1937007983 1937010555 1286+ 65 Novell Netware 386
/dev/sdb4 2885681152 2885736393 27621 0 Empty
USB 闪存驱动器出了问题。我不知道如何才能恢复 8 GB 的空间。
答案2
尝试使用“HP USB 磁盘存储格式化工具“可从以下网址下载网络但是如果快速格式化后遇到同样的问题,请尝试使用该工具进行完全格式化。
答案3
将设备放入您的 Windows 机器并执行以下操作:
- 在开始菜单上转到运行
- 在框中输入“compmgmt.msc”
- 在管理控制台中,从左侧树中选择“磁盘管理”
- 在磁盘列表的顶部右侧,找到您的闪存驱动器,然后单击驱动器号
- 该驱动器现在应集中在下面的列表中。
- 我假设你会看到一个主分区和一堆逻辑分区
- 删除分区,直到只剩下一个。
- 格式化仅剩的分区。
我见过的 85% 的驱动器问题都可以用这种方法解决。有时有人会将某个驱动器格式化为启动设备或实时 Linux 发行版,结果会出现一堆非活动分区,用于交换空间等。
正如评论中所提到的,闪存设备的写入量也是有限的,但除非它被用作主操作系统驱动器几年,否则我非常怀疑你是否达到了它的写入寿命。
我很少推荐第三方工具,但是我曾经使用过这个分区向导几次即可修复顽固的分区问题。它相当直观且易于使用。
最后警告:如果您不确定需要修复哪个驱动器上的分区,或者您对驱动器号感到困惑,请在开始之前停下来。如果您弄乱了错误磁盘上的分区,可能会严重损坏机器。
答案4
我在 Ubuntu 14.04 上试过,但没用。在 Windows 7 Pro 上(其他 Win 操作系统应该也可以),下面的方法对我有用。
运行 diskpart(按 Win+R 并输入“diskpart”(不带引号)。
list disk
可用磁盘列为磁盘 0、磁盘 1 等等。查看磁盘大小,确定哪个磁盘是 USB 棒。假设它是磁盘 1。现在运行以下命令:
select disk 1
list partition
clean
list partition
create partition primary
list partition
format fs=fat32 quick
list partition
exit