无法格式化我的USB驱动器。 我已经尝试过使用mkdosfs和gparted

我在USB适配器中有一个MicroSD卡(插入我机器上的USB端口,就像一个USB闪存盘)。 我正在使用Unetbootin将其作为Kubuntu的可启动USB闪存驱动器。 但我需要在工作时取消。 所以我从控制台杀了Unetbootin进程。

从那时起,我无法格式化MicroSD或删除Kubuntu制作的文件夹。 我也试过mkdosfs ,没有成功。 我不能再安装驱动器了? 我该怎么做才能使这个驱动器再次可用?

尝试在GParted中创建一个新的分区表,如Eliah Kagan的回答所述,不起作用。 它失败并显示错误消息“imposible crear tabla de particiones”(“无法创建分区表”)。

分析问题

存储卡和USB pendrives内部具有相同类型的硬件,因此相同的方法与这两种设备相关。 术语“驱动器”可以指USB闪存驱动器以及存储卡(存储卡可以通过USB适配器或计算机中的内置插槽连接)。

  1. 混淆:驱动器中有一些数据会使分区工具混淆,认为驱动器不起作用。 在这种情况下,您可以简单地“擦除”部分驱动器(用零覆盖)。 通常足以擦除驱动器头端的第一兆字节兆字节。

  2. 驱动器是只读的:我并不是说有一个只读文件系统,但驱动器是可读的但不可写(如CDROM或DVD)。 这可能是由某些帮助系统或竞争系统引起的,因此根据此列表进行尝试是值得的,

    • 在一些pendrives和许多存储卡上有一个用于写保护的小型机械开关,可以在读/写和只读之间切换。 您可能无意中将其设置为只读。
    • 重新启动计算机,然后再次尝试使用mkusb还原或擦除第一个兆字节。
    • 断开其他USB设备。 有时USB设备可能会干扰彼此的function。
    • 尝试其他USB端口和/或其他卡适配器。
    • 试试另一台电脑。
    • 在另一台计算机上尝试其他操作系统(Windows,MacOS)。
    • 如果您仍然无法擦除驱动器的第一兆字节,并且驱动器是只读的,则可能是“网格锁定”,下一阶段是它将完全“砖砌”。 有一个限制,当你必须接受pendrive损坏无法修复时,至少使用像你我这样的普通用户可用的工具。 查看此链接: Pendrive生命周期
  3. 找不到驱动器:为了使用工具进行维修和分区,这些工具对于您和我这样的普通用户可用,驱动器必须由计算机系统识别,并且例如通过命令行工具lsusblspci列出。 使用详细选项可以获得更多详细信息

     lsusb -v 

    还必须将驱动器识别为大容量存储设备,例如通过命令行工具lsblk 。 两个命令行

     sudo lsblk -f sudo lsblk -m 

    应该以某种方式列出驱动器,以便您可以识别它。 以下命令行甚至更好,因为它还列出了模型(通常包括pendrive或卡适配器的品牌名称和/或型号)。

     sudo lsblk -o model,name,size,fstype,label,mountpoint 

    (您可以从此处复制并粘贴到终端窗口,以避免输入错误。)

    查看持久性实时驱动器/dev/sdd和克隆的纯实时驱动器/dev/sde可以生成以下输出,

     MODEL NAME SIZE FSTYPE LABEL MOUNTPOINT ... Extreme sdd 14,6G ├─sdd1 4,5G ntfs usbdata /media/sudodus/usbdata ├─sdd2 1M ├─sdd3 244M vfat usbboot ├─sdd4 874M iso9660 Lubuntu 16.04.1 LTS amd64 /media/sudodus/Lubuntu 16.04.1 LTS amd64 └─sdd5 9,1G ext4 casper-rw /media/sudodus/casper-rw Transcend 4GB sde 3,8G iso9660 Lubuntu 16.04.1 LTS i386 └─sde1 858M iso9660 Lubuntu 16.04.1 LTS i386 ... 

    插入内部插槽的存储卡可以识别为/dev/mmcblk0如以下示例所示,其中Intel NUC从SD卡插槽中的适配器中的microSD卡启动,

     MODEL NAME SIZE FSTYPE LABEL MOUNTPOINT mmcblk0 29.7G ├─mmcblk0p1 300M vfat EFI /boot/efi ├─mmcblk0p2 1M ├─mmcblk0p3 6.5G ext4 root / └─mmcblk0p4 512M swap [SWAP] 

    在这种情况下,不会列出任何型号名称。 您可能会确信,无论如何您正在“查看”该卡,但还有其他工具可以帮助您识别卡片, partedlspci

     sudo parted -ls Model: SD SP32G (sd/mmc) Disk /dev/mmcblk0: 31.9GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 316MB 315MB fat32 boot, esp 2 316MB 317MB 1049kB bios_grub 3 317MB 7262MB 6946MB ext2 root 4 7262MB 7799MB 537MB linux-swap(v1) lspci ... 00:1e.6 SD Host controller: Intel Corporation Sunrise Point-LP Secure Digital IO Controller (rev 21) ... 
    • 请尝试根据前一段中的列表,’驱动器是只读的:“在某些pendrives上……”,如果找不到驱动器。
    • 如果找到驱动器并将其识别为大容量存储设备,则希望您将根据下一章成功。

