BREAKING NEWS

[4]

BIOSとUEFIに関する知識をおしゃれに把握し、WindowsやLinuxのインストールに役立てる

BIOS設定画面は、パソコン自体のシステム設定、例えば、CPUやメモリの設定や、ブートデバイスの設定を行うものであり、 一般的なパソコンは皆この設定画面を持っています。


Linux等のインストールを行う場合、 BIOS設定のうち、ブートに関する制御(USBメモリからの起動等)の設定は必須になります。 また、UEFIの知識を最低限、把握しておくことで、 ArchLinux等のドキュメントでブート設定の説明を読んだときに理解が深まり 設定の自由度が広がります。


尚、「BIOS」という名称は、正確には今どきのPCのシステム設定画面を指すものでは無いのですが、 ネット等の検索ワードや、一般的な話の流れでは「BIOS画面」と呼ばれることが多いので、 まずはこのワードで話を進めていきます。


BIOS設定画面へ入るためのキー

BIOS設定画面へは、PCの電源を入れた直後、Windows等のOSに制御が移る前に、特定のキーを押すことで入ることができます。 何のキーを押すかは、PCのメーカーによって異なりますが、ほとんどの大手家電メーカーのパソコンは「F2」キーではいれます。 大手メーカーの中でもLenovoは「F1」が多いようです。その他、自作などでの場合「Del」キー(deleteキー)か「Esc」キーが多いようです。


併せて注意しておきたいのは、キーを押すコツも必要になります。 入力のタイミングは、電源ボタンを押して軽く一呼吸置き、それからキーの入力を行います。 また、キーの入力の仕方は、例えばF2キーを強く押しっぱなしにするのではなく、 そんなに素早くなく普通にトントントンと何度か軽く叩いてみる感じです。 電源ボタンを押して、電源が入ったら、Windows等のOSの起動まで(Windowsの起動ロゴや輪になった丸がクルクルまわり出す前)の間は、 ある程度の間隔があるのですが、その間の何時でもキーを受け付けているわけではなく、その中の特定の瞬間にキーを入力する必要があるようで、 これが初めての時は、結構むつかしかったりして上手くいかず、「キーが間違っているのでは?」と思ったりするのがBIOS画面へ入れないアルアルです。 慣れると、簡単に入れるようになるので、何度かトライしてみてください。 しかし、実際には稀に特殊なキー操作で入るメーカーもあるので、どうしても上手くいかなければ「BIOS 設定 キー」辺りのワードでググりましょう。


上手く入れましたか? BIOS設定画面はPCによって様々ですが、うちのノートパソコンでは、以下のようなものになっています。 自作PC等で高級なマザーボードを利用していると、ド派手な設定画面だったりもしますが、 一般的にはこのような地味な感じの画面が現れるはずです。



BIOS設定画面では、矢印キー(カーソルキー)で項目を選択し、 Enterキー(Returnキー)で決定したり、項目に入ったりできます。 一方、項目を抜けて元の画面に戻ったりする場合にはEscキーを使うことがほとんどです。 画面は大体英語ですが、よく見ると使えるキーの説明もあるはずなので、確認してみましょう。


セキュアブートについて

Windows10がインストールされているパソコンでは、 「セキュアブート」という機能が働いています。 そして、セキュアブート機能のあるパソコンにLinux等をインストールする場合、 Linux側でセキュアブートに対応したものをインストールしないと上手く起動が出来ません。 ですから、ArchLinux側でセキュアブートの対応を行わない場合、 BIOSでセキュアブートの設定を無効にしておく必要があります


例えば、うちのPCのBIOS設定画面では、「Security」タブに「Secure Boot」項目があります。


 項目に入ると、「Secure Boot」を「Enabled(有効)」か「Disabled(無効)」を選択できるので ここを「Disabled(無効)」にしておきます。


Bootデバイスの優先順位について

Windowsしかインストールされていないパソコンで電源ボタンを入れると、Windowsが当然のように起動します。


