• 在线工具
  • - 计算器
    • 字符计数
  • - 下载
    • TikTok 下载
    • 抖音下载
  • - 网络工具
    • BASE64
    • Base64 转图片
    • 图片转 Base64
    • URL 编码
    • JavaScript
    • 时间戳
    • Unicode 转换器
    • JSON 格式化
    • 修改扩展名
    • 制作列表
    • CSS 优化器
  • - 加密工具
    • MD5 加密
    • 随机生成器
  • - 图像工具
    • 图像压缩
    • 二维码生成器
    • 二维码识别器
    • 壁纸预览
    • 图片 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 加密 随机生成器 图像压缩 二维码生成器 二维码识别器 壁纸预览 图片 EXIF 血型遗传 服装尺码 app.tool_clock
  • 民藝・イズ・ビューティフル。 日本文化と黒人文化が融合する「アフロ民藝」とは?
    2024-05-30

    白と黒で奏でるインスタレーション 渡辺信子が京都で「White and Black」
    2024-05-31

    授業中の生徒や住民が弾道ミサイル飛来を想定した避難訓練 福島・須賀川桐陽高
    2024-05-31

    藤井聡太八冠が勝ち、最終局へ 将棋叡王戦で2勝2敗
    2024-05-31

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

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

    元アシスタントが語る Dr.スランプ「あのキャラ」の誕生秘話
    2024-06-01

    エリザベートコンクールで吉田さん6位入賞
    2024-06-01

    映像化は「作家の意向第一」と小学館が指針
    2024-06-02

    彫刻の森美術館で「舟越桂 森へ行く日」が開催へ
    2024-06-05

    「UESHIMA MUSEUM」が開館。屈指の現代美術コレクションを一般公開
    2024-06-05

    「ゲバルト」展が東京日仏学院などで開催。反暴力的反応とその美的様式を探る
    2024-06-05

    PARCELで「Not Quite」開催。「~でなくもない」作家が集結
    2024-06-04

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

    「VOCA展」に関するハラスメント防止のためのガイドラインが制定
    2024-06-05

    ユージーン・スタジオが東南アジアに美術館を建設予定。新法人YES__pte.ltdを設立し、インドネシア・ジャカルタに美術館準備室を開設
    2024-06-04

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

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    書評:「普通にラッセンが好き」と言えない現代美術界へ。原田裕規『評伝クリスチャン・ラッセン 日本に愛された画家』
    2024-06-06

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

    ©  Dopu Box
    💛