web-dev-qa-db-ja.com

UEFIまたはBIOS(レガシー/ CSM)ブートモードを使用してOSをインストールする必要がありますか?

コンピュータに新しいオペレーティングシステムをインストールしています。 UEFIまたはレガシー(BIOS/CSM)モードで起動するためにインストールする必要がありますか?どちらを使用することの利点と欠点は何ですか?

16
kFYatek

私はこの質問をさまざまな場所で、部分的な答えだけで尋ねているのを見たので、ブートスキームの完全なガイドのようなものを提供することを目指しています;)

まず、必要となるいくつかの背景情報:

  • BIOSブートには一般に MBR パーティションが必要ですが、一部のブートローダーは GPT のような他のパーティションスキームをサポートします。
  • UEFIブートでは、一般に、ファームウェアのビット数と一致させるためにOSのビット数が必要です。UEFIベースのマシンの大部分は64ビットファームウェアを備えています。

BIOSを使用する必要がある場合のシナリオ

  • UEFIブートをサポートしていない古いOS(たとえば、SP1以前のWindows Vista以前)をインストールしている、または
  • ファームウェアとは異なるビット数でOSをインストールする必要があります(つまり、64ビットUEFIを搭載したマシンで32ビットOS、またはその逆)

通常UEFI を必要とするOSは、特別に設計されたブートローダーを使用して、BIOSベースのマシンで強制的に起動することができます。1。たとえば、これはOS Xの場合です-Hackintoshの愛好家なら誰でも言えることです。

デュアルブートを計画していて、2番目のOSをインストールしている場合...

困難ではありますが、MBRスキームとGPTスキームを変換して、異なるモードのブートローダーを再インストールすることは可能です。

1つのOSをUEFI経由で起動し、別のOSをBIOS経由で起動することもできます。時々、選択の余地がないでしょう。 UEFIベースの64ビットWindowsが既にインストールされており、32ビットLinuxをインストールする場合。または、UEFIをサポートしない古いOSやエキゾチックなOS。しかし、本当に必要する必要があるかどうかをよく考えてください。

ですから、要点:マシンに既にあるブートスキームに固執する、そうでない場合を除きます。それはほとんど常に正しい方法です。

マシンが使用しているブートスキームを知る方法

経験則は次のとおりです。

  • Macの場合、UEFIを使用します。初期のIntelベースのモデルの一部はEFI32を使用し、2008年以降のすべてのモデルは標準の64ビットUEFIを使用しています。
  • Windows 8以降に同梱されている有名なPCの場合、UEFIを使用します。 Microsoftでは、Windows 8以降のWindowsロゴ仕様に準拠するすべてのコンピューターで、セキュアブート(UEFIが必要)がデフォルトで有効になっている必要があります。
  • WindowsXPまたはそれ以前に出荷されたPCの場合、BIOSを使用します。

Windows Vistaまたは7、またはLinuxを搭載したPC、DIY PC、または地元の小規模企業が販売しているPCを使用すると、一目で確認することはできません。その場合、ブートモードを識別する方法はいくつかあります。

  • パーティションテーブルを調べることができます。 GPTディスクで「EFIシステムパーティション」(通常はメインOSボリュームの前)がある場合、UEFIモードで起動します。それ以外の場合は、BIOSモードです。
  • BIOS/UEFIセットアッププログラムを起動して、起動優先度オプションを検索できます。 EFIまたはUEFIを示すエントリが表示されている場合、および/またはそれらがオペレーティングシステム(「Windows Boot Manager」や「Ubuntu」など)を多少説明している場合、UEFIモードで起動します。ドライブのモデル番号しか表示されない場合は、BIOSモードです。

新しいマシンに最初のOSをインストールする場合、またはハードドライブをクリアする場合...

まず最初に、選択肢があるかどうかを確認します。 BIOS/UEFIセットアッププログラムに入り、「UEFI」、「Legacy」、「UEFI + Legacy」などの切り替えが可能な「ブートモード」などのオプションを探します。 「UEFIブートを有効にする」または「レガシーブートを有効にする」という行に沿って何かと呼ばれることもありますが、CSMという用語に言及することもあります。 ファームウェアにそのようなオプションがない場合、運が悪かったので、持っているものに固執する必要があります – BIOSモードになる古いマシンでは、 UEFIモードのみをサポートする新しいマシン(Microsoft Surfaceラインなど)もあります。自分が何を持っているのかまだわからない場合-設定で「セキュアブート」を検索します-それがどこかに記載されている場合、それはUEFIです。

選択肢があると仮定して...両方のモードの利点を見てみましょう。

