web-dev-qa-db-ja.com

GPTを削除-デフォルトをMBRに戻す

私はこのエラーを受け取り続けます:

警告!!サポートされていないGPT(GUIDパーティションテーブル)が検出されました。 GNU Partedを使用

通常のMBRに戻りたい。私はいくつかのアドバイスを見つけました ここ と行いました:

parted /dev/sda
mklabel msdos
quit

しかし、mklabelオプションに到達すると、/dev/sdaのすべてのデータが失われるという警告が表示されます。ディスクをフォーマットせずに通常のMBRに戻す方法はありますか?

34
sayth

あなたが投稿したリンクは、非常に醜いハックタイプのソリューションのようです。

ただし、manページによると、MBR-> GPTの変換に使用されるgdiskには、「リカバリと変換」メニューにオプションがあります(それを取得するにはrを押します)。 GPTを変換-> MBR; gキーは:

GPTをMBRに変換して終了します。このオプションは、できるだけ多くのパーティションをMBR形式に変換し、GPTデータ構造を破棄し、新しいMBRを保存して終了します。 GPTを試してみて、MBRの方が適している場合は、このオプションを使用してください。この関数は、最大4つのプライマリMBRパーティションまたは3つのプライマリパーティションと、生成可能な論理パーティションを生成することに注意してください。各論理パーティションには、最初のブロックの直前に少なくとも1つの未割り当てブロックが必要です。

最初に試してみます。

29
goldilocks

以前の回答者のほとんどは、GPTパーティションテーブルレイアウトで通常は必要なことを行うことができると言ったときに正しいですが、MBRを使用したい正当な理由areがあるので、私は答えるだけだと思いますあなたが尋ねるのが間違っていると仮定する代わりにあなたの質問。

GPTを取り除くには、このフォーマットでは、パーティションテーブルがドライブのendに書き込まれていることを覚えておく必要があります。このテーブルは、fdiskまたはGPT非対応のファイルシステムツール。あなたがpartedで行ったことは、このパーティションテーブルに対応していません。