しかし、USBメモリにインストールしたWindowsのインストールディスクや 回復ディスクからシステムを起動したい場合、または、 ArchLinuxのインストールDVDを起動したい場合等、 通常起動されるハードディスク以外のものを「優先」して起動したい場合があります。 この時、BIOS設定画面にあるBootデバイス優先順位設定を利用します。 例えば、通常、Windowsは内臓のハードディスクに入っているので、 これに先立ってUSBメモリやCDドライブを優先するように設定しておけば、 USBメモリを刺した状態でPCを起動した時には、 USBが優先されてUSBメモリ内のリカバリプログラムや Linuxのライブ環境が優先して起動されるようになります。


以下が、うちのノートパソコンのBIOS設定画面上のBootデバイス優先順位設定のページの様子です。


「Boot Option Priorities」の項目で、 ブートの優先順位を変更出来るようになっています。 例えばうちの場合、各項目の部分でエンターキーを押すと、 そこで選択できるものが具体的にメニューに表示されるので、 その中から好きなものを選択して順序を入れ替えて設定します。


さて、スクリーンショットを見て気が付いておられる方もいるかもしれませんが、 ここで「Bootデバイスの優先順位」の設定について、 もう少し正確にみてみましょう。 実は、このBootの優先順位項目には、 今と昔で大きな違いがあります。 この違いは、パソコンのシステムの起動の仕組みが大きく変わった事に起因しているので、 その違いを把握することで、 昔のシステムと今のシステムの区別を正確にすることができるようになります。


パソコンはどうやって起動しているのか?

パソコンは電源ボタンを入れると通常、勝手にWindowsが起動します。 しかし、実は、パソコンの電源ボタンを押すと、いきなりWindowsが呼び出されて動いているわけではありません。 パソコンは、電源ボタンが押されると、 パソコン自身のハード的な初期化(実際に各パーツを使える状態に準備する)をおこなって、 それからそのパソコン上で実行するプログラム、例えば、Windowsを読み込んで実行しています。 パソコン上で使うプログラムは当然、Windowsである必要はなくて、Linuxだって実行できますし、 ここまで見ていたBIOSの設定画面もパソコンで実行されて動いているプログラムです。 つまり、パソコンそれ自体に、そのパソコンにプログラムを読み込んで実行するためのプログラムが付随しており、 電源ボタンを押したときに立ち上がっているのは、このシステムプログラムなのです。 そして、このWindows等のプログラムを読み込むシステムプログラムがBIOS(Basic Input Output System)と呼ばれています。


BIOSは古いシステム

BIOSというのは、実は物凄く古く、将に前時代的なシステムです。 どれぐらい古いかといえば、例えば、皆さん、「プログラムを実行する」ということを想像してみましょう。 Windowsならば、プログラムのファイルアイコンをダブルクリックするでしょう。 もしかしたら、シェルからコマンドを打ち込んで実行するかもしれません。 今どきの「プログラムの実行」という発想はこんな感じです。


しかし、BIOSには、そのような常識は通用しません。 プログラムの実行は、「CPUが解するバイナリ数値の列を特定のアドレス位置に設置して読み込ませる」というレベルに原始的なのです。 これらの違いは、デバイス上の「ファイルシステム」を理解できるかどうかにあります。 BIOSシステムが出来た当初は、 今では当たり前で一般の人は存在さえ気にしていない「ファイルシステム」を理解するシステム自体が、BIOSで呼び出す目的物だったのですから、 BIOSがファイルシステムを解さないのは当たり前といえます。


そして、具体的なBIOSによるプログラムの起動は、 ハードディスクの決まった特定の位置にプログラムコードを配置しておくと、 BIOSがその部分をメモリにロードしてプログラムを実行してくれるというものでした。 この特定の位置の事をMBR(マスターブートレコード)と呼んでいます。 MBRは、ハードディスク1台に一つしかありません。 つまり、パソコンでシステム起動時に実行できるプログラムはハードディスク1台ごとに1つしか無いわけです。


新しいUEFI

