web-dev-qa-db-ja.com

Linuxはブートフラグを設定しましたか?

さて、MBRを台無しにして、ブートフラグを設定する必要があります(アクティブパーティションではありません!)。同様の質問を検索しましたが、表示されるすべての答えは「パーティションをアクティブに設定する方法」であり、それは私がやりたいことではありません。アクティブに設定すると、ブートローダーにロードするように指示されますが、BIOSに最初の512バイトを実行するようには指示されません。私が必要としているのは、MBRの最後のワードが0xAA55であることです。これで私を助けてください、ありがとう。

2
Grunt

MBRディスクでは、「ブートフラグ」と「アクティブフラグ」は同じものです。このフラグ BIOSモードでディスクを起動する前にファームウェアを探す人もいますが、ファームウェアには関係ありません。一部の(すべてではありませんが)BIOSモードのブートローダーは、このフラグが存在することに依存しています。彼らはそれを探し、そのようにマークされたパーティションのブートセクタに制御を移します。

GPTディスクでは、libpartedに基づくツール(partedやGPartedなど)は、 EFIシステムパーティション(ESP) が「ブートフラグ」が設定されていることを識別します。 MBR構造と同じ名前を使用しているにもかかわらず、libpartedがGPTで「ブートフラグ」として識別するものは、MBRブート/アクティブフラグとは何の関係もありません。

ディスクの最初のセクターの終わりにある0xAA55コードは、単にセクターをMBRパーティションテーブルを保持しているものとして識別します。 (GPT仕様の一部には、GPT非対応ユーティリティがディスクを混乱させないように設計された「保護MBR」が含まれているため、GPTディスクにもこのコードがあります。)fdiskparted、および他のMBRパーティショニングツールがディスクを認識すると、そのコードはすでに存在します。 notが存在する場合、パーティショニングツールは、ディスクがパーティショニングされていないと文句を言うか、主張します。

この返信を読んだ後も問題が解決しない場合は、詳細情報を提供する必要があります。コンピュータで何が機能していないのですか。述べたように、あなたの質問はかなり抽象的なものです。また、parted /dev/sda printrootと入力するか、前にSudoを付ける)の出力も役立ちます。

2
Rod Smith