優れたソフトウェアと実用的なチュートリアル
OpenWrtを使ってUSBをマウントし、USBドライブにソフトウェアをインストールする方法
OpenWrt マウント USB ルーターのメモリ容量が少なく、インストールスペースがそれほど大きくない場合は、OpenWrtをシステムストレージとしてUSBメモリにマウントすることを検討してください。この方法では、OpenWrtはソフトウェアパッケージをUSBフラッシュドライブにインストールするため、ソフトウェアのサイズを気にする必要がありません。
USB のマウントについては、OpenWrt の公式ドキュメントを参照してください。https://openwrt.org/docs/guide-user/storage/usb-drives-quickstart
まず、OpenWrt マウント USB パッケージ リストをインストールする必要があります。
ステップ1: OpenWrtがUSBをマウントするために必要なソフトウェアをインストールする
- kmod-usb-ohci USB チップ ドライバー。
- kmod-usb2、kmod-usb3 USB2.0、USB3.0 ドライバー。
- kmod-USBストレージ、kmod-usb-ストレージ-extraUSB、kmod-USBストレージ-UASストレージ ドライバー。
- ブロックマウント、ブロックされたプログラムをマウントします (インストールが完了し、再起動が完了すると、LuCI インターフェイスのシステムの下にマウント ポイント オプションが表示されます)。
- kmod-fs-ext4、kmod-fs-vfat、ntfs-3g、kmod-fs-ntfsこれらは、ext4 パーティション フォーマットのサポート、FAT パーティション フォーマットのサポート、および NTFS パーティション フォーマットのサポートです。kmod-fs-ntf は、NTFS 用のカーネル ドライバーです。
インストールする必要があるパッケージ:
- kmod-usb-ohci
- kmod-usb2
- kmod-usb3
- kmod-usb-core
- kmod-USBストレージ
- kmod-USBストレージ-追加機能
- kmod-USBストレージ-UAS
- ブロックマウント
- ブロックされた
- kmod-fs-msdos
- kmod-fs-ext4
- kmod-fs-vfat
- kmod-fs-ntfs
- ntfs-3g
- e2fsprogs
- cfディスク
- HDアイドル
- luci-i18n-hd-idle-zh-cn
- スマートモンツール
システムの操作インターフェースからインストールするか、SSH経由でルーターにインストールできます。インストールが完了したら、ルーターを再起動してください。
opkg アップデート、opkg インストール、kmod-usb-ohci、kmod-usb2、kmod-usb3、kmod-usb-core、kmod-usb-storage、kmod-usb-storage-extras、kmod-usb-storage-uas、block-mount、blockd、opkg インストール、kmod-fs-msdos、kmod-fs-ext4、kmod-fs-vfat、kmod-fs-ntfs、ntfs-3g、e2fsprogs、cfdisk、hd-idle、luci-i18n-hd-idle-zh-cn、smartmontools
ステップ2: マウントポイントを設定する
まず、USBドライブをフォーマットしてext4に変換し、SSHでルーターに接続し、コマンドを使ってUSBドライブをext4にフォーマットします。e2fsprogsがインストールされていない場合は、USBドライブをフォーマットするためにe2fsprogsをインストールする必要があります。USBドライブは/dev/ディレクトリで確認できます。USBドライブにパーティションが1つしかない場合は、OpenWrtシステムは自動的に/dev/sda1として認識します。
ls -al /dev/sd* mkfs.ext4 /dev/sda1 blockdetect | uci import fstab uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].anon_mount='1' && uci commit fstab /sbin/block mount && service fstab enable # 設定が完了したら、ルーターを再起動します。
新しいマウントポイントを作成する
OpenwrtのLUCIインターフェースで、「システム」->「マウントポイント」->「自動ロード設定」を選択し、マウントポイントの「追加」をクリックし、UUIDを使用してマウントします。これにより、再起動後に常に正しいブートハードディスクがマウントされます。このようにして、USBフラッシュドライブの自動マウントを設定できます。マウントポイントとして「/overlay」を選択し、確定して「保存」と「適用」をクリックします。
注意: マウントポイントを必ず確認してください有効そうしないとマウントは失敗します。
ルーターを再起動すると、システムはUSBシステムモードに入り、USBが正常にマウントされます。マウントされたファイルシステムでは、/dev/sda1が/overlayにマウントされていることがわかります。この時点で、Openwrtシステムは工場出荷時の設定に復元されており、必要なソフトウェアソースとソフトウェアパッケージを再インストールする必要があります。USBシステムにソフトウェアパッケージを再インストールしてください。ソフトウェアパッケージは、LUCI管理インターフェースとSSHターミナルからインストールできます。
スワップパーティションについては、マウントポイントの設定後、親システムにスワップファイル(swapfile)をスワップパーティションとして生成できます。その後、再起動してUSBフラッシュドライブの新しいサブシステムに入ります。
dd if=/dev/zero of=/mnt/sda1/swapfile bs=1024 count=500000 mkswap /mnt/sda1/swapfile swapon /mnt/sda1/swapfile
スワップパーティションを有効にする
USBディスクのサブシステムでマウントポイント関連のソフトウェアを再インストールし、ルーターにSSH接続して、システムに200MBのスワップパーティションを作成します。スワップパーティションの作成にはしばらくお待ちください。
ルーターに SSH で接続し、次のコマンドを入力して新しいスワップ パーティションを作成します。
#新しいスワップファイル スワップパーティションを作成します。dd if=/dev/zero of=/overlay/swapfile bs=1024 count=200000 #スワップファイルをスワップスペースとして設定します。mkswap /overlay/swapfile #スワップスペースを有効にします。swapon /overlay/swapfile #スワップパーティションを追加するかどうかを確認します。free -h
スワップ パーティションを削除する場合は、まずスワップ パーティションをオフにしてから削除する必要があります。
swapoff /overlay/swapfile rm /overlay/swapfile
スワップパーティションの設定
OpenWrt管理ページで、システム -> マウントポイント、スワップパーティション -> 追加をクリックし、デバイスでカスタムを選択し、上記で生成したスワップファイルを入力します。 /オーバーレイ/スワップファイル 上記の「有効にする」オプションをチェックし、アプリケーションを保存します。
この時点で、USB ディスクをマウントするための設定は完了です。
詳細な読み物:「NTFS」、「FAT32」、「exFAT」とファイルシステムの違い
FAT32
32ビットのファイルアロケーションテーブル(File Allocation Table:FAT)は「FAT32」と呼ばれます。ビット数によって「FAT16」や「FAT12」もありますが、現在主流のFATは32ビットです。
このファイルシステムは主にWindows 98/Meで使用されていましたが、それ以降のオペレーティングシステムでも引き続きサポートされています。最新バージョンのWindows 11で使用できるほか、macOSやLinuxなどの他のオペレーティングシステムでも使用できます。
「64GB」のUSBフラッシュドライブを「FAT32」でフォーマットした場合、Windowsの仕様により、最大「32GB」までしか認識されません。「FAT32」規格では2TBまで対応可能ですが、Windowsで32GBを超える容量のストレージデバイスをフォーマットする場合は、サードパーティ製のフォーマットプログラムを使用する必要があります。
NTFS
NTファイルシステム[NTFS]は、Windows NTシリーズの標準ファイルシステムであり、現在Windowsの主流のファイルシステムです。
NT システムなので、Windows NT 以降の OS (2000/XP 以降) では使用できますが、Windows 95、Windows 98 などでは使用できません。
NTFS は理論的には 2 64 -1 のクラスター ボリューム (最大 16 EB) を管理できますが、これもコンピューターのパフォーマンスによって制限されます。
ただし、クラスターサイズが2048KBの場合、Windows 10 バージョン1709以降では最大8ペタバイト(PB)(およびファイルサイズ)をサポートします。「ペタ」は「テラ」の1,000倍の大きさです。ハイパーディメンション機能は制限付きでサポートされています。
一部の新しい録画デバイスは「4KB」セクター サイズをサポートしており、オペレーティング システムとストレージ デバイスの両方がネイティブで 4K をサポートしている場合は、より大きなデバイスをより効率的に管理できます。
exFAT
exFAT [Extended File Allocation Table] は、従来の FAT をベースに改良されたファイル システムです。
USB フラッシュ ドライブや SD カードなどのフラッシュ デバイス向けに最適化されたファイル システム。
最大のメリットは、大容量のディスクとファイルに対応していることです。最新のWindowsであれば、「最大512TBのボリューム」と「最大128PiBのファイル」をサポートしているため、一般的な用途であれば実用上の制限はほぼないと考えられます。
外付けHDD/SSDを移動せずにコンピューターで使用したい場合(拡張ドライブのように)、フォーマットは「NTFS」で問題ありません。接続時は「NTFS」ではなく「exFAT」でフォーマットすると、データの管理効率が向上する場合があります。
ただし、FATという名前にもかかわらず、通常のFAT32とは互換性がないため、exFATはFAT32のみをサポートするデバイスでは使用できません。
「exFAT」はApple社のmacOSとも互換性があるため、WindowsとMacでストレージデバイスを共有する場合は「exFAT」が最有力候補となります。
NTFSだとMacOSがうまく読み込めない可能性があります。「FAT32」もサポートされていますが、やはりデータ容量制限は厳しいので、大容量データを扱う場合は「exFAT」が無難でしょう。