我有一个显示未定位的 U 盘。我尝试过很多工具,如 gparted、fdisk、gpart、testdisk 等,但都无法使用。以下是我的测试结果:
磁盘分区:
$ sudo fdisk -l
....
Disk /dev/sdc: 8010 MB, 8010194944 bytes
247 heads, 62 sectors/track, 1021 cylinders, total 15644912 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: 0xd0e2392f
Disk /dev/sdc doesn't contain a valid partition table
因此,该设备大小被正确识别为 8010MB (8GB),位于 /dev/sdc。有趣的是,fdisk 报告说该设备没有有效的分区表。因此分区表出了问题,我想借助 fdisk 命令修复它,如下所示
$sudo fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x4c9b7827. Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table
然后我尝试对U盘进行分区
#sudo fdisk /dev/sdc
...
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Partition type: primary (0 primary, 0 extended, 4 free) extended Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-15644911, default 2048): Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15644911, default 15644911): Using default value 15644911
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition
完成此操作后,我的 U 盘仍然无法定位。然后我尝试使用 gparted 来解决。
Gparted 结果:
我使用“gparted”工具添加了一个分区表。如上图所示,gparted 在 /dev/sdc 处显示此设备,其 Partition=unallocated 和 FileSystem=unallocated,因此它也识别出存在问题。因此,我尝试添加一个 msdos 类型的分区表 [通过设备 -> 创建分区表...],但 GUI 显示错误消息“创建分区表时出错”。命令行也存在一些问题,如下所示
$sudo gparted
======================
libparted : 3.1
======================
/dev/sdc: unrecognised disk label
/dev/sdc: unrecognised disk label
现在我该如何解决这个问题?提前谢谢了。
答案1
您可以尝试按照评论中提到的方法通过运行将驱动器清零......
# dd count=1 bs=512 if=/dev/zero of=/dev/sdx && sync
...其中 sdx 是您想要格式化的驱动器。
请务必小心,确保您在正确的驱动器上执行此操作!
然后创建一个新的分区表......
# cfdisk /dev/sdx
# mkfs.ext4 /dev/sdx1
# e2label /dev/sdx1 USB_STICK
这与运行 gparted 相结合...
gksudo gparted
...对我有用。我有一个 USB 棒,我在上面添加了一个 iso 以用于启动,但无法恢复它。这些是我采取的步骤,它再次可用。