gdisk/mkfsコマンドで2TB以上のHDDをフォーマットする方法

前書き:何故HDDを2TBまでしか認識しないか

本記事では、gdisk/mkfsコマンドを用いて2TB超のHDDをフォーマットする方法を紹介します。

前提知識ですが、HDDは2TBの壁が存在します。HDDは、MBR(Master Boot Record)形式を用いて、パーティション(領域)をセクター単位で管理しています。通常のHDDは、セクターサイズが512Byteであり、パーティション内のセクター開始位置とセクター数の管理には4Byte(32bit)を使用します。この制約によって、「最大2TB(アクセスできるセクター数×セクターサイズ = 2の32乗×512)」までしか管理できません。

つまり、MBRにしか対応していないコマンド(例:fdisk)でHDDフォーマットを実行した場合、2TBまでしか認識しません。2TB以上のHDDを取り扱う場合は、gdiskコマンドを使用します。gdiskは、GPT(GUID Partition Table)形式でHDD領域を管理します。GPTは、セクター管理に8Byte(64bit)を使用できるため、最大8ZB(=2の64乗×512Byte)まで管理できます。一般的なHDDサイズ(2TB〜8TB)であれば、確実にフォーマットできます。

                     

検証環境

Debian10環境とWestern DigitalのHDD(4TB、3.5インチ)を使用します。

                 

gdiskのインストール

以下の手順でgdiskコマンドをインストール可能です。また、HDDがどのPATH(/dev/sd*)で認識されているかを調べるために、hwinfoコマンドも一緒にインストールします。

                                                                       

フォーマット対象のHDDを調査する方法

フォーマット対象のPATH情報(/dev/sd*のいずれか)を明確にしなければ、OSが入ったSSDやHDDを誤って消去する可能性があります。そこで、hwinfoコマンドを用いて、HDDの型番情報から、フォーマット対象のHDD PATHを明確にします。

hwinfo出力結果のWDはWestern Digitalの略で、検証環境ではWD社のデバイスが3個認識されている事になります。TOSHIBAやSeagateのHDDも、会社名が出力されます。上記の情報(型番)だけで、フォーマット対象が明確にならなかった場合は、shortオプションを削除すれば詳細な情報が得られます。

                         

gdiskコマンドによるパーティション作成

私の環境では、フォーマット対象のHDDは/dev/sdbです。gdiskコマンドを起動すると、GPT形式ではなくMBR形式でHDDが管理されているため、警告が出ます。今回のフォーマットでは、MBRをGPTに変換することが目的ですから、この警告は無視します。

gdiskは、対話式で操作する必要があります。以降の手順では、

  • d:既存パーティションの削除
  • o:新しいGPT(GUID Partition Table)を作成
  • n:新しいパーティションを作成
  • p:現在のパーティションを確認
  • w:ディスクに変更を書き込む

を順に実施します。既存パーティションは全て削除し、新しいパーティションは1個だけ作成します。選択肢は基本的にYesかDefault値で回答します。

                      

パーティションをext4形式でフォーマット

gdiskコマンドによって、/dev/sdb1パーティションが作成されています。このパーティションをmkfsコマンドによって、ext4ファイルシステムでフォーマットします。

ここまでの手順で、フォーマットされたHDDが使用可能な状態になります。

                                                                  

あわせて読みたい

1件の返信

  1. 2019年10月5日

    […] gdisk/mkfsコマンドで2TB以上のHDDをフォーマットする方法 […]

コメントを残す

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