У меня есть микро 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
Таким образом, я хочу стереть диск, повторно разделить его и переформатировать к новой фс (вероятно, 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
Если я удаляю и повторно вставляю устройство, старый раздел и фс все еще здесь.
Я подозреваю, что gvfs содержит блокировку на устройстве, предотвращая любую запись на нем:
$ sudo lsof /dev/mmcblk0
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
Так, есть ли способ стереть мой диск?
Просто обнулите диск и создайте новую таблицу разделов.
Обнуление Диска:
sudo dd if=/dev/zero of=/dev/mmcblk0
Для составления новой parition таблицы просто используйте GParted или подобный инструмент.