GPTを消去するには、gdiskなどを使用する必要があります。プロンプトでrootとしてgdiskと入力し、gdiskに確認するデバイスを指示します(つまり、/ dev/sd ??)。保護されたMBRをディスクに書き込むには、gdiskを使用して、一部のMBRデータ構造にアクセスできることを確認します。次に、エキスパートオプションセクションに移動できます(?さまざまなプログラムプロンプトで、さまざまなタイミングで使用できるオプションを確認し、「GPTデータ構造をZap(破棄)して終了する」というオプションを見つけます。プログラムは確認を求め、MBR構造を保持するかどうかを尋ねます。これを保存してください。

その後は、コンピューターを再起動する(カーネルはまだ古いパーティションテーブルを使用しており、更新するには再起動が必要なため)だけで済み、fdiskを起動してGPTパーティションの残りを削除するだけです。 GNU Partedの使用に関する同じ警告が引き続き表示されますが、パーティションを削除すると消えるので、今回は無視できます。

これにより、OSを再インストールできる空のドライブにMBRパーティションテーブルシステムが提供されます。既存のパーティションでこれを実行しようとすると、かなり複雑になり、場合によってはそれも不可能になるため、単にデータをバックアップして、この方法で実行することをお勧めします。

17
Tatiana McGarry

使用する gdisk /dev/sda

注:/dev/sdaは、この質問をした人の場合ですが、ドライブ名に変更してください。

内部にgdiskを使用すると、次のようになります。

x   extra functionality (experts only)

次に、pと入力してすべてのオプションを表示すると、次のように表示されます。

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

zを使用

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y
7
VaTo

GParted私のために仕事をしました(テスト済みKali Linux USB Live v2.1):

Device --> Create Partition Tablet --> Type MSDOS

最初にすべてのパーティションを削除します。

これはすべきがほとんどの場合に機能します。 2 TBを超えるパーティションがある場合、または15を超えるパーティションがある場合は、MBRを使用できないことがわかります。

  • Partedを使用してパーティションのサイズを確認します(つまり、すべて2TB未満ですか?)、parted /dev/sdX p
  • より大きなパーティションがある場合は、問題のファイルシステムと、実行する必要がある他のすべてを縮小します。 (これについては、この投稿の最後で詳しく説明します。)
  • すべての正確なパーティションサイズparted /dev/sdX u B p(サイズをバイトで表示)をダンプします。これにより、最終的にパーティションレイアウトを再作成する方法がわかります。携帯電話を使用して、両方のparted出力から写真を作成します。
  • 内部構造のため、MBRを使用できるプライマリパーティションは4つだけです。したがって、より多くのパーティションがある場合は、ディスクのどこかに空き領域が必要です(これがどこにあるかを知る必要があります!)。VBRを配置できる論理パーティションを作成して、他の4番目の「以前存在していた5番目/ 6番目のパーティション。
  • gdiskを使用してGPTを消去します。
  • 新しいMBRを作成します。
  • 1つ目、2つ目、3つ目をプライマリパーティションとしてパーティションを再作成し、空きスペース(データが配置されていない場所!!!)に論理パーティションを作成してから、他のパーティションを作成します。
  • 保存して終了します。
  • 祈る。
  • リブート。

このためには、grmlのようなlivediskを使用する必要があります。何か問題があった場合は、再起動して再試行してください。

ディスクにデータを書き込まない限り、何も失われません。スマートフォンにすべてのパーティションレイアウトが残っているので、本当に必要な場合は元のGPTを再作成できます。

あなたが本当に何かをファックして写真を撮らなかった場合、パーティションの境界を見分けるためにtestdiskを試してください。ただし、レイアウトが異常なものになったらすぐにお金をかけないでください。


パーティションを小さくするためのサイズ変更について、鳥瞰図:

  • まず、常にファイルシステムを縮小する必要があります。 ext4(resize2fs -M dev/sdX)は簡単ですが、XFSは縮小できないため不可能です。このようなスタントを試す前に、何を使用しているかをググってください。
  • LVMがある場合は、次に論理ボリュームを縮小します。 (lvreduce -L 20G /dev/mapper/<VG>-<LV>
  • LVMの次のステップは、物理ボリュームのダウンサイジングです。 pvresize --setphysicalvolumesize 25G /dev/sdXはその方法です。
  • その後、選択したパーティション分割ツールを使用して、lvmが配置されているパーティションを削除し、それを小さく再作成します。

ここで言及されているすべての要素のサイズは次のとおりです。ファイルシステム<LV <PV <パーティション、これが次の再起動後に当てはまらない場合は、FSを確認する必要があります。確認しないでください。 tそれを実行し、もう一度livediskを再起動して、調整を行います。そこで修正を行うと、システムは再び起動します。

PARTITION + LUKS + LVM + FILESYSTEMがある場合、これをすべて実行できるようにするために、シェルからこれを行う方法に関するヒントを次に示します。

  • df -hは、パーティションをマウントしたときにファイルシステムのサイズを表示する友です
  • lsblklsblk -fは、パーティションを表示するための友達です
  • LUKSを使用している場合は、cryptsetup open /dev/sdX asdfを介して暗号化コンテナーを開き、パスワードを入力すると、/dev/mapper/asdfで使用できるようになります。暗号化コンテナーのサイズを変更する必要はありません。 (もちろん、暗号化されたパーティションがない場合は、これをスキップしてください。)
  • vgchange -aayすべての論理ボリュームをアクティブ化して、それらを操作できるようにします。
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdf、次にdf -hを使用して、サイズ変更前にファイルシステムのサイズを確認します。
  • umount asdfなので、再びマウント解除されます。
  • resize2fs -M /dev/mapper/<VG>-<LV>
  • mount /dev/mapper/<VG>-<LV> asdf; df -hを使用して、ファイルシステムのサイズを確認します。
  • LV 1GBをファイルシステムより大きくします。たぶん、これは十分ではありません。それよりも大きくできる場合は、それよりも大きくしてください。そうしないと、Linuxは再起動後に機能しないことを通知します。 FSプロンプトが表示されたら確認し、livediskで再起動して再起動しないでください。そうであった場合、データは失われません。
  • PVをLVよりも1GB大きくします。
  • パーティションをPVより1GB大きくします。 LVMは4Mのサイズのエクステントを作成するので、100Mでも十分簡単です(これは、ハードディスク上の直接ブロックのようなものですが、LVMの場合)。パーティションを小さくしすぎて、最後のエクステントを省略しないようにするだけです。しかし、私が言ったように、すべき。すべてを計算するのではなく、調整して、壊れた場合は修正してください。結局のところ、これはLinuxです。

必要以上に大きくすることで、頻繁に再起動する必要がなくなります。

LVMの内容を簡単に見分けるには、常にVGの名前としてホスト名を使用し、LVのマウントポイント(rootswapvar、...)を使用しますLVMセットアップを作成するとき(まだ作成していない場合)。これは一般的なヒントであり、上記の手順のいずれかで実行する必要があるものではありません。

1
sjas