さて、冒頭で少し話した通り、未だに、パソコンのシステム設定画面の事は「BIOS設定画面」で通じるのですが、 先で述べた通り、BIOSは正確には、昔の古い起動システムの呼び名だったのです。 そして、比較的最近、Windows10がインストールされて販売されているようなパソコンの起動システムはBIOSではありません。 UEFI(Unified Extensible Firmware Interface)という新しい起動システムが搭載されています。 つまり、今あなたが触っているパソコン、実は、大体BIOSではなくて、UEFIシステムで動いています。


では、BIOSに比べて、どれぐらい新しいのでしょうか? もう一度、「プログラムを実行する」ということを想像してみましょう。 UEFIシステムでは、なんと、今思い浮かべたのと大体同じように自然で普通に起動プログラムを実行できるように進化しているのです。


UEFIでは、ハードディスク内にある「EFIシステムパーティション」の中を「見る」事が出来ます。 このパーティションは、fat32のファイルシステムで、データをファイルとして管理できます。 そして、このパーティション内にEFIアプリケーションを配置しておけば、 UEFIから実行することが出来るようになっています。 実行のさせ方は、UEFIシェルを通じたり、UEFIで優先順位を決めたり、UEFI設定画面から直接選択したりと プログラム的に便利に起動できます。


Boot優先順位設定の勘違いアルアル

実は、UEFIパソコンでは、 「Bootデバイスの優先順位」という言い回しは不正確な場合があります。


UEFI以前の古いBIOSパソコンのシステムでは、BOOTの優先順位の指定を 確かにディスクデバイスで指定していました。 ですから、古いパソコンのBIOSのBoot優先順位設定画面では、 「1番はじめに、FDドライブから起動する」、 「2番目に、CDドライブから起動する」、 「3番目に接続されているハードディスクから起動する」 というような指定を行っていました。


先の項目でBootの優先順位設定画面を見ているので、 この設定項目自体はUEFIにもあります。 しかし、もう少しよく見ると、指定しているものが「grub」や「Windows Boot Manager」となっていて、 どうも「ドライブ」を指定していないようにみえます。


さて、ここで注意すべきところは、 「Boot優先順位」として、指定するものが古いBIOSシステムとUEFIでは正確には異なるということです。 上記のBIOSとUEFIの起動の違いを思い返してください。 古いBIOSシステムでは、BOOTの優先順位は、接続されている「ディスクデバイス」で指定することになります。 何故なら、BIOSの起動プログラムは、ハードディスク毎に一つあるだけだからです。 一方、UEFIでは、BOOTの優先順位は「UEFIアプリ」単位で指定できます。 何故なら、UEFIの場合、同一ディスク内に複数の起動できるものがある可能性があるからです。


このように順序だてた説明を受ければ、なんとなく納得できるのですが、 UEFIについてなんとなく知っている程度で、古いBIOSの経験的知識をもった人ほど、 陥りやすいUEFIの勘違いがあるようです。 この手のトラブルに関する質問はネットでよく見られます。


HDDが認識されない?

UEFIパソコンで、boot優先順位を設定しようとした時に、 「何も表示されない」事に戸惑う事があるようです。 例えば、Linuxをインストールしようとして、HDDのパーティションを全消去した場合です。 優先順位設定のメニューを開いても何も出てこないので、 「あれ?ちゃんとHDD接続してあるのにシステムがHDDを認識してない??なんか壊れた?やばい??!!」とゾッとしたりする場面です。


このノートを順に読んできた人なら、何が起こっているのか把握できると思います。 改めてUEFIの知識を整理して考えてみると、 UEFIのBOOt優先順位設定の項目の選択肢として表示されるのは「UEFIアプリ」であり、 システムにHDDが繋がっていてちゃんと認識していても、そのHDDにEFIシステムパーティションが無かったり、 EFIシステムパーティションの中にUEFIアプリが存在していない場合には、 Boot優先順位設定の項目の選択肢には原則的に何も表示されない事があり得ます。 HDDを認識しているかどうかは別の話なのです。


USBメディアから起動する設定に出来ない

次に、USBメモリからLinuxのライブシステムを起動しようとしているときに、 USBメモリを刺さずに、事前にUSBを刺したら優先的に読み込むようにしようと思って、 BOOT優先順位項目を開いたのにUSBが一覧になく、 「あれ?どうやったらUSBを1番に出来るんだろう??」とネットでググり始める場面です。


