はじめに
仕事場を別棟に移動する予定なので、仕事場⇔外付けHDD⇔自宅という環境を作りたくて方法を調べていました。また、iPhoneからもアクセスしたいなぁなんて考えてもいたら、現状の外付けHDDという資源を生かしつつ比較的簡単にできる方法に、Raspberry Pi を使って外付けHDDをNAS化するという方法を実行してみる事にしました。
今回はその手順を紹介しますね。
必要なもの
NAS構築を始める前に、準備した機材とソフトウェアを紹介します。

ハードウェア
- Raspberry Pi Zero 2 W(本体)
- microSDカード(32GB以上推奨)
- 外付けHDD(USB接続、容量は用途に応じて)
- USB電源アダプター
- PC(初期設定用)
ソフトウェア
- Raspberry Pi Imager(公式サイトからダウンロード)
Raspberry Pi OSのインストール
まず、Raspberry PiにOSを作業PCにインストールする作業から始めます。この工程では、公式ツールのRaspberry Pi Imagerを使用することで、簡単かつ確実にOSを書き込むことができます。
Raspberry Pi Imagerのインストール
公式サイト(https://www.raspberrypi.com/software/)から、使用しているPC(Windows/Mac/Linux)に対応したRaspberry Pi Imagerをダウンロードし、インストールします。
OSの書き込み設定
microSDカードを作業用PCにセットして、Raspberry Pi Imagerで以下の設定を行います。
OS選択
- 「Raspberry Pi OS(32-bit)」を選択します。

ストレージ選択
- SDHC Card(microSDカード)を選択します。

詳細設定
以下の項目を設定します。
- ホスト名:
raspi-nas(任意の値) - ユーザー名:
user(任意の値) - パスワード: 任意の安全なパスワード
- ロケーション: Tokyo
- SSHを有効化: 「パスワード認証を使用」にチェック
- Raspberry Pi Connect: OFFのまま

設定完了後、「書き込む」をクリックしてOSをmicroSDカードに書き込みます。書き込みが完了したら、microSDカードをRaspberry Piに挿入します。
Raspberry Piの初期設定
起動確認
Raspberry Piに電源を接続し、起動を待ちます。数分後、PCのターミナル(コマンドプロンプト)から以下のコマンドで接続確認を行います。※この時はまだ外付けHDDは接続しません。
ping raspi-nas.local
応答があれば、正常に起動しています。
SSH接続
以下のコマンドでSSH接続します。Raspberry Pi Imagerで設定したユーザー名とホスト名で接続します。
ssh user@raspi-nas.local
初回接続時は接続確認のメッセージが表示されるため、yesと入力してEnterキーを押します。その後、設定したパスワードを入力してログインします。
システムのアップデート
セキュリティと安定性を確保するため、OSを最新状態にアップデートします。
sudo apt update
sudo apt upgrade -y
この作業には数分から数十分かかる場合があります。
外付けHDDの接続とフォーマット
システムの準備ができたら、NASのメインストレージとなる外付けHDDを設定します。

HDDの認識確認
外付けHDDをRaspberry PiのUSBポートに接続し、以下のコマンドで認識を確認します。
lsblk
sdaやsda1といったデバイスが表示されれば、HDDが正常に認識されています。
ファイルシステムの確認
次に、HDDの現在のファイルシステムを確認します。
lsblk -f
私の場合は以下のように表示されましたので、NTFSフォーマットであることがわかりました。
sda
└─sda1 ntfs 3.6T 0% /media/user/disk
NTFSなど、Linux以外のファイルシステムでフォーマットされている場合は、ext4に再フォーマットする必要があります。
ext4フォーマットの実行
NAS専用ストレージとして最適なext4ファイルシステムにフォーマットします。注意点として、この作業を行うとHDD内の全データが消去されます。
ステップ1: HDDのアンマウント
sudo umount /dev/sda1
ステップ2: ext4でフォーマット
sudo mkfs.ext4 /dev/sda1
途中で確認メッセージが表示されたら、yを入力してEnterキーを押します。
ステップ3: マウント用ディレクトリの作成
sudo mkdir -p /mnt/nas
ステップ4: UUIDの確認
自動マウント設定に必要なUUIDを確認します。
lsblk -f
sda1の行に表示されるUUID(例: a1234567-60b1-43c2-d8bd-efg247hi0j00)をメモまたはコピーします。
ステップ5: 自動マウント設定
システム起動時に自動的にHDDをマウントするよう設定します。
sudo nano /etc/fstab
ファイルの最後に以下の行を追加します(UUIDは先ほど確認した値に置き換えてください)。
UUID= a1234567-60b1-43c2-d8bd-efg247hi0j00 /mnt/nas ext4 defaults,nofail 0 2
保存はCtrl + OでEnterキー、終了はCtrl + Xです。
ステップ6: マウントの確認
設定が正しく行われたか確認します。
sudo mount -a
df -h
/dev/sda1が/mnt/nasにマウントされていれば成功です。
ステップ7: 所有権の変更
ユーザーがファイルを自由に読み書きできるよう、所有権を変更します。
sudo chown -R user:user /mnt/nas
確認コマンド:
ls -ld /mnt/nas
drwxr-xr-x user userと表示されればOKです。
Sambaのインストールと設定
HDDの準備が整ったら、Windowsやスマートフォンからアクセスできるよう、Sambaをインストールします。
Sambaのインストール
Sambaは、LinuxシステムをWindowsのネットワークドライブとして使用可能にするソフトウェアです。
sudo apt update
sudo apt install -y samba samba-common-bin
インストール確認:
smbd --version
バージョン情報が表示されれば、正常にインストールされています。
Samba設定ファイルの編集
Sambaの動作を定義する設定ファイルを編集します。
sudo nano /etc/samba/smb.conf
ファイルの最後に以下の内容を追加します。
[nas]
path = /mnt/nas
browseable = yes
writable = yes
guest ok = no
create mask = 0664
directory mask = 0775
各項目の意味は以下の通りです。
path: 共有するディレクトリのパスbrowseable: ネットワーク上で表示するかwritable: 書き込み可能にするかguest ok: ゲストアクセスを許可するか(noで認証必須)create mask: 新規ファイルの権限directory mask: 新規ディレクトリの権限
保存して終了します。
Sambaユーザーの追加
Sambaにアクセスするためのユーザーを登録します。※PCやiPhoneからアクセスするときに使用するユーザとパスワードです。
sudo smbpasswd -a user
パスワードを2回入力します(Windows等からアクセスする際に使用します)。
ユーザーを有効化します。
sudo smbpasswd -e user
Sambaの起動と有効化
Sambaサービスを再起動し、システム起動時に自動起動するよう設定します。
sudo systemctl restart smbd
sudo systemctl enable smbd
動作確認:
sudo systemctl status smbd
active (running)と表示されれば、正常に動作しています。
ネットワークからのアクセス方法
Sambaの設定が完了したら、実際に各デバイスからアクセスしてみましょう。
Raspberry PiのIPアドレス確認
接続に必要なIPアドレスを確認します。
ip -4 addr show wlan0
inetの後に表示される数値(例: 192.168.10.123)がIPアドレスです。
Windowsからのアクセス
Windowsのエクスプローラーを開き、アドレスバーに以下のように入力します。
\\192.168.10.123
ユーザー名とパスワードの入力を求められたら、Sambaユーザーとして設定した認証情報を入力します。
iPhoneからのアクセス
iPhoneの「ファイル」アプリからもアクセス可能です。
- 「ファイル」アプリを開く
- 右上の「︙」→「サーバへ接続」を選択
- サーバ名に以下を入力
smb://192.168.10.123
- ユーザー名とパスワードを入力
これで、スマートフォンからもファイルのアップロード・ダウンロードが可能になります。
運用上の注意点
NASの構築は完了しましたが、長期運用において重要な注意点があります。
HDDの連続回転問題
実運用で確認したところ、Raspberry Pi Zero 2 Wは常にUSBポーリングを行うため、接続されたHDDが回転し続ける現象が発生しました。
これは、Raspberry Piがデバイス存在確認(Keep Alive)信号を継続的に送信し、USB-SATAチップがこれを「アクセスがある」と誤認識するためです。
対策と運用方法
HDDの寿命を考慮すると、使用しないときは電源を切る暫定運用としました。
使用しないときはシステムを停止する
sudo shutdown now
このコマンドでRaspberry Piをシャットダウンすると、HDDの回転も停止。必要なときだけ電源を入れて使用することで、HDDの寿命を延ばすことができます。
まとめ
Raspberry Pi Zero 2 Wを使用した外付けHDDのNAS化手順を紹介しました。低コストで実用的なNASを構築できる一方、HDDの連続回転という運用上の課題が残る結果となりました。今後、何らかの対応を考えたいと思います。
