Linux(x86系)起動の流れ

serverLinux

概要

 状態:  閲覧数:1,507  投稿日: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



週間人気ページランキング / 8-14 → 8-20
順位 ページタイトル抜粋 アクセス数
1 開発 0 3
2 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 2
2 「User is not Authorized」と「Phone number is already in use for too many accounts and cannot be added to another user.」は連動していない | Twitter Developer(Twitter) 2
2 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 2
3 RTだけ表示するやつ / 2020/3/20時点の結論 / Link 1
3 スポーツ 1
3 これまで / これから / 案1.Web広告の問題点 1
3 「Windows10」へ「gitfor windows VERSION 2.22.0」をインストール | GitHub(Git) 1
3 技術書籍 | プログラミング 1
3 Windows10で使用できるGitクライアント | GitHub(Git) 1
3 Webサービス開発 カテゴリー 1
3 意図せずSubModuleが作成された場合は、「$ git rm -rf --cached <対象ファイル or path>」後、「$ git add <対象ファイル or path>」 | Git BASH(Git) 1
3 「Twitter API」経由でツイートを無料取得することはできません。 | Twitter API (Twitter) 1
3 Twitter カテゴリー 1
3 Twitter 複数アカウントでPOSTしたい | Twitter Developer(Twitter) 1
3 2022 年 10 月 28 時点における、私が理想とする(Web系プロジェクトバックアップ用途)gitコマンド実行履歴。※これまで一度もこの通りに実行できたことはない | Git BASH(Git) 1
3 Git BASH 作業履歴 2022/10/20 / P48 site-rank(First-Ranking-Service) 2 / P25をP48のリポジトリへ反映させていたので、「git push -f origin main」で強制上書き実行 | Git BASH(Git) 1
3 「ERROR: Repository not found. fatal: Could not read from remote repository.」と表示された場合は、 | Git BASH(Git) 1
3 「Git Bash」→「GitHub」気づき 2022 | GitHub(Git) 1
3 Webサイト終了プライベート手順 | Webサービス開発 1
2025/8/21 1:02 更新