让我们希望“只有”混乱

尝试将驱动器还原到标准存储设备

安装并使用mkusb (mkusb-dus),它可以格式化别名将驱动器恢复到标准存储设备(带有MSDOS分区表和带有FAT32文件系统的分区)。 这些说明适用于多种驱动器( USB pendrives存储卡 ,硬盘驱动器, HDD ,固态驱动器, SSD ),但最常用于USB pendrives和存储卡。

如果您运行标准的Ubuntu,则可能需要额外的指令来获取存储库Universe。 (Kubuntu,Lubuntu …… Xubuntu自动激活了存储库Universe。)

 sudo add-apt-repository universe # only for standard Ubuntu sudo add-apt-repository ppa:mkusb/ppa # and press Enter sudo apt-get update sudo apt-get install mkusb mkusb-nox usb-pack-efi 

请参阅这些链接以及更详细的说明,

  • mkUSB-quick-start-manual.pdf或者如果链接不起作用,则为此备用链接

  • help.ubuntu.com/community/mkusb

mkusb版本12别名mkusb-dus: 在此处输入图像描述

mkusb擦除第一兆字节作为恢复它的第一步

有时一些数据“欺骗”软件认为驱动器不工作,即使它是好的,并且足以擦除第一兆字节以摆脱这些数据。 您可以使用工具“查看”驱动器,该工具无法正确识别或理解分区表或系统的结构,例如

  • 如果它是从iso文件克隆的,或者
  • 如果驱动器上有RAID配置的痕迹。

所以你可以

  • 让mkusb将驱动器恢复到标准存储设备(一种方便的标准解决方案),或
  • 让mkusb擦除第一个兆字节,之后使用另一个工具 ,如果你想要另一个分区表和/或其他文件系统。 如果您正在运行图形用户界面(窗口管理器或桌面环境), gparted是一个很好的工具。

如果mkusb失败该怎么办

如果mkusb失败,则系统找不到驱动器或只读驱动器。 在这种情况下,您应该尝试根据段落’驱动器是只读的’(上面)中的列表。

这有点晚了,但这是我的意见。

我的兄弟不知何故让他的闪存驱动器无法在Windows上运行,在Linux中只读。 尝试使用GParted制作新的分区表不起作用,所以我尝试了dd选项。 这也不起作用,但经过一些摆弄后,我使用了以下命令:

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

在此之后我可以再次使用GParted,它完美地工作。 显然第一个区块不是问题,但问题在于区块40和区块40之间。

首先卸载USB驱动器,然后使用GParted对其进行格式化。

通过运行sudo apt-get update然后运行sudo apt-get install gparted ,在软件中心(或终端/ Konsole中)安装gparted软件包。 这为您提供了GParted分区编辑器。

然后运行GParted。 在屏幕右上角的下拉菜单中找到设备列表中的MicroSD / USB驱动器。 确保您拥有合适的设备。 (您可以查看其大小以帮助衡量这一点。)如果您不小心格式化了具有重要数据的不同驱动器或Ubuntu系统,那将是非常糟糕的

选择正确的设备后,运行Device... > Create Partition Table... 使用默认选项(即,只需单击“ Apply ,不要更改“ Advanced下的选项)。 请注意,虽然GParted中的其他修改仅在应用更改时执行,但创建新分区表会清除驱动器上的所有修改, 并在单击“ Apply时立即执行

现在在设备上创建一个FAT32分区(如果它非常小,则为FAT16分区,例如只有几兆字节,或者如果您知道需要FAT16分区,例如,因为您按照要求FAT16分区的指示) 。 新的FAT32分区应覆盖整个驱动器(这是GParted中的默认设置)。 你会看到那里的分区,但这只是显示你应用更改时的样子。

然后应用您的更改(通过单击绿色复选标记)。 退出GParted。

您应该能够在任何Nautilus(即文件浏览器)窗口的左侧设备下找到新分区。 在Nautilus中的Devices下单击挂载分区。

现在你应该可以使用UNetbootin写入它。

我刚在Linux上测试过,你应该使用磁盘工具。 (系统>管理>磁盘工具)

  1. 如果已挂载,请单击unmount volume 。 如果出现错误,请尝试从桌面卸载它,如果仍然出现错误,则将其删除并再次插入。
  2. 单击format drive并保留默认值。 (这是主启动记录)
  3. 完成删除后,单击“ Create partition并选择“NTFS”并保留默认值。

这个步骤我自己测试了,如果还有别的,请告诉我。