• 線上工具
  • - 計算器
    • 字元計數
  • - 下載
    • TikTok 下載
    • 抖音下載
  • - 網路工具
    • BASE64
    • Base64 轉圖片
    • 圖片轉 Base64
    • URL 編碼
    • JavaScript
    • 時間戳
    • Unicode 轉換器
    • JSON 格式化
    • 修改副檔名
    • 製作列表
    • CSS 優化器
  • - 加密工具
    • MD5 加密
    • 隨機生成器
  • - 圖像工具
    • 圖像壓縮
    • QR 碼生成器
    • QR 碼識別器
    • 壁紙預覽
    • 圖片 EXIF
  • - 資訊表
    • 血型遺傳
    • 服裝尺寸
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
CentOSシステムはどのようにプロセスを開始しますか?CentOSシステム起動プロセスのチュートリアル
2021-12-29

電源ボタンを押すと、システムの背後にある秘密がわかりますか?ここでは、linuxシステムの起動の背後にある秘密を探ってみましょう。

1.POST

マザーボードは電源を入れた後、システムはまずPOSTプログラムによって内部の各設備に対して検査を行い、自己検査中にエラーが発見された場合、2つの状況によって処理する:深刻な故障(致命的な故障)に対して停止し、この時各種の初期化操作がまだ完成していないため、いかなるヒントや信号を与えることができない;重大でない障害については、プロンプトまたは音声アラーム信号が与えられ、ユーザの処理を待つ。

2.BIOS起動起動起動段階

セルフテストに合格した後、各ブートデバイスを順番に検索します。最初にブートプログラムがあるデバイスは、今回の起動に使用するデバイスです。一般的にパソコンは「F 2」や「Del」キーなどを押してBIOSに入り、ハードディスクの起動順序を調整することができます。

ブートストラップのある最初のデバイスが見つかった後、BIOSはデバイスのMBRを見つけ、Bootloaderを読み込みます。

3.GRUPブートフェーズ

この時点でCentosシステムを見ることができますが、一般的には操作を必要とせず、自動的にシステムを起動します。システムを手動で起動することもできます

3.1 grubコマンドラインインタフェースで手動でシステムを起動する:

grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot

3.2 grubのコマンドラインインタフェース:

e:メニューを編集するための編集モード;

c:コマンドモード、インタラクティブインタフェース;

help:ヘルプリストの取得

help KEYWORD:詳細ヘルプ

