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

    一力が本因坊初防衛
    2024-05-30

    「韓国版純烈」K4の「アダルトKポップ」 日本デビュー曲USEN1位も獲得 コアな追っかけも
    2024-05-30

    黒柳徹子さん、北京で特別授業 「日本語勉強続けて」
    2024-05-31

    小学館も来週に報告書公表
    2024-05-31

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

    【光る君へ】平安時代、強烈なエピソードで知られた2人の受領とは
    2024-06-01

    ビルケンシュトック、創業から250年の歴史を振り返る2冊を出版
    2024-06-01

    三姉妹が温泉旅行で取っ組み合いの大げんか うっとうしくてめんどうくさい家族愛描く「お母さんが一緒」
    2024-06-02

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    「2億円トイレ」のイメージ図など公開 大阪・関西万博
    2024-06-04

    エドガー・サラン個展「EDGAR SARIN ー HUNKY DORY」(VAGUE KOBE)レポート。展示空間の可能性やその調和の在り方を問いかける
    2024-06-04

    クールべ《世界の起源》はなぜ攻撃されたのか? ポンピドゥー・センター・メッスで破壊・盗難事件
    2024-06-04

    性被害者支援の法人設立 スマイル社
    2024-06-04

    書評:「日本美術史」を書き換える100年単位の挑戦。『この国(近代日本)の芸術──〈日本美術史〉を脱帝国主義化する』
    2024-06-05

    田名網敬一の巨大インスタレーションが、世界初大規模回顧展「田名網敬一 記憶の冒険」に登場。国立新美術館で8月7日から
    2024-06-06

    「art stage OSAKA 2024」が9月に開催。大阪・関西万博への機運も醸成
    2024-06-05

    アキナの山名さん骨折 毎日放送、ロケ中に転倒
    2024-06-06

    美術家藤井光さん個展「終戦の日/WAR IS OVER」 希望か絶望か…大分・佐伯の地下弾薬庫跡にこだまする泣き声
    2024-06-07

    パートナーとの強い絆から生まれた、ベンジャミン・ブリテンの代表作【クラシック今日は何の日?】
    2024-06-06

    ©  Dopu Box
    💛