我有一张微型 SD 卡(/dev/mmcblk0),上面有一个分区(/dev/mmcblk0p1)。
它上面有一个 btrfs 文件系统,无法挂载。当我插入它时,我在桌面上收到一条错误消息,内容是:
Error mounting /dev/mmcblk0p1 at /media/franck/mysdcard: Command-line `mount -t "btrfs" -o "uhelper=udisks2,nodev,nosuid" "/dev/mmcblk0p1" "/media/franck/mysdcard"' exited with non-zero exit status 32: mount: wrong fs type, bad option, bad superblock on /dev/mmcblk0p1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
所以我想擦除磁盘,重新分区并重新格式化为新的 fs(可能是 ext4)。
我的问题是我无法做到这一点。fdisk 和 gparted 尝试做到这一点,然后无法再次读取分区表:
$ sudo parted /dev/mmcblk0
GNU Parted 2.3
Using /dev/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: SD SD64G (sd/mmc)
Disk /dev/mmcblk0: 63.4GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 16.8MB 62.4GB 62.4GB primary btrfs
(parted) rm 1
(parted) print
Error: /dev/mmcblk0: unrecognised disk label
如果我移除并重新插入该设备,旧分区和 fs 仍然在这里。
我怀疑 gvfs 正在锁定该设备,从而阻止对其进行任何写入:
$ sudo lsof /dev/mmcblk0
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
那么,有没有办法擦除我的磁盘?
答案1
只需将驱动器清零并创建一个新的分区表。
将驱动器归零:
sudo dd if=/dev/zero of=/dev/mmcblk0
要创建新的分区表,只需使用 GParted 或类似工具。