使用坏分区 table 格式化 USB(只读 fs)

Format USB with bad partition table (read-only fs)

我的 Ubuntu 机器无法格式化 USB 驱动器。我认为问题起源于我在 Windows VM 中使用 Rufus 或 UNetBootin 并出现蓝屏。那里没有重要数据,我只是想能够使用它。这可能不值得麻烦,但我想了解问题以防再次发生。我尝试了各种工具,但其中 none 似乎不够低级以重写分区 table。

这是我尝试过的一些工具的输出结果。正如您所注意到的,没有 sdb1 或任何找到的分区,因为 table 不可读。如果唯一的解决方案是使用一些“.exe”,我也可以使用 Windows 主机,但如果可能的话我宁愿使用 UNIX 终端工具。

ls -l /dev/ | grep sdb
brw-rw----  1 root disk        8,  16 Mar 26 10:57 sdb

sudo hdparm -r0 /dev/sdb
/dev/sdb:
 setting readonly to 0 (off)
 readonly      =  0 (off)

sudo partprobe -s /dev/sdb
Warning: Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
Warning: Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
Warning: Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
/dev/sdb: msdos partitions

sudo gparted /dev/sdb
libparted : 3.2
Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
Unable to open /dev/sdb read-write (Read-only file system).  /dev/sdb has been opened read-only.
/dev/sdb: unrecognised disk label

sudo fdisk -l /dev/sdb
Disk /dev/sdb: 15 GiB, 16106127360 bytes, 31457280 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

sudo partx -l /dev/sdb
partx: /dev/sdb: failed to read partition table

sudo partx -d /dev/sdb
partx: specified range <1:0> does not make sense

sudo fsck.fat -n /dev/sdb
fsck.fat 3.0.28 (2015-05-16)
Logical sector size (65535 bytes) is not a multiple of the physical sector size.

sudo blkid -pi /dev/sdb
DEVNAME=/dev/sdb
MINIMUM_IO_SIZE=512
PHYSICAL_SECTOR_SIZE=512
LOGICAL_SECTOR_SIZE=512

sudo wipefs -a /dev/sdb
wipefs: error: /dev/sdb: probing initialization failed: Read-only file system

显然 Ubuntu 上的 Startup Disk Creator 根本不关心驱动器上有什么。我想它总是创建自己的分区 table。所以我将它与 Ubuntu 图像一起使用,假设它会失败并且非常惊讶。然后我使用 GParted 有一个空的 FAT32 分区,现在我可以毫无问题地使用我的驱动器(除了未来的格式)。奇怪的是,GParted 首先以为我的驱动器是 60GB 并成功创建了一个分区 table 但是创建分区失败了。错误信息后,驱动器的大小正确显示为16GB,因此我成功创建了分区。

遇到同样的问题,卸载然后格式化对我有用,

此处假设 /dev/sdb1 是我的设备所在的位置。

sudo umount /dev/sdb1
sudo mkdosfs -F 32 -I /dev/sdb1