USBメモリをLinuxのコマンドラインからフォーマット(初期化)する方法

 この記事では、USBメモリを、Linuxのコマンドラインからmkfsユーティリティを使用して、フォーマット(初期化)する方法を説明します。この方法は外付けのHDD、SSDまたはUSBフラッシュドライブに使えます。


0. はじめに

 いきさつを簡単に延べます。
 手元にあった4GBのUSBメモリを使って、Linux OS (Fedora36)のインストール用ドライブを作成しました。
 パソコンにインストールが無事に済んで、そのUSBメモリを別の目的で再使用しようとしましたが、ファイルの消去ができず、WindowsではUSBメモリの認識さえできませんでした。
 そこで、いろいろ探した結果、この方法に辿り着きました。
 この記事は「LinuxでUSBドライブのフォーマット - コマンドライン」[1]というサイトを参考にしています。


1. 手順

 やり方は次の(1)〜(3)のとおりです。
 ここでは、Linux OSとしてFedora36を使用しています。

(1) まず、USBメモリを挿入し、lsblkコマンドを実行して、フォーマットするUSBメモリ上のパーティションの名前を確認します。

$ lsblk -fp
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
/dev/sda
├─/dev/sda1
・・・
(省略)
・・・
/dev/sdb
    iso966 Jolie Fedora-WS-Live-36-1-5 2022-05-04-21-36-58-00
├─/dev/sdb1
│   iso966 Jolie Fedora-WS-Live-36-1-5
│ 2022-05-04-21-36-58-00 0 100% /run/media/user01/Fedora-WS-Live-36-1-5
├─/dev/sdb2
│   vfat FAT16 ANACONDA
│     1F4B-F0F7
└─/dev/sdb3
    hfsplu ANACONDA
28d52925-499c-3a1f-b20d-34e524d3b6ba
・・・
(省略)

 この例では、USBメモリは、/run/media/user01/Fedora-WS-Live-36-1-5 にマウントされたパーティション /dev/sdb1 を持つ /dev/sdb という名前のディスクとしてOSに認識されています。

(2) 次に、USBメモリがマウントされている場合は、マウントを解除します。

$ su
パスワード:xxxxx
# umount /run/media/user01/Fedora-WS-Live-36-1-5

(3) USBメモリを目的の形式にフォーマット(初期化)し、必要ならばラベルを作成します。

 注意事項として、USBメモリをフォーマット(初期化)すると、そのUSBメモリのドライブにあるデータがすべて失われます。
 ここでは、まず、FAT32(vFAT)形式にフォーマットしてみました。ラベルはFAT32としています。

# mkfs.fat -F 32 /dev/sdb1 -n "FAT32"
mkfs.fat 4.2 (2021-01-31)

 これで、FAT32(vFAT)形式にフォーマット(初期化)されました。

 いったん、USBメモリを引き抜いて、数秒待った後に、再度、挿入すると、今度は空き容量が2GBのUSBメモリとして認識されました。

# lsblk -fp
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
/dev/sda
├─/dev/sda1
・・・
(省略)
・・・
/dev/sdb
    vfat FAT32 FAT32 5A6A-0309 1.9G 0% /run/media/user01/FAT32
・・・
(省略)

 あれ? なにかおかしいですね。
 最初は4GBの容量があったはずなのに、2GBまで減っています。

 ということで、再度、フォーマット形式を変更してやり直してみました。
 今度は、exFATの形式でフォーマットしました。ラベルはEXFATとしています。

# umount /run/media/user01/FAT32
# mkfs.exfat /dev/sdb -n "EXFAT"
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sdb, cluster size=32768)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!

 これでフォーマット(初期化)されたはずなので、いったん、USBメモリを引き抜いて、数秒待った後に、再度、挿入すると、今度は空き容量が4GBのUSBメモリとして認識されました。

# lsblk -fp
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
/dev/sda
├─/dev/sda1
・・・
(省略)
・・・
/dev/sdb
    exfat 1.0 EXFAT EFDB-190E 3.8G 0% /run/media/user01/EXFAT
・・・
(省略)

 これで、USBメモリは、正常にフォーマット(初期化)されました。


2. USBメモリのフォーマット形式について

 なお、フォーマット(初期化)したい形式によって、必要なmkfsコマンドは異なります。

 FAT32の場合、

# mkfs.fat -F 32 /dev/sdb1 -n "LABEL"

 exFATの場合、

# mkfs.exfat /dev/sdb1 -n "LABEL"

 NTFSの場合、

# mkfs.ntfs /dev/sdb1 -L "LABEL"

 ext4の場合、

# mkfs.ext4 /dev/sdb1 -L "LABEL"

 xfsの場合、

# mkfs.xfs -f /dev/sdb1 -L "LABEL"

となります。


3. あとがき

 USBメモリを、Linuxのコマンドラインからmkfsユーティリティを使用して、フォーマット(初期化)する方法を、著者の体験を踏まえて説明しました。
 USB ドライブをフォーマット(初期化)すると、そのドライブ上のデータが失われる点は充分ご注意下さい。


References

[1] LinuxでUSBドライブのフォーマット
https://tutorialcrawler.com/hardware/


(2022-10-9)




■ 以前の記事

→ 「Linux豆知識(Linux Tips)」に関する以前の記事は、こちらをごらん下さい。

Fedora30(Linux)の起動時間を早くする方法

Fedora32(Linux)でDVDを再生する方法

Fedora 34 を 35 にバージョンアップしたら音がでなくなったときの対処法

PDFファイルにパスワードを設定する方法

flvファイルをmp4ファイルに変換する/サイズの大きな動画を縮小する(ffmpeg)