データを失うことなくGPTとMBRハードドライブ間で変換

gpt hard-drive mbr

注意:私はハードドライブのことをよく知らないので、ここで一緒に仕事をしてください

私の質問です。ハードディスクをGPTからMBRに変更しても、データを失うことはありませんか?

注: 私はこれをしようとしているラップトップ上のオペレーティングシステムがありません。私はUSBから起動して変換しようとしています

  26  Mahmood Darwish  2017-09-16


ベストアンサー

LinuxのgdiskでGPTからMBRへ、MBRからGPTへの変換はデータロスなしでできます(試してみました)

自己責任でご利用ください

HDDパーティションに合わせて、gdisk /dev/sdxコマンドをsdxで実行してください

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************


Command (? for help):

MBRからGPTへ

ディスクに GPT パーティションを書き込むには w を入力してください

yを押して選択を確定します

GPTからMBRへ

回復および変換オプションに入るには、rを入力します

GPT を MBR パーティションに変換するには g を入力します

For Information

pコマンドでテーブルを確認することができます

警告。ブートローダー(例: GRUB)を失います

パーティションテーブルスキャン(p)で、HDDのパーティションに応じたsdxを使用して、パーティションがGPTかMBRかを確認することができます

29  Krunal Mevada  2017-09-21


ドライブを起動可能な状態にする

これは Krunal さんと clarkttfu さんが提供している情報に、BIOS ブートパーティションを作成し、そこに grub をインストールする手順の詳細を追加したものです

ブートドライブのパーティションテーブルを変更する場合、ブートローダを格納するために grub 用の新しい “BIOS ブートパーティション” を作成する必要があります。これらの例では、通常はブートドライブである /dev/sda ドライブを使用しています

まず、現在の最初のパーティションの前にブートパーティションをサポートするスペースがあることを確認します

johnf@ubuntu:~$ sudo fdisk -l /dev/sda
[...]
Device     Boot  Start       End   Sectors  Size Id Type
/dev/sda1  *      2048    499711    497664  243M 83 Linux
/dev/sda2       501758 125829119 125327362 59.8G  5 Extended
/dev/sda5       501760 125829119 125327360 59.8G 8e Linux LVM

もしそうであれば、パーティションを作成するのに必要なスペースがあります。もしそうでなければ、これらの指示に従わずに起動可能なシステムを構築することはできません

gdiskを使ってパーティションをgptに変換して、MBR用の新しいパーティションを作成することができます、sudo gdisk /dev/sdを実行して、nを入力して新しいパーティションを作成してください、提案されたパーティション番号を受け入れてください、あなたは34の最初のセクタを選択することができるはずです、ef02のパーティションタイプを設定します

Command (? for help): n
Partition number (2-128, default 2):
First sector (34-4294967262, default = 4294922240) or {+-}size{KMGTP}: 34
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'

これでwでパーティションテーブルが書けるようになりました。partprobeをもう一度実行して、grubをインストールします

johnf@ubuntu:~$ sudo partprobe
johnf@ubuntu:~$ sudo grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.

これで問題なくマシンを再起動できるようになるはずです

5  johnf  2019-10-08


クルナルが言っていたように、救出モードを回避するためにグディスクはグラブルを台無しにしてしまいます

BIOS から起動する場合は、gdisk を書き込んで終了する前に BIOS ブートパーティション を作成しておいた方が良いでしょう (そうでなければ、UEFI から起動する場合は EFI パーティションが必要です)。(そうでない場合はUEFIから起動する場合はEFIパーティションが必要です)

そして、あなたはgrub-install /dev/sdaブートローダを修正してから再起動し、幸運を祈ります

つまり、sda1とsda5の間の2048セクタをBIOSのブートパーティションに丁度1MB使用しました

Number  Start (sector)    End (sector)  Size       Code  Name
1            2048          999423   487.0 MiB   8300  Linux filesystem
5         1001472        41940991   19.5 GiB    8E00  Linux LVM

2  clarkttfu  2019-06-06


タイトルとURLをコピーしました