J'ai une carte micro SD (/ dev/mmcblk0) avec une partition (/ dev/mmcblk0p1).
Il y a un système de fichiers btrfs dessus, qui ne monte pas. Lorsque je l'insère, un message d'erreur s'affiche sur le bureau:
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
Je veux donc effacer le disque, le re-partitionner et le reformater dans un nouveau fs (probablement ext4).
Mon problème est que je ne peux pas le faire. fdisk et gparted essaient de le faire, mais ne lisent pas à nouveau la table de partition:
$ 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
Si je retire et réinsère le périphérique, l'ancienne partition et le fichier fs sont toujours présents.
Je soupçonne que gvfs maintient un verrou sur le périphérique, empêchant toute écriture dessus:
$ Sudo lsof /dev/mmcblk0
lsof: WARNING: can't stat() Fuse.gvfsd-Fuse file system /run/user/1000/gvfs
Output information may be incomplete.
Alors, y a-t-il un moyen d'effacer mon disque?
Il suffit de mettre le lecteur à zéro et de créer une nouvelle table de partitions.
Mise à zéro du lecteur:
Sudo dd if=/dev/zero of=/dev/mmcblk0
Pour créer une nouvelle table de partition, utilisez simplement GParted ou un outil similaire.