我买了一个 SanDisk Ultra 16GB 3.0 USB 棒,将其重新格式化为 ntfs,并“设法”将太多数据复制到其中。之后,它在 Ubuntu 和 Windows (10) 中都无法检测到。我尝试了 fdisk 及其变体 gparted、mkfs、gpart、testdisk,但无法再检测到它。有没有办法让它工作?上面的文件仍然在我从中复制的磁盘上,所以只要让它再次工作就足够了。无需文件恢复。
补充:我尝试过fdisk -l | grep Disk
,当我丢失它并且仍然知道绑定在该棍子上的设备时,我尝试将其归零dd if=/dev/zero of=dev/sdd
,当时这似乎有效,但棍子仍然未被检测到。
答案1
在终端中,运行此命令:
fdisk -l | grep Disk
希望其块设备能够被列出。
我假设它出现在/dev/sdb
。
警告!如果未能输入正确的块设备,可能会导致计算机内置硬盘上的数据彻底毁坏。
接下来我们将彻底擦除它:
sudo dd if="/dev/zero" of="/dev/sdb" #Replace "of" accordingly
此后,希望您能够在 Gparted 中对其进行格式化。
答案2
从终端运行以下命令。
移除所有 USB 设备,只留下要重新格式化的 16GB USB 闪存盘,这样以后您就不会对 USB 闪存盘的设备名称感到困惑。
列出所有分区。
sudo fdisk -l
搜索命令结果以查找如下输出:
Disk /dev/sdc: 15729 MB, 15728640000 bytes 60 heads, 33 sectors/track, 31030 cylinders, total 30720000 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: 0x00016288 Device Boot Start End Blocks Id System /dev/sdc1 * 2048 30719998 15357952 b W95 FAT32
如果您
15729 MB
在输出中看到类似 (16GB) 的内容(参见上面的示例输出),那么这就是您的 16GB USB 闪存驱动器。在此示例中,它称为/dev/sdc
。现在从 Dash 打开“磁盘”应用程序并再次检查以确保您的 16GB 闪存驱动器的设备名称与您通过运行以下命令获得的名称相同:sudo fdisk -l
。在 msdos 类型的磁盘上创建分区表,有时也称为主引导记录 (MBR)。
sudo parted /dev/sdc mklabel msdos
在此示例中,我使用了
/dev/sdc
在步骤 2 的结果中找到的设备名称。我再怎么强调也不为过运行此步骤之前请验证设备名称!警告:如果您输入了错误的设备名称,您可能会覆盖您的操作系统或另一个包含重要个人文件的分区!所以请小心并再次检查设备名称。打开“磁盘”应用程序并在“磁盘”中检查 16GB USB 闪存驱动器的设备名称。它应该是相同的设备名称!现在再检查一次!您不想意外输入错误的设备名称!
添加一个空的“主”分区,它稍后将保存 FAT 文件系统。
sudo parted -a none /dev/sdc mkpart primary fat32 0 16384
在此示例中,我再次使用了
/dev/sdc
在步骤 2 的结果中找到的设备名称。该命令指定起点(从 0 MB)到终点(16384 MB)。如果 16GB USB 闪存驱动器没有完整的 16384 MB 空间,parted 将自动调整它。如果终端返回一条消息,指出起点不能从 0 MB 开始,并且您必须使用其他接近 0 MB 的小数字,请键入 Y 以接受此操作。请注意,该命令正在整个磁盘上创建一个主分区。这个新创建的分区将具有 ID
/dev/sdc1
。这是因为本例中的设备名称为/dev/sdc
,末尾的 1 是因为它是该设备上的第一个分区。通过格式化分区在 /dev/sdc1 分区上创建 FAT 文件系统。
mkfs.vfat -n "16GBUSB" /dev/sdc1
/dev/sdc1
是步骤 4 中的分区 ID。“16GBUSB”是分区标签,可以是您自己选择的标签,只需将标签括在两个双引号字符内即可。
现在,您已拥有一个可立即使用的重新格式化 USB 闪存驱动器,其中具有 16GB FAT 分区。