无法格式化我的 U 盘。我已经尝试过 mkdosfs 和 gparted

Mau*_*res 18 live-usb format usb gparted ram

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

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

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

sud*_*dus 35

问题分析

存储卡和 U 盘的内部硬件相同,因此相同的方法适用于两种设备。术语“驱动器”既可以指 USB 随身碟,也可以指存储卡(存储卡可以通过 USB 适配器或计算机的内置插槽连接)。

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

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

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

    lsusb -v
    
    Run Code Online (Sandbox Code Playgroud)

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

    sudo lsblk -f
    sudo lsblk -m
    
    Run Code Online (Sandbox Code Playgroud)

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

    sudo lsblk -o model,name,size,fstype,label,mountpoint
    
    Run Code Online (Sandbox Code Playgroud)

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

    查看永久实时驱动器/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  
    ...
    
    Run Code Online (Sandbox Code Playgroud)

    插入内部插槽的存储卡可能会被识别为/dev/mmcblk0如下例所示,其中英特尔 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]
    
    Run Code Online (Sandbox Code Playgroud)

    在这种情况下,没有列出型号名称。您可能会确信,无论如何您都在“查看”卡片,但是还有其他工具可以帮助您识别卡片,parted并且lspci

    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)
    ...
    
    Run Code Online (Sandbox Code Playgroud)
    • 如果未找到驱动器,请按照上一段中的列表“驱动器为只读:“在某些笔式驱动器上...””进行尝试。
    • 如果该驱动器被发现并被识别为大容量存储设备,则希望您根据下一章成功。

让我们希望有“唯一”的困惑

尝试将驱动器恢复到标准存储设备

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

如果您运行标准的 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
Run Code Online (Sandbox Code Playgroud)

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

mkusb 版本 12 别名 mkusb-dus: 在此处输入图片说明

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

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

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

这样你就可以

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

如果 mkusb 失败怎么办

如果 mkusb 出现故障,则系统未找到该驱动器或该驱动器为只读驱动器。在这种情况下,您应该根据“驱动器为只读”(上面)段落中的列表进行尝试。


小智 10

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

我哥哥不知怎么让他的闪存驱动器在 Windows 上无法运行,而在 Linux 中只能读取。尝试使用 GParted 创建新的分区表不起作用,所以我尝试了 dd 选项。这也不起作用,但经过一番摆弄后,我使用了以下命令:

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

在此之后,我可以再次使用 GParted,并且效果很好。显然第一个区块不是问题,但问题出在那里和第 40 个区块之间。


小智 5

先卸载U盘,然后用GParted格式化。


Eli*_*gan 4

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

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

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

现在在设备上创建一个 FAT32 分区(如果分区非常小,例如只有几兆字节,或者您知道需要 FAT16 分区,则创建 FAT16 分区,例如,因为您正在遵循要求 FAT16 分区的说明) 。新的 FAT32 分区应覆盖整个驱动器(这是 GParted 中的默认设置)。您将在那里看到分区,但这只是向您展示应用更改后的样子

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

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

现在您应该能够使用 UNetbootin 对其进行写入。