LinuxでMBR/GPTパーティションを持つディスクを完全に初期化するには
こんにちは。匠技術研究所の谷山 亮治です。
最新の情報はこちら。より簡単で、多様なことに対応できる方法です。
今日は「LinuxでMBR/GPTを持つディスクを完全に初期化する」方法を紹介します。
ディスクには、ディスクの中の領域をどう切り分けて、何に使っているかを記録した場所があり、それをパーティションテーブルと呼びます。一般にパーティションテーブルを失った場合は、ディスクの中の領域の位置が判らなくなり、データーを読み書きすることができません。
PC、PCサーバーで主に使われるパーティションテーブルの仕様は、PC-DOSの時代から使われているMBR(Master Boot Record)か、その発展的置き換えを意図して策定されたGPTです。GPT(GUID Patition Table)とは、EFIで規格化されたディスクのパーティションテーブルの仕様で、UEFIとも呼ばれ、従前使われてきたMBR仕様でのパーティションテーブルを置き換えます。
GPTとMBRの大きな違いは以下の二つです。
1.GPTはパーティションテーブルの二重化等安全性を高めた
GPTではパーティションテーブルを二重化し、ディスクの先頭とディスクの末尾に保存します。また、記録内容と共に、誤り検出のためのチェックサムを記録し、記録内容がディスクの物理的な障害で変化したことを検出できます。
2.GPTでは8から9.4ZBまでの領域を扱うことができる
MBR仕様では、パーティション情報の設計の都合で2.2T以上の領域を指し示すことができません。これはどうしようもありません。そのためGPTのような広大な領域を示すことができるパーティションテーブルが必要になります。
システムにディスクを追加する際に、追加するディスクのパーティションテーブルの仕様には概ね以下の4つの状態があります。
1.まだパーティションテーブルを持たない
2.MBR仕様のパーティションテーブルが書かれている
3.GPT仕様のパーティションテーブルが書かれている
4.その他のパーティションテーブルが書かれている
MBR仕様のパーティションテーブルはディスクの先頭に固定長で置かれるので、パーティション情報を初期化(データーを失う)する場合は、この部分を「初期化」します。一瞬で終わります。
全データーを失う!
dd if=/dev/zero of=/dev/sdX bs=512 count=1
(GPTの初期化はできない)
GPTを持つディスクをディスクパーティションを持たない初期状態にするには、ディスクの先頭と、末尾に記録された二つのパーティションテーブルを消去する必要があります。理屈ではMBR仕様の初期化の応用で、ddを使って全ディスク領域を初期化すれば良いのですが、1Tのディスクでも書き込みには莫大な時間がかかるので全くもって実用的ではありません。そこでコマンドで消去します。これも一瞬で終わります。
全データーを失う!
sgdisk -Z /dev/sdX
(MBRも初期化できる)
Linuxでのパティションテーブルの作成・変更・確認はGPTの場合はgdisk、MBRの場合はfdiskで行います。
mdでミラー化に使ったディスクでは
mdadm --zero-superblock /dev/sdX
を追加実行します。
経過はhttps://oshiete.goo.ne.jp/qa/9204071.htmlのとおりです。ご指摘のfdiskで復活できるでしょうか?
ご教示いただくと助かります。