EFIの利点

  • ブートの高速化と電源管理の改善2 これは特にWindowsに当てはまります。さまざまな要因に応じて、ファストブートを使用するUEFIはレガシーブートの2倍の速度になります。 Linuxの場合、差は小さくなりますが、依然として存在します。これは、BIOSでブートされたOSがすでに初期化されている可能性のあるハードウェアを再初期化する必要があるためです。初期OSコードは非常に遅いレガシーモードなどでロードする必要があります。Linuxでは、GRUB (または同等)を完全に実行し、ファームウェアから直接カーネルを起動します。これにより、プロセスが少し速くなります。また、再起動、スリープ、休止状態などのようなものは、 POST を部分的または完全にバイパスする場合があり、ブートおよび電源関連の全体的な速度がさらに向上します。オペレーション。
  • セキュアブートオプションユースケースによっては、利点よりも手間がかかる場合があります(ただし、ハードウェアの大部分は無効にすることができます)。また、実際のセキュリティ上のメリットは限られていますが、ファームウェアレベルで追加の署名チェックを行うと、ルートキットに対する追加の保護になります。システムがセキュアブートを使用しているという理由だけで、システムが安全であると仮定しないでください。そのような仮定には欠陥が多すぎます。
  • 大容量ドライブのサポートの改善。 MBRパーティションスキームは、サイズが2 TiBを超えるディスクをサポートしていません。ハイブリッドパーティションテーブルと追加のブートローダーパーティション(ほとんどのOSはデフォルトで作成されます)を使用することにより、BIOSでそのような大きなディスクから起動できますが、UEFIでより適切にサポートされます。また、GPTには4パーティションというMBRの制限がないため、「拡張パーティション」のようなナンセンスから解放されます。パッチワークを介してMBRの上でできないことはほとんどありませんが、パッチワークを必要とせずに、エレガントでネイティブにサポートされています;)
  • Native multi-boot。 UEFIでは、1つのハードドライブに複数のオペレーティングシステムがインストールされていることをネイティブに宣言できます。追加の必要なしに、ファームウェアUIから選択できます。ブートローダー。マルチブートに対処するのが常に最も便利なオプションとは限りませんが、これにより、OSの更新やブートローダーを上書きするウイルス対策ソフトウェアなどの問題の数を減らすことができます。
  • より良いソフトウェア制御。一部のUEFI設定(特に、起動順序)は、OSによって標準的な方法で変更できます。これにより、ファームウェアUIを入力せずに、オペレーティングシステム内から「CDからシャットダウンして再起動」(または上記の場合は「別のOSを起動」)などを注文できます。

BIOSの利点

  • シンプルなブートプロセスシンプルで、設計によりシンプルになっています。現代のハードウェアでは必ずしもシンプルではありません(そしてそれが遅い理由です)。 EFIでは、常にリムーバブルメディアのみを常に起動できます –内蔵ドライブ上のOSのブートローダーエントリはマザーボードに保存されます。そのため、UEFIベースのマシンでは、ハードドライブを交換したり、マシン間でドライブを移動したりするときに、リムーバブルメディア(またはDIYマーケットのマザーボードで時々利用できるファームウェア内のEFIシェルの修復環境が必要になりますが、ブランドのマシンにはほとんど存在しません)、新しいドライブの内部ブートローダー構成を再構築します。これとは対照的に、BIOSはドライブの最初のセクターを起動するだけなので、マシン間でハードドライブのクローンと移動を簡単に行うことができます(もちろん、ドライバー関連の問題がなければ)。
  • より柔軟なOSの選択。 Vista SP1よりも古いWindowsバージョンはUEFI経由で起動できません。古いLinuxディストリビューションでも同様です。さらに、一般に、ファームウェアとは異なるビット数でOSを起動することは不可能です。また、UEFIベースのシステムの大部分は64ビットです。つまり、レガシーブートに頼らずに32ビットOSはありません。対照的に、ほとんどすべてのものをBIOS経由で起動できます。1
  • バグが少ない UEFIの実装には、微妙ではあるが致命的な欠陥やバグがかなり頻繁にあり、その結果、 ファームウェア構成の削除 または 間違ったドライバーのロード 。対照的に、BIOSは1981年以来存在しており、少なくともOSとのインターフェイス方法は、この期間中にあまり変化していません。現代の使用では、起動時にのみ使用される非常に薄い層であり、ほとんどが単方向であり、OSはBIOS内に残っているものにほとんどアクセスできません。これは、物事を致命的に破ることがはるかに難しいことを意味します。

下の行

次の場合は、レガシーBIOSを介してブートすることをお勧めします。

  • 実際に仮想マシンをセットアップしています-UEFI onVMハイパーバイザーは制限され、実験的です。 BIOSブートのサポートが改善されました
  • 64ビットマシンで32ビットOSを起動する必要がある
  • 特にバグがあることが知られているファームウェアを持っている
  • 多くの場合、マシン間でハードドライブを交換または移動します

それ以外の場合は、UEFIを使用することをお勧めします。より速く、より安全で、より良い機能を備えています。

脚注

  1. UEFI環境をBIOS の上にインストールすることも可能です。 TianoCore のDUETビルドは特にそれを行いますが、実際のインストールではこのようなセットアップは通常非実用的です。 BIOS専用のマシンを使用していて、UEFIブートローダー以外の方法で起動できない実験的なOSをインストールする場合を除き、それはしたくないでしょう。
  2. 初期のUEFIファームウェアには、UEFIブートローダーがBIOSベースのファームウェアの上に「ボルトで固定」されているものがあります。これらのまれなケースでは、BIOSの起動が実際に高速になる場合がありますが、それはほとんどのハードウェアの代表ではありません。
22
kFYatek