Raspberry Pi 4にSDカードを追加(マウント)

Linux
この記事は約8分で読めます。

 

 

Raspberry Pi 4にデータ保存用のSDカードを追加しました。

ゆくゆくはSambaでファイル共有できる場所として使えたらと考えています。

 

 

                 

環境

OS情報

$ cat /etc/os-release 
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

 

SDカードとカードリーダー

SDカードは、Samsungの16GB CLASS10のMicroSDカードを使いました。

カードリーダーはRaspberry Pi 4のセットに付属していたものです。USB2.0に対応しています。

 

 

SDカードの取り付け(USB)

 

まずはSDカードをRaspberry Piに取り付けます。

 

SDカードが認識されているかを確認します。

カードリーダーをUSBソケット挿入後にlsblkした結果です。

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 14.9G 0 disk
└─sda1 8:1 1 14.9G 0 part
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29.5G 0 part /

16GBのSDカードがsda1という名前で認識されていることが確認できたのでフォーマットをしていきます。

※このSDカードはWindows10でフォーマット済みですが、後々にトラブルの原因になると嫌なので念のためRaspberry Pi OSでフォーマットしておきます。

 

 

SDカードのフォーマット

 

続いてフォーマット作業をします。

 

パーティション削除

 

まずはSDカードに存在するパーティションを削除していきます。

使用したSDカードはパーティションはないはずですが念のため。

$ sudo fdisk /dev/sda1

Welcome to fdisk (util-linux 2.33.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d   ←dと入力しEnterキー

 

No partition is defined yet!と表示されました。

これはSDカード上にパーティションが存在しないという意味です。

ということで、次に進みます。

 

 

パーティションが存在している場合の対応は今後追記していきます。

 

 

 

 

 

パーティション作成

 

続いて、パーティションを作成していきます。

パーティション作成は n を入力します。

Command (m for help): n

 

データストレージとして使用するので p と入力します。

Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p

 

パーティション番号を入力します。

意図がなければ何も入力せずEnterキーでデフォルトの1が選択されます。

Partition number (1-4, default 1): 

 

 

最初と最後のセクタを指定します。

SDカードの全領域を使用するので何も入力せずにEnterキーを押します。

First sector (2048-31283199, default 2048): 
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-31283199, default 31283199): 

 

 

パーティションが作成されました。

Created a new partition 1 of type 'Linux' and of size 14.9 GiB.

 

 

wと入力し、パーティションテーブルの変更を保存して終了します。

Command (m for help): w

The partition table has been altered.
Syncing disks.

 

 

フォーマット

 

今回はFAT32というファイルシステムでフォーマットします。

$ sudo mkfs.vfat -F 32 /dev/sda1
mkfs.fat 4.1 (2017-01-24)

 

FAT32でフォーマットされました。

$ sudo fdisk -l
~省略~
Disk /dev/sda: 14.9 GiB, 16021192704 bytes, 31291392 sectors
Disk model: Storage Device  
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x41402b79

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1        8192 31291391 31283200 14.9G  c W95 FAT32 (LBA)

 

 

ディスクのマウント

 

SDカードにパーティションを作成して、フォーマットしたらすぐ使えるというわけではありません。

フォーマットしたSDカードをマウントする必要があります。

 

 

まずは、マウント先のディレクトリを作成します。

$ mkdir -p /home/pi/sd

 

 

一時的に使用するのであればmountコマンドでマウントすればOKです。

$ sudo mount /dev/sda1 /home/pi/sd/

ただしこの方法はOSを再起動するとマウントが外れてしまい、再度マウントしないと使用できなくなります。

 

 

マウントし続けるためには/etc/fstabにマウント情報を書き込みます。

/etc/fstabにディスク情報(ここでは/dev/sda1)を書いてもいいのですが、何かの拍子にディスク情報が書き換わってしまった時にマウントに失敗したり、そもそも起動しなくなる可能性があるので、一意の値であるUUIDを書きます。

 

UUIDは次のように確認します。

$ blkid 
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="B05C-D0C4" TYPE="vfat" PARTUUID="0d0342f2-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="075b0d0c-7b1e-4855-9547-125591698723" TYPE="ext4" PARTUUID="0d0342f2-02"
/dev/sda1: UUID="35EE-1E54" TYPE="vfat" PARTUUID="41402b79-01"

私の場合、/dev/sda1のUUIDは『35EE-1E54』であることが分かりました。

 

続いて、ユーザーの指定をするためにuidとgidを調べます。

$ id
uid=1000(pi) gid=1000(pi)~省略~

piというユーザーのidが分かりました。

 

 

これらの情報をもとに、/etc/fstabに追記します。

$ sudo vi /etc/fstab

UUID="35EE-1E54" /home/pi/sd vfat uid=1000,gid=1000 0 1

 

設定後に再起動をして、マウントされていること、書き込みができることを確認して完了です。

# マウント確認
$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
/dev/root         29G  7.1G   21G   26% /
devtmpfs         1.7G     0  1.7G    0% /dev
tmpfs            1.9G     0  1.9G    0% /dev/shm
tmpfs            1.9G  8.6M  1.9G    1% /run
tmpfs            5.0M  4.0K  5.0M    1% /run/lock
tmpfs            1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mmcblk0p1   253M   49M  204M   20% /boot
/dev/sda1         15G   32K   15G    1% /home/pi/sd
tmpfs            379M  4.0K  379M    1% /run/user/1000

 

# 書き込みテスト
$ echo "hello" > /home/pi/sd/test

 

これでSDカード追加完了です。

 

/etc/fstabの記述ミスでRaspberry Piが起動しなくなりました

 

解決済みですが、/etc/fstabの記述ミスでRaspberry Pi OSが正常に起動しない事象が発生しました。

コメント

タイトルとURLをコピーしました