web-dev-qa-db-ja.com

MBRからGPTへのディスクの変換

クラシックMBRを搭載したディスクを使用していて、データを失うことなくGPTを使用するようにディスクを変換したい私は多かれ少なかれいくつかの有用なチュートリアルを見てきましたが、それらのほとんどはGRUB、オペレーティングシステム、およびディスク上の複数のパーティションに関連する特定の問題を扱っています。私の場合、状況ははるかに単純です。単一のパーティションにデータを格納するために使用される単純なディスクがあります。 gdiskを実行してwを押すだけでGPTがディスクに書き込まれ、後で問題なくマウントして使用できることがわかりました。

データの破損が心配ですが、gdiskは、実行しようとしている操作が破壊的である可能性があることを警告しており、GPTが最初のパーティションで通常使用されるスペースを占有している図を見ました。だから私の質問は:

これはMBRをGPTに変換する良い方法ですか?

GPTは、元のプライマリパーティションにあったデータを上書きして、ファイルまたはファイルシステムを破壊することはできますか?

5
JohnEye

私は1つのパーティションでMBRディスクを作成し、そのパーティションの1バイトごとにデータを入力し、パーティション全体のSHA1チェックサムを作成し、質問で説明されているようにそれをGPTに変換し、さらに別のチェックサムを作成して元のチェックサムと比較しました。彼らは同じでした。だから私の結論はこれです:データを破損することなくディスクをGPTに安全に変換できます。

警告:これは手順が安全であることを意味するものではありません。パーティションが破損する可能性があります。このアプローチを使用して変換する前に、必ずバックアップを作成してください。

5
JohnEye

MBRからGPTへの変換は成功しましたが、安全上の理由から2つの追加(新しい)ディスクを使用しました。 GRUBブートローダーと組み合わせてDebianを使用していることに注意してください。

Linuxパーティションとスワップパーティションのみのセットアップでは、手順はおおよそ次のようになります。

まず、完全バックアップを作成します。

  • 最初の追加ディスクを使用して、古いディスクの完全バックアップを作成します
  • 元のドライブを取り外し(!)、安全な場所に置きます(これにより、誤って書き込みを行わないことが保証されます)。
  • 起動できるようにバックアップドライブを接続します(例:マザーボード上の最初のSATA接続)
  • 2番目の追加ディスクも接続します
  • バックアップディスクから起動します

起動でき、すべてが正常に動作する場合、これはバックアップが健全であることも証明します。では、実際に始めましょう。

  • 新しいMPT形式でgdiskを使用して、まだ空の2番目のディスクをパーティション化します
  • 古いディスクと同じパーティションサイズを意図的に使用して、簡単に移行できるようにする
  • linuxパーティションにはコード8300、Linuxスワップパーティションには8200を使用してください。
  • また、ef02コードを使用して追加の2 MiBパーティションを作成します。後で必要になるパーティション番号を覚えておいてください。

注:この2 MiBパーティションはGRUBをブートするためのものであり、ディスク自体の先頭にある必要はありません。

  • ddを使用して、ブートディスクのLinuxパーティションから新しいパーティションにデータをコピーします
  • 新しく作成したスワップパーティションをアクティブにします(mkswapコマンドを使用します)

この段階で、システムファイルとデータは新しいディスクにコピーされています。残っているのは、起動可能なものにすることだけです。

  • 次のコマンドを実行します。parted /dev/sdXXX set YYY bios_grub onここで、XXXは、作成した2 MiBパーティションに対応するデバイスであり、YYYは私が覚えておいてほしいパーティション番号です。

  • grub-install /dev/sdZを実行します。sdZは、起動可能にするディスクです。

  • バックアップディスクを取り外します

  • GPTディスクを配線して、そこから起動できるようにします
  • テスト(新しいGPT対応ディスクで起動)

幸運を!

4
E. van Putten