こんにちは、minoruです。
昔のUbuntuでは2TBを超えるHDDは基本的には扱えない時代があって、ちょっと手を加えれば3TB以上のHDDでも使えるんですが、以前私が3TBの外付けHDDを買った時に見舞われたトラブルがありました。
大切な動画のファイルをバックアップしていた160GBのHDDから、新品3TBのHDDにデータを移し、後日改めて新HDDのファイルを見ようとしたところ、マウント出来ませんという感じのエラーメッセージが出てきました!
Failed to mount '/dev/sdb1': Invalid argumen
とか何とか書かれていて、旧HDDも既にフォーマットしてしまっていたし、データが無事なのかどうなのか頭が真っ白になってしまいました。
Ubuntuで3TB以上のHDD使う時のフォーマット方法
当時、久しぶり過ぎて忘れてたんですが、3TB以上のHDDをUbuntuで使う場合には「ディスクユーティリティ」とか「ディスク」ではなく「Gparted」というソフトを使わないといけません。
重要なポイントは3つ。
- Gpartedを使ってフォーマットする
- パーティションテーブルはgptを選択する
- 前方の空き領域に「1MiB」を指定する
これをやらないと、物理セクターの境界からずれてますよ!というエラーが出てHDDがマウント出来なくなってしまいます。
詳しくはUbuntu GParted その22 - パーティションの開始位置を再調整する・パーティションの開始位置が物理セクターの境界になっているか確認するを読んでみてください。(kledgebさんのブログに飛びます)
※要はUbuntuで2.2TBを超えるHDDやSSDを使用する場合、Gpartedを使えと言う事
やらかした時にどうにかHDDをマウントする方法
上記のフォーマット方法をとらなかったために、私の新HDDはマウントできなくなり中身のファイルを取り出せない状態になってしまったわけですが、私はWindowsとの互換性を考えてNTFSでフォーマットしていたので、以下の方法でマウント出来ました。
参考にさせて頂いたのは外付けのUSB HDDがマウントできないです。マジ感謝ですありがとうございます!(abikounsoさんのブログに飛びます)
ちなみにこの状態でHDDをWindowsPCの方へUSBでつないでみたんですが、ドライブとすら認識してもらえませんでした。
手順
まずUbuntuが起動して、普通にログインしている状態で、Ctrl + Alt + T でターミナル(端末とも)と呼ばれる黒いコマンド入力画面を起動します。その黒い画面に以下のコマンドを入力してエンターキーを押します。
sudo fdisk -l
このコマンドは
sudo =管理者権限で
fdisk =パーティション管理アプリを使って
-l =listつまりすべてのディスクとパーティションを表示せよ
と言う命令文になります。
上記を打ち込んで最後にエンター。これでubuntuがHDDを認識しているかどうかがわかります。一応HDDがつながっている事は認識していて、/dev/sdbにつながっていて、sdb1,sdb2,sdb3,sdb4というパーティションに分かれて見えているようです。
(実際にはHDD全部を1つのパーティションとして使っていたはずなのだが、どうやら上記のフォーマット方法でなければこうなってしまうのらしい)
次に以下のコマンドを入力します。
これは何をしているかというと、HDDをマウントするためのディレクトリ(フォルダー)を用意しています。hdmx-suの部分は別の任意の名前でも良いはずですが、今回は参考にさせてもらったページに書いている通りにしました。
次に、
と入力してエンターしたのですが、そんなディレクトリ無いよというエラーメッセージが表示されました、冷や汗が出ますが一応以下を試してみると…
特にエラーメッセージは出ません。
Nautilusなどのファイラーで見れば、hdmx-suという名前のドライブが出現している事がわかるかと思います。これで自由にファイルを見たり動かしたりできます。
あとは一旦ファイルを退避させてGpartedでフォーマットしなおして、もう一度新HDDにデータを移せばOKですね。でもこれ今回はNTFSでフォーマットしてたんですが、他のフォーマット方式だったらどうなってたんでしょうかね?
上記のコマンドを人間語に翻訳すると「管理者権限で、マウントしろ、フォーマット形式を指定するぞ、ntfs-3gだ、Ubuntuお前はそのHDDは/dev/sdbとして認識している、/media/hdmx-suというフォルダとして使えるようにしろ」…という感じですかね。
とりあえずデータ無事だったんでホッとしましたよ。
ちなみに新品のHDDにUbuntuをライブDVDからインストールすると、HDDはext4というファイルシステム形式でフォーマットされるようです。
ext4はWindowsとの互換性が基本的にはなく、ext4でフォーマットされたディスクを読み込むにはWindows側にDiskGenius・Linux Reader by DiskInternalsと言ったext4を読み込むアプリを入れて、やっと中身を見る事ができます。
参考:ext4のパーティションをWindowsで読み書きする方法
2025年現在の状況
上記のように、Ubuntuではかつては2.2TB以上のHDDを使用する時に注意が必要でした。
MBR(マスターブートレコード)と呼ばれるHDDの最初に読み込まれる部分、OSの起動に必要な最初のプログラムや、ディスク内のどこにどんなパーティション(領域)があるかを管理している部分ですが、このMBRが2TBまでしか扱えなかったためです。
しかし、昔はBIOS+MBRと言う構成が主流だったものの、2020年以降はUEFI+GPTと言う構成に置き換わって行き、ディスク容量の制限は過去のものとなりました。
上記の私が当時やった対策でも「パーティションテーブルにGPTを選ぶ」と言う手順がありますが、そこがミソだったわけですね。
過去のものになったとは言え、古いPCを再利用する場合など、BIOSで起動されるPCを利用する場合、今でもBIOS+MBRと言う構成になるでしょうから、ディスク容量には注意が必要です。