警告!如果未能输入正确的块设备,可能会导致计算机内置硬盘上的数据彻底毁坏。

警告!如果未能输入正确的块设备,可能会导致计算机内置硬盘上的数据彻底毁坏。

我买了一个 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

从终端运行以下命令。

  1. 移除所有 USB 设备,只留下要重新格式化的 16GB USB 闪存盘,这样以后您就不会对 USB 闪存盘的设备名称感到困惑。

  2. 列出所有分区。

    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

  3. 在 msdos 类型的磁盘上创建分区表,有时也称为主引导记录 (MBR)。

    sudo parted /dev/sdc mklabel msdos
    

    在此示例中,我使用了/dev/sdc在步骤 2 的结果中找到的设备名称。我再怎么强调也不为过运行此步骤之前请验证设备名称!

    警告:如果您输入了错误的设备名称,您可能会覆盖您的操作系统或另一个包含重要个人文件的分区!所以请小心并再次检查设备名称。打开“磁盘”应用程序并在“磁盘”中检查 16GB USB 闪存驱动器的设备名称。它应该是相同的设备名称!现在再检查一次!您不想意外输入错误的设备名称!

  4. 添加一个空的“主”分区,它稍后将保存 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 是因为它是该设备上的第一个分区。

  5. 通过格式化分区在 /dev/sdc1 分区上创建 FAT 文件系统。

    mkfs.vfat -n "16GBUSB" /dev/sdc1
    

    /dev/sdc1是步骤 4 中的分区 ID。“16GBUSB”是分区标签,可以是您自己选择的标签,只需将标签括在两个双引号字符内即可。

现在,您已拥有一个可立即使用的重新格式化 USB 闪存驱动器,其中具有 16GB FAT 分区。

相关内容