こんにちは、minoruです。
いやいや参りました。以前からUbuntuでは2TBを超えるHDDは基本的には扱えないという事は知っていたんですが、ちょっと手を加えれば3TB以上のHDDでも使えるんですよ。で、今回久しぶりに3TBのHDDを買い足したんですが、そこでやらかしてしまいました。
大切な動画のファイルをバックアップしていた160GBのHDDから、新品3TBのHDDにデータを移し、後日改めて新HDDのファイルを見ようとしたところ、マウント出来ませんという感じのエラーメッセージが出てきました!
とか何とか書かれていて、旧HDDもフォーマットしてしまっていたし、データが無事なのかどうなのか頭が真っ白になってしまいました。
Ubuntuで3TB以上のHDD使う時のフォーマット方法
久しぶり過ぎて忘れてたんですが、3TB以上のHDDをUbuntuで使う場合には「ディスクユーティリティ」とか「ディスク」ではなく「Gparted」というソフトを使わないといけません。
重要なポイントは3つ。
- Gpartedを使ってフォーマットする
- パーテーションテーブルはgptを選択する
- 前方の空き領域に「1MiB」を指定する
これをやらないと、物理セクターの境界からずれてますよ!というエラーが出てHDDがマウント出来なくなってしまいます。
詳しくはUbuntu GParted その22 - パーティションの開始位置を再調整する・パーティションの開始位置が物理セクターの境界になっているか確認するを読んでみてください。(kledgebさんのブログに飛びます)
※要はUbuntuで3TBを超えるHDDやSSDを使用する場合、Gpartedを使えと言う事
やらかした時にどうにかHDDをマウントする方法
上記のフォーマット方法をとらなかったために、私の新HDDはマウントできなくなり中身のファイルを取り出せない状態になってしまったわけですが、私はWindowsとの互換性を考えてNTFSでフォーマットしていたので、以下の方法でマウント出来ました。
参考にさせて頂いたのは外付けのUSB HDDがマウントできないです。マジ感謝ですありがとうございます!(abikounsoさんのブログに飛びます)
(あ、あとちなみにこの状態でWindowsPCの方へUSBでつないでみたんですが、ドライブとすら認識してもらえませんでした。)
Ctrl + Alt + T で端末と呼ばれる黒いコマンド入力画面を起動します。
上記を打ち込んで最後にエンター。これで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との互換性でハードルがありますが、手間はかかるけどWindowsでext4のHDDを読み書きすることも可能ではあるらしい。