UEFIではBOOT優先順位にデバイスそのものでの指定はできないので、「USBメモリ」を指定することは出来ません。 ですから、実は、「事前」にUSBメモリからのブートを一番にすることはできないのです。 USBメモリ等のライブ環境を起動したい場合には、USBメモリを刺した状態でUEFIを起動し、UEFIで「見れる」状態にすれば、 優先順位設定等のメニューに表示させることができるのです。


実際には、全てのUEFI設定でこのようなことが起こるわけではありません。 UEFIの種類や設定によって、 この辺のわかりにくさや昔のシステムとの整合性をとるため等で、 UEFIシステムでありながら、ディスクデバイス単位での設定が出来るものもあるようです。 逆にUEFIシステム移行過渡期のものでは、ディスク内のUEFIアプリの選択をUEFI設定から行えず、 特定のアプリファイル名のものが自動的に起動されるものがあると聞いたこともあります。 いずれにせよ、BIOSとUEFIの仕組みの違い自体を軽く把握しておけば、 その場での判断のヒントになると思います。


一時的なデバイスからの起動

ここで、ArchLinuxインストールUSBスティックの起動について考えてみます。


PCの電源を入れる前にUSBを差し込んで、 電源を入れた場合、何が立ち上がるのかは、UEFI設定に寄ります。 ですから、確実にUSBからシステムを立ち上げるためには、 一旦、UEFI設定画面に入りましょう。


先ほどまで、UEFIにあるBOOtの優先順位の設定の項目について説明していました。 もちろん、USBを刺した状態でUEFI設定を開けば、 優先順位項目にUSB内にあるarchlinuxのライブ環境を起動させるUEFIアプリが表示されるので、 これを第一順位に設定して保存し、システムを再起動すれば、USBから起動されるはずです。 しかし、UEFIの場合、USBメモリ内にある一時的な起動用アプリは、 優先順位で指定するのではなくて、「Boot Override」の項目から起動させることが出来る場合があります。


うちのUEFI設定画面では、「Boot」タブではなくて「Save & Exit」タブにこの「Boot Override」項目があります。 ここには、EIFパーティションから読めるものと、今まで起動したことのある履歴が表示されており、 ここから選択することで、設定してあるBoot優先順位を変更することなく、UEFIアプリを起動する事ができる項目が用意されています。


また、システムによっては、UEFI設定に入る代わりに、 UEFIアプリ選択メニューを呼び出すことができるかもしれません。 UEFI設定画面に入るタイミングで、F7、F11、F8、F12のどれかのファンクションキーでメニューを呼び出せるかもしれません。 うちのノートパソコンでは「F7」キーでメニュー選択できます。


このほかに、うちのUEFI設定画面には、「初めて見るUEFIアプリをどう起動するか?」という項目があります。 これを「一番初めに」というふうに設定しておけば、USBメモリ等にあるLinuxのインストーラー等を自動で立ち上げることができるかもしれません。


これらのUEFI設定画面における知識を持っておけば、 Linuxのインストール、Windowsの回復ディスク、Windowsインストールメディア等のUSBメモリ起動させる必要があるどんなときにも 応用可能です。


BIOSとUEFIに関する知識をおしゃれに把握し、WindowsやLinuxのインストールに役立てる BIOSとUEFIに関する知識をおしゃれに把握し、WindowsやLinuxのインストールに役立てる Reviewed by shunsk on 8/30/2021 Rating: 5

No comments:

Sora Templates

Image Link [https://scontent.xx.fbcdn.net/v/t1.0-9/13343039_103147363441877_5912666874811349341_n.jpg?oh=32de40bba33988d454d1a3104dde18ac&oe=57D1E6F4] Author Name [Syunkichi] Author Description [Let's write codes staylishly!!!!!] Twitter Username [webgeek7] Facebook Username [syunkichi.nekota] GPlus Username [114037852049523769954] Pinterest Username [pcgeek91] Instagram Username [s.nekota]