Linux
Ubuntu
grub
UEFI

Linuxが起動するしくみ

Linuxが起動するしくみについてまとめてみよう。

Linuxが起動する流れ

先ず、パソコンの電源を入れると、マザーボード上にあるBIOSというファームウェアが起動する。自分も今までそう思っていたが、長年、IT技術から離れていた間に世の中は進化しているようで、近年は、BIOSに変わって、UEFIというファームウェアが主流になりつつあるそうだ。BIOSはハードディスクの容量が2TBまでしか対応できないという制限があり、ハードディスクの大容量化に伴い普及しつつある。

このファームが起動して、ハードディスク上にある、ブートローダという部分を起動させる。ブートローダにはいくつか種類があり、LinuxではGRUBが主流となっている。各ディストリビューションでもこれが採用されており、UbuntuでもGRUBを採用している。ブートローダの役割は、カーネル(つまりLinux)をメモリ上のコピーする事にある。

さて、カーネルだが、オープンソースということもあり、全てのハードに対応しているとか限らない。運悪く対応していなければ、当然上手く起動してくれないことになる。この場合どうするか、カーネルのビルド(つまりコンパイル)をしてやらないといけなくなるのだ。素人には当然敷居が高くなる。

カーネルが立ち上がったら、次にinitシステムが起動される。initシステムだが、各サービスを自動で起動してくれるシステムである。Linuxではデーモンといういいかたをする。

ここまでの流れを経て、晴れてOSが使えるということになるのだ。

まとめ

  1. 電源ON
  2. BIOS / UEFI が起動
  3. GRUB(ブートローダ)が起動
  4. Linux(カーネル)をメモリ上のコピー
  5. initシステムが起動