Linux(x86系)起動の流れ

serverLinux

概要

 状態:  閲覧数:1,589  投稿日:2008-08-22  更新日:2015-11-24
1.ブートローダ
・電源ONからliloやgrubといったブートローダソフトウェアが起動し,指定されたカーネルイメージをメモリに読み込む

2.カーネル
・メモリ上に読み込まれたカーネルが起動し,CPUやメモリ,周辺機器の認識や初期化を行う

3./sbin/init
・ハードウェアの初期化を終えたカーネルから処理を委ねられた/sbin/initが/etc/inittabの設定に従ってシステムの動作に必要な各種サービスを起動していく


1.ブートローダ


Ⅰ.PCの電源を入れると,まずマザーボード上のフラッシュメモリに書き込まれたBIOS(Basic Input/Output System)と呼ばれるソフトウェアが動き始める

Ⅱ.BIOSはマザーボード上のCPUやメモリ,接続されている各種拡張カードを認識,初期化していく

Ⅲ.接続されたハードウェアの初期化処理を完了すると,最初のHDDの先頭のセクタ(MBR:マスターブートレコード)に書き込まえたソフトウェアを起動して以後の処理を委ねる。このMBRの512バイトの部分に書き込まれているのが「ブートローダ」と呼ばれるソフトウェア

Ⅳ.ブートローダはOSごとに異なり,Linuxの中でもliloやgrubなどいくつかの種類があるが,最も広く使われているのはgrub。grubは起動するカーネルやカーネルパラメータを対話的なメニューから指定したり,さまざまな種類のファイルシステムを理解してカーネルをファイル名で読み出すことができるなど高機能なブートローダ

Ⅴ.一方,MBRは512バイト分しか使えないので大規模なソフトウェアを保存することはできない。そのためgrubでは機能を分割し,本来の機能はstage2と呼ばれる部分に置いてファイルシステム上に保存し,MBRにはstage2を読み込むだけの機能を持ったstage1と呼ばれる部分を置くようになっている


LINUXSTYLE



週間人気ページランキング / 11-16 → 11-22
順位 ページタイトル抜粋 アクセス数
1 開発 0 4
2 Create New App / アプリケーション登録 1
2 個人事業主が導入可能な決済系サービス2次選考過程第1段階 | 決済(Webサービスビジネス) 1
2 コインチェック株式会社   | Webサービスビジネス 1
2 Q1.「Twitter API」は必ずユーザ認証させる必要がある? 自分のデータを取得する場合はユーザ認証画面へ遷移させる必要はない? 1
2 電話番号認証を新規で行う(SMSメールを受信する)度に、(以前の該当アカウントでは)下記メールを受け取る 1
2 RSS購読解除履歴 | RSS(プログラミング) 1
2 大前提 / これまで / 自分で作成することを決意 1
2 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 1
2 何やってたか履歴 | プログラミング 1
2 「Twitter Developers」でアプリケーションを新規作成するためには? SMS認証用コードを確認可能な電話番号の登録が必要 | Twitter Developer(Twitter) 1
2 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 1
2 アクセス数が少ない Webサイト(開発ブログ) を非公開へ変更 | Webサービス開発 1
2 気になるアプリ | ブックマーク 1
2 mhtmlの問題 | Google Chrome 拡張機能 1
2 Twitterデータ 対応 第1版 / 第1版 更新 1
2 Q2.About multiple applications 1
2 ソフトウェア カテゴリー 1
2 LINUXSTYLE | Linux(server) 1
2 「Twitter API」を利用するためには? / Twitter API v1.1 / OAuth 1.0A / OAuth 2.0 | Twitter Developer(Twitter) 1
2025/11/23 1:02 更新