
古典的なMBRを含むディスクがあり、データを失うことなくGPTを使用するように変換したいと思います。いくつかの有用なチュートリアルを見ましたが、ほとんどはGRUB、オペレーティングシステム、およびディスク上の複数のパーティションに関連する特定の問題をカバーしています。私の場合、状況ははるかに簡単です。単一のパーティションにデータを格納する単純なディスクがあります。実行してgdisk
押すだけで、w
GPTがディスクに書き込まれた後に問題なくマウントして使用できることがわかりました。
しかし、私はデータの破損が心配され、私がやろうとしているgdisk
ことが潜在的に破損する可能性があると警告し、GPTは最初のパーティションが一般的に使用するスペースの一部を占めているいくつかのグラフを見ました。だから私の質問は次のようになります
MBRをGPTに変換する良い方法ですか?
GPTが元のプライマリパーティションにあった一部のデータを上書きしてファイルまたはファイルシステムを破損しますか?
答え1
1つのパーティションでMBRディスクを作成し、そのパーティションのすべてのバイトをデータで埋め、パーティション全体のSHA1チェックサムを作成し、質問の説明に従ってGPTに変換し、別のチェックサムを作成して元のチェックサムと比較しました。彼らは同じです。だから私の結論はこうです。 データを壊さずにディスクをGPTに安全に変換できます。
警告:これはプロセスが安全であるという意味ではありません。パーティションが破損する可能性があります。この方法を使用して変換する前に、必ずバックアップを作成してください。
答え2
MBRをGPTに正常に変換しましたが、セキュリティ上の理由から2つの追加(新しい)ディスクを使用しました。私はGRUB
ブートローダーと一緒にDebianを使用しています。
私の設定には1つのLinuxパーティションと1つのスワップパーティションがあり、プロセスはおおよそ次のようになります。
まず、フルバックアップを作成します。
- 最初の追加ディスクを使用して、古いディスクのフルバックアップを作成します。
- 元のドライブを取り外し(!)、安全な場所に保管してください。 (これを行うと、誤ってドライブに書き込むことはありません。)
- ブートできるようにバックアップドライブを接続します(たとえば、マザーボードの最初のSATA接続)。
- 2番目の追加ディスクも接続してください。
- バックアップディスクから起動
起動でき、すべてが正常に機能する場合、これはバックアップが正しいことを証明することでもあります。さて、実際に始めましょう。
gdisk
新しいMPT形式を使用して、まだ空の2番目のディスクを分割します。- 簡単に移行できるように、意図的に古いディスクと同じパーティションサイズを使用してください。
8300
Linuxパーティションと8200
Linuxスワップパーティションを使用するためのコード。- また、
ef02
コードを使用して追加の2MiBパーティションを作成し、パーティション番号を覚えておいてください。後で必要です。
注:この2MiBパーティションは起動用であるGRUB
ため、ディスク自体の先頭にある必要はありません。
dd
ブートディスクLinuxパーティションのデータを新しいパーティションにコピーするために使用されます。- 新しく作成されたスワップパーティションを有効にします(mkswapコマンドを使用)。
この段階で、システムファイルとデータが新しいディスクにコピーされました。残りの唯一のことは起動可能にすることです。
次のコマンドを実行します。
parted /dev/sdXXX set YYY bios_grub on
ここで、XXXは私たちが作成した2MiBパーティションに対応するデバイス、YYYは覚えておくように要求したパーティション番号です。Run を実行します
grub-install /dev/sdZ
。ここで、sdZ は起動可能にするディスクです。バックアップディスクの接続解除
- 起動できるようにGPTディスクを接続してください。
- テスト(新しいGPT対応ディスクから起動)
頑張ってください!