2010年以前発売のマザボで最近の大容量HDDを使おう、という話題を紹介します。
古いマシン+新しいHDDって何が怖いんだっけ?
自作PC知識が10年くらい止まっている人(私です)は初耳かもしれませんが、マザーボードのブート用ファームウェアは2010年頃から「UEFI」という規格が採用されており、昔から使われていた「BIOS」はほぼ死滅している状況です。
また、HDD市場に3TB超えの製品が投入されはじめたのも同時期で、当時は大容量HDDとBIOSの相性問題が話題になっていました。具体的には、古いマザーボードで3TB超えのHDDを起動ディスクに使うと起動に失敗するトラブルのことです。
というのも、BIOSの提供するインターフェースではHDDの2.2TBより後ろの領域が読めません。そのため、起動時に必要なデータがブートローダから読めない領域に置かれてしまうと起動が不可能になってしまうのです。
念のため補足しておくと、BIOS採用のマシンで3TB超のHDDを買うのが無駄かというとそうではありません。BIOS経由でディスクを読むのはブートローダだけなので、無事起動してしまえば2.2TBより先も普通に使えます。
そもそもUEFI採用のマザボであれば何もトラブルが起きないので、昨今ではこの話題自体が昔話ということになりますが、古いマザーボードを再利用して3TB超のHDDと組み合わせるような場合は同様のトラブルが起こる可能性があります(この記事を書いた時点の私がまさに該当します)。
要するに、2010年当時の自作erが悩んでいたであろう状況を追体験してみたよ、というのが本稿の内容です。
環境
- マザーボード:ASUS P6T(2009年頃のマザーボード、UEFI未対応)
- HDD:TOSHIBA DT01ACA300(3TB、4Kセクタ、AFT、起動ディスクとして利用)
OS選定
2.2TB超のHDDを使う場合、OS選定も重要です。2010年当時のOSは2.2TB超HDDに対応していないものもありました(後述するようにGPT対応している必要があります)。
とはいえ、昨今のOSを使う分には問題ないでしょう。私はUbuntu 14.04 LTSを使いましたが、問題なく使えています。
最初のトラブル:BIOSが2.2TBより大きいHDDを誤認識
今回利用したマザーボードはBIOSが2009年当時のままで、BIOSからHDDを確認すると3TBのはずが800GBと表示されていました。このマザーボードの場合はBIOSアップデートで解決しました。
BIOSモードではパーティション分割が必須
BIOSモードを利用する場合、ブートローダがアクセスする情報は全て2.2TBより前の領域に置く必要があります。
Linuxの場合であれば、/boot
を別パーティションとして切り分けた上で2.2TBより前の領域に配置するのが良いでしょう。initrdはブートローダが読み出す対象なので、これにBIOS経由でアクセスできないようだと起動ができません。
マルチブートさせるような場合も同様に考える必要があります。
パーティションサイズとMBR/GPT
そもそもBIOSから読み出せるパーティション形式はMBRのみですが、MBRでは2.2TB以上のパーティションが管理できません。
UEFIが導入されたタイミングでパーティション形式もGPTという新たな形式が導入されており、こちらは2.2TB以上のパーティションも管理できるようになっています。
以上から考えると、BIOS起動のマシンでは結局2.2TB以下の領域しか使えないように思えますが、実際には2.2TBより先の領域も普通に利用できます。これはUbuntuのインストーラがMBR/GPTのハイブリッド形式でパーティション情報を書き込んでいるためです。
つまり、ブートローダまではMBRの情報を元に動作し、OS起動後はGPTの情報を読むため、どうにか矛盾無く動作するというわけです。アクロバティックですね。
ディストリビューションによってはこんなに親切じゃないのかもしれません。MBR/GPTハイブリッド形式を作れなかったり認識できなかったりするとアウトです。
工夫してパーティションを切らないと性能が出ない
最近のHDDは性能上の理由から物理セクタサイズが4KBになっています。これはAFTなどと呼ばれます。
AFTのHDDをLinuxで利用する場合、第2パーティション以降の開始セクタを調整してやらないと性能面で悲しいことになるかもしれません。これはBIOSかUEFIかとは無関係な話題ですね。
参考:「4096 バイトセクタの HDD と Linux - daily dayflower」
おわりに
自作erの人ならキーワードさえ分かればどうにか調べられると思いますが、浦島太郎状態だとキーワードすら分からん、みたいなことってありますよね…。そんなわけで、キーワードだけでも参考になれば。