web-dev-qa-db-ja.com

BIOSオプションがUEFIに設定されているシステムでDOSを起動する方法はありますか?

BIOSに「BIOS」または「UEFI」としてブートタイプを選択するオプションがあるシステムがあります。 「BIOS」を選択すると、問題なくDOSで起動できます。 「UEFI」を選択すると、EFIstartup.nshスクリプトを問題なく起動できます。ただし、「UEFI」ブート選択からDOSでブートすることはできません。

私の質問は、BIOSのオプションを「UEFI」に設定したままDOSで起動する方法はありますか?

私はしばらくの間grubで遊んでいましたが、完全なBIOSエミュレーションがないことがわかりました。どうやら、「fakebios」と「loadbios」オプションは、ビデオカードの問題を回避するための単純なエミュレーションです。この場合、これらは機能しません。

3
Greg G.

これは一種の撞着語です。ディスクパーティションテーブルには、MS-DOSとU/EFIの2つの標準があります。古いものはMS-DOSで、新しいものはUEFIです。

古いパーティションテーブルタイプにはいくつかの重大な欠点がありましたが、その中で最も有名なのは2TiBより大きいディスクを使用できないことです。これは、32ビットアドレスを使用して512バイトのセクターを識別するという事実に由来しています。 2つの製品は2TiBであり、この種のパーティションテーブルで使用できる最大のディスクです。

もちろん、他にも制限があります。プライマリパーティションが3つだけ、論理パーティションが59つだけ、パーティションテーブルのコピーが1つだけ(ディスクの先頭、MBR内)、明らかに破損しやすいリンクリストとして構造化されています。昔ながらのCHS(シリンダーヘッドセクター)の使用。

これらの問題を克服するために、IntelのUEFIの一部としてGPTパーティションテーブルが導入されました。 GPTは、これらすべての問題を克服します(たとえば、ディスクの最初と最後に2つのテーブルのコピーがあり、最大9.4ZiBのはるかに大きなディスクのパーティション分割が可能です。論理ブロックアドレス指定LBAを使用します。 CHSの代わりに、最大128のプライマリパーティションのみがあります。

パーティションテーブルの情報は、ディスクの先頭の構造に格納され、その前にプライマリパーティションヘッダーがあります(これは、ディスクの末尾の冗長性のためにも複製されます)。この構造は新しいものです。古いMS-DOSパーティションテーブルには存在しませんでした。

ただし、安全上の理由から、この構造の前にはレガシーMBRがあります。つまり、古いMS-DOSスキームでパーティションテーブルを定義する構造です。これは、新しいパーティションテーブルを認識しないプログラム(ディスクを危険にさらすことなく使用したfdiskなど)からGPTを保護するために行われます。

これで、BIOSをBIOSモードに設定したときに、GPTパーティションテーブルを使用してディスクからPCを起動できる理由がわかりました。ディスクにはMBRがあるため、起動できます。ただし、その逆は誤りです。ディスクにMS-DOSパーティションテーブル(上記のレガシー/保護テーブルではなく、適切なGPT構造が続かない旧式のもののみ)がある場合は、BIOSをUEFIに設定します。モードは、ブーターがGPT構造を検索することを意味しますが、代わりに欠落しています。

これがあなたの質問がちょっとした矛盾である理由です。

2
MariusMatutiae

いいえ、オプションが「UEFI」に設定されている間はDOSで起動することはできません。このオプションで起動できるのは、UEFI準拠のオペレーティングシステムのみです。

1
Abhiram

ファームウェア設定(起動時にキー。起動の開始時に画面上で点滅するか、マニュアルまたはオンラインで確認する必要があります)にアクセスする必要があります。 UEFIとCSMを切り替えるオプションが必要です(互換性サポートモジュール。古いBIOS機能を提供します。BIOSまたはレガシーとしてラベル付けされる場合もあります)。残念ながら、どのキーを押すか、またはこの設定がどの特定のメニューにあるかについての特定の指示を、あなたが持っている特定のボックスを知らずに提供することはできません。はい、そうです、それは異なります。

0
SapphireFlame