Raspberry Piで増設ハードディスクやUSBメモリを使う

Raspberry PiのメインストレージはmicroSDなので、大容量のストレージを扱うためにUSBマスストレージデバイスを繋いで使ってみる。

USBハードディスク(USBメモリ)のマウントと初期化

GPTパーティションも扱えるようにgdiskをインストールする。(完全な初期化をしない場合や、GPTパーテイションを作成しない場合は不要。)

sudo apt-get install -y gdisk

接続したUSBハードディスクと同じ容量のデバイス名(例:/dev/sda)をfdiskコマンドで確認する。

sudo fdisk -l

USBハードディスクを完全に初期化する。(完全な初期化をしない場合は不要。)

sudo sgdisk -Z /dev/sda

USBハードディスクにMBRパーティションを作成する。(GPTパーティションを作成する場合は「sudo gdisk /dev/sda」)

sudo fdisk /dev/sda

以後は、pでパーティション一覧の表示、dでパーティションの削除、nでパーティションの作成、wでパーティションの変更を実際にディスクに反映させる、qで終了となる。

  1. 「Command (m for help): 」が出たら「n」を入力してパーティションの作成を開始する。
  2. 「Select (default p): 」が出たら、Enterキーを押して、基本パーティションを選択する。
  3. 「Partition number (1-4, default 1): 」が出たら、Enterキーを押して、パーティション1の作成を指定する。
  4. 「First sector (2048-1234567890, default 2048): 」が出たら、Enterキーを押して、ディスクの先頭を指定する。
  5. 「Last sector, +sectors or +size{K,M,G,T,P} (2048-1234567890, default 1234567890): 」が出たら、Enterキーを押して、ディスクの末尾を指定する。
  • ※1234567890の部分はディスクの容量によって異なる。
  • ※「Do you want to remove the signature? [Y]es/[N]o: 」が出たら「Y」を入力する。

FAT32フォーマットする場合は、パーティションの種類をW95 FAT32に設定する。

  1. 「Command (m for help): 」が出たら、「t」を入力してパーティションの種類を指定する。
  2. 「Partition type (type L to list all types): 」が出たら「b」を入力して、W95 FAT32を指定する。

最後にパーティションの作成や変更を実際にディスクに反映させる。

  1. 「Command (m for help): 」が出たら、「w」を入力する。

USBハードディスクのパーティション1(/dev/sda1)をext4でフォーマットする。

sudo mkfs.ext4 /dev/sda1
  • ※「Creating journal (262144 blocks):」が出たら、Enterキーを押す。

FAT32フォーマットする場合は、以下の通り。-cオプションで不良ブロックのチェック、-vオプションで詳細表示が行える。

sudo mkfs.vfat -F 32 /dev/sda1

USBハードディスクのUUIDを確認する。

sudo blkid /dev/sda1
  • ※「/dev/sda1: UUID="ab123cd4-ef56-78gh-9ij0-12kl34mn56op" TYPE="ext4" PARTUUID="78qr90st-01"」のように表示される。UUIDはディスクごとに異なる。

USBハードディスクをマウントする。(UUIDでマウントする場合は「sudo mount -U ab123cd4-ef56-78gh-9ij0-12kl34mn56op /mnt」)

sudo mount /dev/sda1 /mnt

USBハードディスクをアンマウントする。

sudo umount /mnt

/etc/fstabに設定を追加する。

sudo sh -c 'echo '\''UUID="ab123cd4-ef56-78gh-9ij0-12kl34mn56op"  /mnt  ext4  defaults  0  2'\'' >> /etc/fstab'
  • ※UUID="ab123cd4-ef56-78gh-9ij0-12kl34mn56op"の部分は/dev/sda1でも良いが、複数のUSBハードディスクを接続した際に/dev/sda1が/dev/sdb1等になる可能性がある。
  • FAT32フォーマットの場合はext4の部分をvfatに置き換える。
  • ※USBハードディスクを接続していない場合、システムの起動が途中で止まってしまうので、接続しない場合は/etc/fstabに追加した設定を削除する。

/etc/fstabの設定でマウントできるか確認する。

sudo mount -a