借り初めのひみつきち

仮ブログです。

Judgement Day

EFI を触り始めた背景のひとつに、どうにか EFI からレガシー OS を起動できないか?という疑問がありました。

結論からいうと EFI を考慮してない OS を起動するのは絶望的だとわかりました。


  • EFI 搭載機はレガシーフリー度が BIOS や CSM 搭載機より高くなっています。

  • 機種によってはリアルメモリに十分な領域が確保されていません。

  • EFI 搭載機は PS/2 ポートがないものも多く、 USB エミュレーション機能も省かれていることが多いです。

  • GOP では VGA 互換機能が提供されません。少なくとも VGA のメジャーな画面モードはいずれも GOP でサポートされていません。

  • ストレージデバイスも多様化が進んで IDE 互換 I/O ではアクセスできない機種が多そうです。

  • HW reduced ACPI platform 採用によって EFI なしでは電源管理できない機種も増えています。


このようにハードウェア的に古きよき PC/AT とはだいぶ違うものです。 仮想 86 モードで BIOS をエミュレーションした程度では EFI 未対応の OS を動かすには不十分なので、やるとしたら hypervisor を使った本格的なエミュレーターが必要になりそうです。

いくつかの項目は最新規格に対応した OS ならどうにかなりそうではありますが、それならそもそも EFI に対応しているはずです。

CSM 搭載機ではおとなしく CSM を使い、未搭載機ではレガシー OS は諦めた方が無難でしょう。

最新のペンティアム搭載機でも大昔の MS-DOS がなんとなく動く!*1という PC の長く続いた互換性は EFI 採用を機にいったんリセットされた感じでしょうか。

ちなみにリアルモード自体は少なくとも CSM が乗っている機種ではかろうじてまだ生き残っているようですが、数年後 CSM が撤廃された暁には完全になくなっているかもしれません。

*1:使い物になるとは言ってない