USBストレージにext4のファイルシステムを作成してRaspberry Piにマウントする
USBストレージにext4のファイルシステムを作成してRaspberry Piにマウントしてみました。
はじめに
使用していないUSBストレージがありましたのでせっかくなのでext4のファイルシステムを作成してRaspberry Piにマウントしてみることにしました。
このUSBストレージのサイズは8Gで数年前にWindows10のイメージを作成するために購入したものだったかと思います。
USBデバイスをext4でフォーマット
USBストレージの接続
ラズパイにUSBストレージをmicro USB OTGケーブルを使用して接続します。
接続したら以下のコマンドでUSBストレージがブロックデバイスとして認識されているかを確認しました。
lsblk
結果は以下です。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 7.2G 0 disk
└─sda1 8:1 1 7.2G 0 part
mmcblk0 179:0 0 29.1G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 28.8G 0 part /
NAMEがsdaのデバイスが増えていましたので接続したUSBストレージがブロックデバイスとして認識されていることが確認できます。
次にUSBストレージの現在のファイルシステムの種類を以下のコマンドで確認しました。
blkid /dev/sda1
結果は以下です。
/dev/sda1: LABEL="WDO_MEDIA64" UUID="A0EF-D6B5" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="46cc5cb1-01"
このUSBストレージの現在のファイルシステムの種類は vfat となっていました。
USBストレージにパーテーションの作成
まずはUSBストレージにパーテーションを作成します。
sudo parted /dev/sda
以下のように表示されます。
GNU Parted 3.4
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
まずはprintを入力して現在のパーティションテーブルを表示します。
(parted) print
以下のように表示されました。利用しているUSBストレージの容量は8GBです。
Model: TOSHIBA TransMemory (scsi)
Disk /dev/sda: 7750MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 32.3kB 7750MB 7750MB primary fat32 boot, lba
はじめに新しいパーティションテーブルを作成します。タイプはGUIDパーティションテーブル(GPT)にしました。
(parted) mklabel gpt
すべてのデータを失ってもいいですか?の警告が表示るので確認して Yes を入力します。
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No?
GUIDパーティションテーブルが作成されているか確認します。
(parted) print
「Partition Table: gpt」となっているので無事作成されました。
Model: TOSHIBA TransMemory (scsi)
Disk /dev/sda: 7750MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
Access Red Hat’s knowledge, guidance, and support through your subscription.
パーテーションテーブルの作成ができましたので次はパーテーションを作成します。
(parted) mkpart primary ext4 0G 8G
パーテーションが作成できているか確認します。
(parted) print
Number 1 のパーテーションが作成されました。
Model: TOSHIBA TransMemory (scsi)
Disk /dev/sda: 7750MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 7750MB 7749MB ext4 primary
パーテーションの作成ができましたのでpartedを終了します。
(parted) quit
Access Red Hat’s knowledge, guidance, and support through your subscription.
USBストレージをext4でフォーマット
ファイルシステムはLinuxで最も一般的なext4を採用することにしました。
大きなボリュームサイズ(1EiBまで)とファイルサイズ(16TiBまで)に対応していることやサブディレクトリの数に上限がないことなどがext4ファイルシステムの特徴です。
それではUSBストレージに作成したパーテーションにext4のファイルシステムを作成します。
sudo mkfs.ext4 /dev/sda1
続行するかの確認が表示されますので y を入力します。
mke2fs 1.46.2 (28-Feb-2021)
/dev/sda1 contains a ext4 file system
created on Mon Feb 5 20:31:49 2024
Proceed anyway? (y,N)
ジャーナルのサイズを聞かれますのでそのままエンターを入力してデフォルトのサイズにしました。
Creating filesystem with 1891840 4k blocks and 473280 inodes
Filesystem UUID: 21c8ede1-b3ee-4e60-afbd-1f21d9a3b346
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks):
少し待つと以下のメッセージが表示されファイルシステムの作成が完了しました。
done
Writing superblocks and filesystem accounting information: done
作成したブロックデバイスの属性を確認します。
blkid /dev/sda1
TYPEがext4になっていますので無事ext4のファイルシステムを作成することができました。
/dev/sda1: UUID="2407354d-f1ce-4a3f-a256-9d531f54b40d" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="c13c91a4-35dc-40fc-905d-178771f9e0ef"
Access Red Hat’s knowledge, guidance, and support through your subscription.
USBストレージに作成したext4ファイルシステムをマウントする
mountコマンドでマウントして確認
まずは mount コマンドでマウントして動作するか確認しました。
最初にマウントするフォルダを作成します。マウントする場所は /mnt/usb にしました。
sudo mkdir /mnt/usb
それでは mount コマンドでマウントします。
sudo mount /dev/sda1 /mnt/usb
マウントできているか df コマンドで確認します。
df -h /mnt/usb
以下が表示されましたのでマウントできていました。
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.1G 28K 6.7G 1% /mnt/usb
マウントしたディレクトリにファイルを作成できるか確認しました。
sudo cp /etc/passwd /mnt/usb/
ls /mnt/usb/
ファイルが作成できていましたので問題なさそうなのでアンマウントしておきます。
sudo umount /mnt/usb
fstab にマウントする設定を追加する
自動でマウントするように fstab に設定を追加します。
sudo vi /etc/fstab
以下の設定を追加しました。PARTUUID には blkid コマンドで確認した内容を設定しています。
PARTUUID=c13c91a4-35dc-40fc-905d-178771f9e0ef /mnt/usb/ ext4 defaults,x-systemd.automount,noatime,nofail 0 1
fstabに設定を追加したので手動でmountコマンドを実行してマウントされるか確認しました。
sudo mount -a
マウントされることが確認できましたので再起動してもマウントされるているか確認を行いました。
今回は、「/etc/fstab」ファイルについて見てみましょう。 「/etc/fstab」ファイルは、マウント
おわりに
今回は使用していない(壊れてもいい)USBストレージにext4のファイルシステムを作成してラズパイにマウントしてみました。
USBデバイスをコマンドでフォーマットする機会は普段あまりないので勉強になりました。