ブート, ブートストラップについて

PCの電源を入れると、
BIOS/UEFIブートローダーカーネルinit/systemd」 の順に起動していく。
電源を入れてからシステムが起動するまでの処理の流れを、
ブート(boot)またはブートストラップ(bootstrap)という。
 
ブートローダーは HDDの「MBR(Maste Boot Record)」に保存されている。
MBR は HDD の「先頭セクタ」とも呼ばれ、BIOS はこれを一番最初に読み込みにいく。
先頭セクタは「512バイト」と決まっており、
その中身には 「カーネルの保存位置」が記録されている。
 
ブートローダーがカーネルの保存位置を参照して、
起動デバイスからカーネルをRAMにロードしていく。
 
カーネルがメモリの初期化, システムクロックの設定などをおこない、
仮のルートファイルシステム(initramfs:初期RAMディスク)をマウントする。
 
ルートファイルシステムが使えるようになると、
カーネルが最初のプロセスであるinitまたはsystemdを実行し、
必要なサービスを順次起動していき、ログインプロンプトを表示し、起動処理を終える。
(普段、呪文のように/etc/init.d/httpd restart としてた理由がなんとなく分かる)
 
下記の方法でGRUBを修正してKernel Panicを回避できるのは、
PCはカーネルよりもMBRに入ったブートローダーを先に起動する仕組みになっているため、
たとえどれだけカーネルが破壊されていても、GRUBを先に立ち上げて操作ができるため。
 
 

Kernel Panic の回避方法

 
 
とても参考にしたサイト
CentOS 6.3 – Kernel Panic

カテゴリー: 技術

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です