web-dev-qa-db-ja.com

SDカードを再フォーマットする方法は?

マイクロSDカード(/ dev/mmcblk0)に1つのパーティション(/ 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.

だから、私のディスクを消去する方法はありますか?

3
alci

ドライブをゼロにして、新しいパーティションテーブルを作成するだけです。

ドライブのゼロ化:

Sudo dd if=/dev/zero of=/dev/mmcblk0

新しいパーティションテーブルを作成するには、GPartedまたは同様のツールを使用します。

2
Kaz Wolfe