データを失わずにGPTとMBRのハードドライブ間を変換する
質問があるのですが、私はハードドライブについてあまり詳しくないので、ここでは私と一緒に考えてください。
ハードディスクのデータを失わずにGPTからMBRに変更することはできますか?
なお、この作業を行うノートパソコンにはOSが入っていません。
USBから起動して、変換しようと思っています。
13
3
質問があるのですが、私はハードドライブについてあまり詳しくないので、ここでは私と一緒に考えてください。
ハードディスクのデータを失わずにGPTからMBRに変更することはできますか?
なお、この作業を行うノートパソコンにはOSが入っていません。
USBから起動して、変換しようと思っています。
GPTからMBR、MBRからGPTへの変換は、Linuxの
gdisk
でデータを失うことなく行えます(私も試しました)。ご自身の責任でご利用ください。
gdisk /dev/sdx "コマンドを実行してください。
MBRからGPTへ
GPTパーティションをディスクに書き込む場合は、wと入力します。
y**を押して選択を確定します。
GPTからMBRへ
r*を入力して、回復と変換のオプション*に入ります。
GPTをMBRパーティションに変換する場合は、gを入力します。
情報について
p**コマンドでテーブルを確認することができます。
パーティションがGPTかMBRかは、Partition Table Scan(p)で、HDDのパーティションに応じたsdxでgdisk /dev/sdx`することで確認できます。
Krunalが言ったように、gdiskはgrubをダメにしてしまうので、レスキューモードを避けるためです。
BIOSから起動する場合は、gdiskを書き込んで終了する前に、BIOSブートパーティションを作っておいた方がいいでしょう。(そうでなければ、UEFIから起動する場合はEFIパーティションが必要です)。
そして、
grub-install /dev/sda
でブートローダを修正してから、再起動すると良いでしょう。例えば、私はsda1とsda5の間の2048セクタ、ちょうど1MBをBIOSブートパーティションに使用しました。
ドライブをブータブルにする
これは Krunal と clarkttfu が提供した情報を強化したもので、BIOS ブートパーティションを作成してそこに grub をインストールする手順の詳細が記載されています。
ブートドライブのパーティションテーブルを変更する場合は、grub がブートローダを格納するための新しい "BIOS boot partition" を作成する必要があります。これらの例では、通常ブートドライブとなる /dev/sda ドライブを使用しています。
まず、現在の最初のパーティションの前に、ブートパーティションをサポートするスペースがあることを確認します。fisk -lは、最初のパーティションがセクタ2048で始まることを示します。
fisk -lは、最初のパーティションがセクタ2048から始まっていることを示します。もしそうでなければ、以下の手順を踏んでも起動可能なシステムにはなりません。
sudo gdisk /dev/sd を実行し、
n
と入力して新しいパーティションを作成し、提案されたパーティション番号を受け入れてください。これで
w
でパーティションテーブルを書けるようになりました。partprobeを再度実行し、grubをインストールしてください。これで問題なくマシンの再起動ができるはずです。