Almalinux9でntfsフォーマットの外付けHDDをマウントする

前書き

計算機で行った計算結果のバックアップをAlmalinuxOSの端末に付けた外付けHDDに保存した際のメモ。

(2025/02/05追記 外付けHDDが認識されずに起動に失敗した場合, cronとrsyncを用いた自動バックアップの簡潔な追記)

HDDの認識

まず、外付けハードディスクがどのデバイス名で認識されるかを調べる。

ls /dev/sd*  #usbに挿す前と後で結果を比較する

例えば、本体にHDDが1つだけある端末であれば、sdbという名前のデバイスが追加されているはずである(もともと入っているHDDがsda)。

ところで、sdbのほかにsdb1 sdb2のようにナンバリングされているデバイス名が認識されることもある。これはHDDが2つのパーティションに分けられているためであり、どちらを使うかを確認しなければならない。この場合は、fdiskコマンドを使用すると便利である(要管理者権限)。

fdisk -l /dev/sdb  #sdbがsdb1とsdb2に分かれている場合、sdb1とsdb2の容量等が表示される

HDDのマウント

usbポートにHDDを挿した場合は上記のように認識してくれるが、ファイルを保存したりできるようになるわけではない。OSがファイル等を操作できるようにマウントする必要がある。マウント先のディレクトリが必要なので、/mnt/にディレクトリを作成しておく。

mkdir /mnt/backup #backup用のディレクトリ、名前は何でもいい
mount /dev/sdb2 /mnt/backup #先ほど調べた外付けHDDの使いたいパーティション(今回はsdb2)を/mnt/backupにマウントする
※nftsでフォーマットできませんと出てきたら次の節へ

ところでOSを再起動した場合、上記の手順を再び踏んでマウントする必要がある。しかし、同じ外付けHDDでもマウント順の違い等によってデバイス名(sdb等)が異なる場合がある。これらの問題を解決するためには、UUIDを用いた自動マウントを利用する。

まず、デバイスのUUIDを調べるためにはblkidコマンドを用いる(要管理者権限)。先ほど調べたデバイス名(sdb2等)にどのUUIDが割り当てられているかを控えておく。
次に、起動時に自動マウントを行うため、/etc/fstabに以下のように追記する

UUID=[先ほど調べたUUID] /mnt/backup defaults 0 0

これによってOS起動時に勝手にマウントしてくれるようになる。

nftsフォーマットのHDDの場合

自分の場合は4TBの外付けHDDをマウントしようとした際に、すでにntfsでフォーマットされていた。しかし、インストールしたばかりのAlmalinux9では扱えないようなので、パッケージを持ってくる必要があった。

dn upgrade
dnf -y install epel-release
dnf -y install ntfs-3g

これでもう一度mountコマンドを実行すればマウントできるはず(一応 -t オプションでntfsを明示してマウントした)。

外付けHDDが認識されずに起動に失敗した場合(2025/02/05 追記)

今回,新たに接続したHDDが認識できずに起動に失敗していたため,対処の備忘録を記載する。

まず,Almalinux(他のLinux系OSも同様?)が起動時にfstabに記入したHDDを認識できなかった場合,emergency modeに入る。
このとき,root (Ctrl + D)のような表示がなされるが,Ctrl + Dを押してもHDDが認識できるようになるわけではないので同じ画面に戻ってくる。また,そのほかのキーボード入力は受け付けていないように見える。

これは,この画面がrootのパスワードを要求しているため。rootにログインできれば,vi /etc/fstabなどでfstabを編集できるので,問題のあるHDDの行を#でコメントアウトし,rebootすればとりあえず起動するはず。

今回は,起動時のログ(dmesgの出力でもよい)に"usb usb2-port1:Cannot enable.Maybe the USB cable is bad?"のようなエラーメッセージが出ていたので外付けHDDの問題だと分かった。

余談だが,usb2-port1はどこなんだという問題がある。これを見るにはlsusb -t (tはツリー構造で出力してくれる)を使った時の出力に対応している。Busとportがツリー構造で現れるが,usb2-port1はBus002のPort001に対応している。HDDのusbを抜き差しするのに抵抗のある人は周りにusb接続にキーボードを繋いでみてエラーの原因が外付けHDDなのかを判断しても良いかもしれない。

まとめ

以上がnftsフォーマットのHDDを接続する方法である(思い出しながら書いているため,もしかしたら間違っているかも)。

また,cronとrsyncを組み合わせた自動バックアップについても簡単に流れだけ説明する。

cronは事前にスケジュールした時刻に設定したコマンドを実行してくれる。cp, scp, rsyncを用いてバックアップする場合も利用できるが,コマンドを直接記入してもよいが,bashファイルに記載した方が良い(1. コマンドを間違えない 2. crontabに記載するのが1行だけでよい 3. 初回起動は手動でやることが多いので使いまわせる)。

cronの設定はcrontab -eでエディタが開けるが,viと同じコマンドが利用できる。細かい話は調べてもらった方が早いだろう。
【図解】cronの仕組み
rsyncのサンプル例集

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です