我无法删除 U 盘上损坏的 NTFS 分区。如何强制删除它?

我无法删除 U 盘上损坏的 NTFS 分区。如何强制删除它?

我在 Windows Vista 中使用 NTFS 文件系统格式化了我的 16GB 笔式驱动器。之后我开始复制一些文件。但是,在复制操作挂起之前,只有几个文件被复制到笔式驱动器中。所以我取消了复制操作。

现在我无法使用 U 盘了。我真的不需要复制到 U 盘的任何文件。我只是想再次使用 U 盘。

我尝试使用 Ubuntu 格式化 U 盘。但是当我使用它fdisk删除分区时,它看起来运行正常,但实际上它并没有删除分区。而且我无法使用任何其他文件系统对其进行格式化。

当我尝试使用时gparted,它会引发以下错误:

Error mounting: mount exited with exit code 14: The disk contains an unclean file system(0,0).
The file system wasn't safely closed on window. 
Fixing ntfs_attr_pread_i:ntfs_pread failed: Input/output error 
Failed to read NTFS$Bitmap:Input/output error 
NTFS is either inconsistent, or there is a hardware fault, or it's a softRAID/FakeRAID hardware. 
In the first case run chkdsk /f on Windows then reboot into windows twice. 
The usage of  the /f parameter is very important!. 
If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper directory, (e.g. /dev/mapper/nvidia_eahaabcc1). 
Please see the dmraid documentation for more details

我在网上搜索如何恢复的帮助。但我不想恢复,我想再次格式化它。


当我w删除分区后按下时,比以前花费了更多时间。之后我取出 U 盘并重新插入,但我删除的分区仍然存在。

fdisk /dev/sdb如果我在删除分区后只是输入命令而不移除笔式驱动器,那么它会返回错误消息Unable to open /dev/sdb

以下是我遵循的步骤:

root@yesuraj-ubuntu:~# fdisk /dev/sdb 
Command (m for help): d 
Selected partition 1 
Command (m for help): w 
The partition table has been altered! 
Calling ioctl() to re-read partition table. 
Syncing disks 

THE DEMESG PRINTS ARE AS FOLLOWS,
[ 6139.774753] usb 2-1.3: reset high speed USB device number 4 using ehci_hcd
[ 6154.816941] usb 2-1.3: device descriptor read/64, error -110
[ 6169.968908] usb 2-1.3: device descriptor read/64, error -110
[ 6170.158427] usb 2-1.3: reset high speed USB device number 4 using ehci_hcd
[ 6185.200638] usb 2-1.3: device descriptor read/64, error -110
[ 6200.352572] usb 2-1.3: device descriptor read/64, error -110
[ 6200.542093] usb 2-1.3: reset high speed USB device number 4 using ehci_hcd
[ 6205.559460] usb 2-1.3: device descriptor read/8, error -110

我使用了该dd命令并删除了分区表。

但是现在当我连接笔式驱动器时,dmesg会出现以下错误消息:
[88143.437001] sdb: unknown partition table

我无法使用 创建分区fdisk /dev/sdb。错误消息表明无法找到节点。

其他消息dmesg如下。

[87100.531596] usb 2-1.3: new high speed USB device number 39 using ehci_hcd 
[87130.915257] usb 2-1.3: new high speed USB device number 40 using ehci_hcd 
[87135.932647] usb 2-1.3: device descriptor read/8, error -110

答案1

如果你完全积极地当然您想删除笔式驱动器的当前内容,那么您可以尝试dd下面描述的命令。

首先,最后检查一下/dev/sdb要擦除的 U 盘。正如另一个答案所指出的那样,您要毫不怀疑您正在擦除正确的设备。(我可能会运行该命令sudo fdisk -l作为额外检查。)

下面的命令dd应该将零写入 U 盘的第一个 MiB,这将清除所有分区表。这应该会完全删除所有分区。

sudo dd if=/dev/zero bs=1M count=1 of=/dev/sdb

如果您决定要将零写入整个设备,只需省略该count=1参数。当然,这会花费更长时间。需要多长时间取决于您要擦除的 U 盘的大小。

sudo dd if=/dev/zero bs=1M of=/dev/sdb

用零擦除分区表后,就可以对驱动器进行分区了。我会这样做,gparted因为我熟悉该工具并且知道如何使用它。

以下是我的做法。

  • 如果gparted您的系统上还没有,请安装它。例如,您可以使用以下命令。
    sudo apt-get update && sudo apt-get -y install gparted
  • 开始gparted,在要求时输入您的密码。
  • 执行以下步骤。
    1. 选择笔式驱动器作为当前gparted设备。
    2. 选择 U 盘上的可用空间区域。
    3. 选择创建分区表在里面设备菜单并创建MS-DOS样式分区表。
    4. 选择新的在里面分割菜单在 U 盘上创建一个新的主分区。或者,如果您愿意,您可以gparted在此时关闭并使用fdisk它对 U 盘进行分区。


带有编号步骤的 gparted 窗口图像


笔记:

如果您想在 Windows 中执行此操作,我建议DISKPART在命令窗口中使用命令。进入后,DISKPART选择正确的磁盘,然后发出命令CLEAN

HELP CLEAN(您可以在输入DISKPART有关该命令的功能的更多信息时发出该命令。)

答案2

假设你的 U 盘是 /dev/sdd (请确保你知道它是什么)

打开终端

‘sudo fdisk /dev/sdd’

删除 ntfs 分区,然后创建一个新的分区(或任何其他类型的分区)

‘d’

应该自动销毁唯一的分区。

此时,您可以按“w”并写入更改,然后使用您最喜欢的方法创建新分区。或者继续下面的操作。

‘n’(创建新分区) ‘p’(主分区) ‘1’(分区号) ‘enter’(默认第一个扇区) ‘enter’(默认最后一个扇区)

't' (表示分区类型) 'c' 或 '83' '86?' fat32 linux ntfs(?) 'w' 写入并退出。

当您执行此操作时,我再怎么强调也不为过,确保您拥有正确的设备。

答案3

您的闪存驱动器很可能已经坏了。任何正常工作的闪存驱动器都允许您删除/重新创建/更改分区表。如果这种情况不再发生,则闪存驱动器上的硬件已经坏了,永远坏了……

相关内容