find (hd#,#)/PATH/TO/SOMEFILE:

root(hd#,#)grupのルートデバイスを設定

kernel /PATH/TO/KERNEL_FILE:今回の起動時に使用するカーネルファイルを設定します。さらに、多くのカーネルサポートで使用されるcmdlineパラメータを追加することもできます。

たとえば、init=/path/to/init、selinux=0

initrd /PATH/TO/INITRAMFS_FILE:選択したカーネルに追加ファイルを提供するramdiskを設定します。

boot:選択したカーネルの起動を起動します。

3.3プロファイル:/boot/grub/grub.conf

構成アイテム:

default=#:デフォルトで起動するメニュー項目を設定します。落単項(title)番号は0から始まる。

timeout=#:メニュー項目の待機オプションの選択時間を指定します。

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:メニュー背景画像ファイルのパスを指定します。

hiddenmenu:メニューを隠す;

password[--md 5]STRING:メニュー編集認証;

title TITLE:メニュー項目「タイトル」を定義し、複数回表示することができる。複数のカーネルまたはオペレーティングシステムを起動するために使用

root(hd#,#):grubはstage 2およびkernelファイルが存在するデバイスパーティションを検索します。grubの「根」です。

kernel /PATH/TO/VMLINUZ_FILE[PARAMETERS]:起動したカーネル

initrd /PATH/TO/INITRAMFS_FILE:カーネルマッチングramfsファイル;

password[--md 5]STRING:選択したカーネルまたはオペレーティングシステムを起動したときの認証

4.カーネルステージのロード

カーネル自体が初期化されます。

認識可能なすべてのハードウェアデバイスを検出する。

ハードウェアドライバをロードします。(ramdiskによるドライバのロードが可能)

ルートファイルシステムを読み取り専用でマウントします。

ユーザースペースを実行する最初のアプリケーション:/sbin/init

5.init初期化フェーズ

カーネルのロードが完了すると、initプログラムが実行され、initプロセスが開始すると、システム起動の制御権がinitプロセスに渡されます。

/sbin/initプロセスは、すべてのプロセスの親プロセスです。initが起動すると、まずプロファイル/etc/inittabを読み込み、次の作業を行います。

1.システム初期化スクリプト(/etc/rc.d/rc.sysinit)を実行し、システムに対して基本的な配置を行い、ルートファイルシステムとその他のファイルシステムを読み書き方式でマウントし、このシステムは基本的に実行され、後で運行レベルの確定と相応のサービスの起動を行う必要がある。

2.起動後に入る運行レベルを確定する;

3.実行/etc/rc.d/rcは、サービス開始の順序がK後Sであることを定義、具体的には各実行レベルのサービス状態が/etc/rcである.d/rcn.d(n=0~6)ディレクトリの下で、すべてのファイルが/etc/initにリンクする.dの下の対応するファイル。

4.key sequenceの設定について

5.UPSのスクリプト定義について

6.仮想端末/sbin/mingettyの起動

7.運転レベル5でXを実行

プロファイル:/etc/inittab

各行はactionとそれに対応するprocessを定義する

id:runlevels:action:process

id:タスクの識別子;

runlevels:このタスクを開始するレベルは?#,###,空で、すべてのレベルを表すことができます。

Action:どの条件でこのタスクを開始しますか。

process:タスク;(スクリプトまたはプログラム)

action:

wait:このタスクが存在するレベルに切り替えるのを待っている間に1回実行します。

respawn:このタスクが終了すると、自動的に再起動します。

initdefault:デフォルトの実行レベルを設定します。この場合、processは省略する。

Sysinit:システムの初期化方式を設定、ここでは一般的に指定/etc/rcである.d/rc.Sysinitスクリプト;

K*:停止するサービス;K##*、優先度、数字が小さいほど優先的に閉じる;依存するサービスはまず閉鎖され、その後閉鎖されて依存される。

S*:起動するサービス;S##*、優先度、数字が小さいほど、優先的に起動します。依存するサービスは先に起動し、依存するサービスは後で起動する。

chkconfigコマンド:管理/etc/init.d/各サービススクリプトの各レベルでの起動または停止状態;

表示:chkconfig--list[name]

追加:chkconfig--add name

削除さくじょ:chkconfig--del name

指定したリンクタイプを変更するには、次の手順に従います。

--level LEVELS:制御するレベルを指定します。デフォルトは2345です。

initコマンド:

レベル切替:init#

レベル表示:who-r

注意:

通常レベルでは、最後に起動するサービスS 99 localは/etc/initにリンクされていない.dの下のスクリプトではなく、/etc/rcにリンクされています。d/rc.local(/etc/rc.local)スクリプト;したがって、サービススクリプトとして書く必要がないプログラムが起動して自動的に実行されることを望む場合は、このスクリプトファイルに直接配置すればよい。


ソース元URL:https://dopubox.com/article/p/51c0582c0a6c3c51

其他工具
  • 字元計數 TikTok 下載 抖音下載 BASE64 Base64 轉圖片 圖片轉 Base64 URL 編碼 JavaScript 時間戳 Unicode 轉換器 JSON 格式化 修改副檔名 製作列表 CSS 優化器 MD5 加密 隨機生成器 圖像壓縮 QR 碼生成器 QR 碼識別器 壁紙預覽 圖片 EXIF 血型遺傳 服裝尺寸
  • 藤井聡太八冠、瀬戸際の戦い 将棋叡王戦、31日に第4局
    2024-05-29

    被害者「問題解決には程遠い」 旧ジャニーズ被害者らが会見
    2024-05-29

    意思疎通うまくいかず信頼関係失われた
    2024-05-31

    「ねこクラゲ」被告、脱税認める 原稿優先で申告せず、福岡地裁
    2024-05-31

    作曲家ビゼーの窮地を救った傑作オペラ『真珠採り』の聴きどころは?【クラシック今日は何の日?】
    2024-05-31

    ジャスパー・モリソンの名言「…が「普通」のものより役にたつことはない。」【本と名言365】
    2024-06-03

    「ロバート」秋山さんが鳥取PR イリュージョニストに扮し
    2024-06-04

    レイモンド・ローウィの名言「優れたインダストリアルデザインは、…」【本と名言365】
    2024-06-04

    太宰府天満宮で「Fukuoka Art Book Fair」が開催へ
    2024-06-04

    国際博物館の日、今年のテーマは「学びと研究のための博物館」
    2024-06-04

    お台場エリアを舞台に新芸術祭「東京お台場トリエンナーレ 2025」が誕生
    2024-06-05

    東京都写真美術館で「今森光彦 にっぽんの里山」が開催へ
    2024-06-04

    105歳で死去した画家弥勒祐徳さん おごらず、黙々と、ひたすらに神楽など描く
    2024-06-05

    島左近の墓、京都の寺で発掘調査 三成の腹心、関ケ原後も生存?
    2024-06-05

    田名網敬一が新作の巨大インスタレーションを発表へ。世界初の大規模回顧展「田名網敬一 記憶の冒険」
    2024-06-06

    そごう・西武が百貨店として初めてNFTマーケット開設、NFT作品約100点を発売
    2024-06-06

    藤井八冠、5連覇へ白星発進 将棋棋聖戦、山崎八段破る
    2024-06-06

    写真家の吉田ルイ子さん死去 「ハーレムの熱い日々」
    2024-06-06

    「江戸期より後の遺構」 世界遺産目指す佐渡の金山、一部除外勧告
    2024-06-06

    もしあの時に戻れたら…歌人・穂村弘が話題書『迷子手帳』で明かす、今も忘れられない「失敗」
    2024-06-07

    ©  Dopu Box
    💛