起動とシャットダウン


😸 起動

Linuxの起動の大まかなフローは次のとおりです。

BIOSの読み込み

コンピュータの電源をオンにするとBIOSが次の処理を実行していきます。

  1. BIOS(Basic Input/Output System) がハードの初期化と自己診断処理を実施する
  2. BIOSに設定された起動デバイスからブートローダー取得する
  3. セクタの先頭(0)のデータを読み込んで、ブートローダー起動する
  4. ブートローダーLinuxのファイルシステムを認識し、カーネルファイルを読み込む

カーネル起動後の処理

  1. ブートローダーカーネルと初期ファイルシステム(initramfs)をメモリにロードする
  2. initramfsのinitファイルを実行して、ルートファイルシステムのマウントする
  3. ルートファイルが見つかると、エラーチェックをしてからマウントする
  4. initramfsファイルは削除されて、ルートファイル上でinitを実行します
  5. initプロセスが、内部変数の初期化やデバイスの検出と初期化などを行う

initファイルの実行内容

  • ルードファイルにアクセスするために必要なモジュールをロード
  • モジュールごとに必要なブロック特殊ファイルを/devに生成する
  • RAIDやLVMを使う場合はinitがセットアップを行い、ルートにアクセスできるようにする

シャットダウン

Linuxでは次のシャットダウンや再起動コマンドがあります。

  • shutdown: シングルユーザーモードへ移行。オプションでシステム停止、再起動などできる
  • halt: システムを停止状態に移行する
  • reboot: システムを再起動する。ファイルシステムのsyncとunmountの処理が同時に行わる

🐞 参考リンク

📚 おすすめの書籍