最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux啟動過程分析和常見錯誤匯總

 更新時間:2025年04月19日 09:56:36   作者:白流心空  
這篇文章介紹了Linux系統(tǒng)的引導(dǎo)過程、系統(tǒng)初始化進(jìn)程及文件、MBR扇區(qū)故障處理、GRUB引導(dǎo)故障處理、服務(wù)控制及優(yōu)化啟動過程等內(nèi)容

一.Linux引導(dǎo)過程

  1.開機(jī)自檢

      服務(wù)器主機(jī)開機(jī)以后,將根據(jù)主板 BI0S中的設(shè)置對CPU(CentralProcessingUnit,中央處理器)、內(nèi)存、顯卡、鍵盤等設(shè)備進(jìn)行初步檢測,檢測成功后根據(jù)預(yù)設(shè)的啟動順序移交系統(tǒng)控制權(quán),大多時候會移交給本機(jī)硬盤。

  2.MBR引導(dǎo)

      當(dāng)從本機(jī)硬盤中啟動系統(tǒng)時,首先根據(jù)硬盤第一個扇區(qū)中BR(MasterBoot Record,主引導(dǎo)記錄)的設(shè)置,將系統(tǒng)控制權(quán)傳遞給包含操作系統(tǒng)引導(dǎo)文件的分區(qū);或者直接根據(jù)MBR記錄中的引導(dǎo)信息調(diào)用啟動菜單(如 GRUB)準(zhǔn)雜準(zhǔn)昶隱

  3.GRUB菜單

      對于 Linux 操作系統(tǒng)來說,GRUB(GRand Unified Bootloader,統(tǒng)一啟動加載器)是使用最為廣泛的多系統(tǒng)引導(dǎo)器程序。系統(tǒng)控制權(quán)傳遞給GRUB以后,將會顯示啟動菜單給用戶選擇,并根據(jù)所選項(xiàng)(或采用默認(rèn)值)加載 Linux 內(nèi)核文件,然后將系統(tǒng)控制權(quán)轉(zhuǎn)交給內(nèi)核。需要注意的是,Centos7采用的是GRUB2 啟動引導(dǎo)器。

  4.加載Linux內(nèi)核

      Linux 內(nèi)核是一個預(yù)先編譯好的特殊二進(jìn)制文件,介于各種硬件資源與系統(tǒng)程序之間,負(fù)責(zé)資源分配與調(diào)度。內(nèi)核接過系統(tǒng)控制權(quán)以后,將完全掌控整個Linux操作系統(tǒng)的運(yùn)行過程。在0penEuler 系統(tǒng)中,默認(rèn)的內(nèi)核文件位于“/boot/vmlinuz-6.6.0-72.0.0.76.oe2403sp1.x86_64”。

  5.systemd進(jìn)程初始化

      為了完成進(jìn)一步的系統(tǒng)引導(dǎo)過程,Linux內(nèi)核首先將系統(tǒng)中的“/sbin/init”程序加載到內(nèi)存中運(yùn)行(運(yùn)行中的程序稱為進(jìn)程),init 進(jìn)程負(fù)責(zé)完成一系列的系統(tǒng)初始化過程,最后等待用戶進(jìn)行登錄。

二.系統(tǒng)初始化進(jìn)程及文件

  1.init進(jìn)程

      Linux 操作系統(tǒng)中的進(jìn)程使用數(shù)字進(jìn)行標(biāo)記,每個進(jìn)程的身份標(biāo)記號稱為 PID。在引導(dǎo)Linux 操作系統(tǒng)的過程中,“/sbin/init”是內(nèi)核第一個加載的程序,因此 init 進(jìn)程對應(yīng)的 PID號總是為 1。init 進(jìn)程運(yùn)行以后將陸續(xù)執(zhí)行系統(tǒng)中的其他程序,不斷生成新的進(jìn)程,這些進(jìn)程稱為 init 進(jìn)程的子進(jìn)程。反過來說,init 進(jìn)程是這些進(jìn)程的父進(jìn)程。當(dāng)然,這些子進(jìn)程也可以進(jìn)一步生成各自的子進(jìn)程,依次不斷繁衍下去,最終構(gòu)成一棵枝繁葉茂的進(jìn)程樹,共同為用戶提供服務(wù)。

  2.systemd進(jìn)程

      Systemd 是 Linux 操作系統(tǒng)的一種 init軟件,Cent0s7系統(tǒng)中采用了全新的 Systemd 啟動方式,取代了傳統(tǒng)的 SysVinit。Systemd 啟動方式使系統(tǒng)初始化時諸多服務(wù)并行啟動,大大提高了開機(jī)效率。0penEuler 系統(tǒng)中“/sbin/init”是“/lib/systemd/systemd”的鏈接文件。換言之,0penEuler 系統(tǒng)中運(yùn)行的第一個 init 進(jìn)程是“/lib/systemd/systemd”。systemd 守護(hù)進(jìn)程負(fù)責(zé) Linux 的系統(tǒng)和服務(wù),systemctl 用于控制 systemd 管理的系統(tǒng)和服務(wù)狀態(tài)。Systemd 將其管理的資源組織成各種類型的單元(Unit)。

   Systemd 使用的各種單元類型:

單元類型

擴(kuò)展名

說明

Service

.service

描述一個系統(tǒng)服務(wù)

Socket

.socket

描述一個進(jìn)程間通信的套接字

Device

.device

描述一個內(nèi)核識別的設(shè)備文件

Mount

.mount

描述一個文件系統(tǒng)的掛載點(diǎn)

Automount

.automount

描述一個文件系統(tǒng)的自動掛載點(diǎn)

Swap

.swap

描述一個內(nèi)存交換設(shè)備或交換文件

Poth

.poth

描述一個文件系統(tǒng)中文件或目錄

Timer

.timer

描述一個定時器(用于實(shí)現(xiàn)類似cron的調(diào)度任務(wù))

Snapshot

.snapshot

用于保存一個systemd的狀態(tài)

Scope

.scope

使用systemd的總線接口以編程的方式創(chuàng)建外部進(jìn)程

Slice

.slice

描述居于Cgroup的一組通過層次組織的管理系統(tǒng)進(jìn)程

Target

.target

描述一個systemd的單元

排除系統(tǒng)啟動類故障

三.MBR扇區(qū)故障

  1.備份MBR扇區(qū)數(shù)據(jù)

      由于 MBR扇區(qū)中包含了整個硬盤的分區(qū)表記錄,因此該扇區(qū)的備份文件必須存放到其他的存儲設(shè)備中,否則在恢復(fù)時將無法讀取到備份文件。例如,執(zhí)行以下操作可以將第一塊硬盤(nvme0n1)的MBR扇區(qū)備分到第二塊硬盤的 sda1 分區(qū)中(掛載到/mbr 目錄)。

引導(dǎo)過程與服務(wù)控制_備份文件

  2.模擬MBR扇區(qū)故障

      這里仍然使用 dd 命令,人為地將MBR扇區(qū)的記錄覆蓋,以便模擬出 MBR扇區(qū)被破壞的故障情況(切記要先做好備份,并且將備份文件存放到其他硬盤)。例如,執(zhí)行以下操作可以從設(shè)備文件zero中讀取512 字節(jié)的數(shù)據(jù),并將其覆蓋到第一塊硬盤(nvme0n1),從而破壞 MBR 扇區(qū)中的數(shù)據(jù)。

引導(dǎo)過程與服務(wù)控制_備份文件_02

  3.從備份文件恢復(fù)MBR扇區(qū)數(shù)據(jù)

      由于 MBR扇區(qū)被破壞以后,就無法再從該硬盤啟動系統(tǒng),所以需要使用其他硬盤中的操作系統(tǒng)進(jìn)行引導(dǎo),或者直接使用0penEuer系統(tǒng)的安裝光盤進(jìn)行引導(dǎo)。不管使用哪種方式,目的都是相同的--獲得一個可以執(zhí)行命令的 Shell 環(huán)境,以便從備份文件中恢復(fù) MBR 扇區(qū)中的數(shù)據(jù)。以使用 0penEuler 安裝光盤引導(dǎo)為例,當(dāng)出現(xiàn)安裝向?qū)Ы缑鏁r,選擇“Troubleshooting”選項(xiàng),進(jìn)入修復(fù)故障頁面。

引導(dǎo)過程與服務(wù)控制_系統(tǒng)服務(wù)_03

      然后系統(tǒng)會自動?xùn)苏矣脖P中的 Linux分區(qū)并嘗試將其掛載到/mnt/sysimage 目錄(選擇“1”確認(rèn)并按 Enter 鍵繼續(xù))。接下來會出現(xiàn)rescue 字符界面。

引導(dǎo)過程與服務(wù)控制_運(yùn)行級別_04

      最后,按 Enter 鍵后將進(jìn)入帶“sh-4.2#”提示符的 Bash Shell 環(huán)境,只要執(zhí)行相應(yīng)的命令掛載保存有備份文件的硬盤分區(qū)(sda1),并將數(shù)據(jù)恢復(fù)到硬盤“/dev/nvme0n1”中即可,具體探作如下。需要注意的是,當(dāng)前使用的系統(tǒng)環(huán)境是光盤中的Linux 目錄結(jié)構(gòu)。

引導(dǎo)過程與服務(wù)控制_運(yùn)行級別_05

四.GRUB引導(dǎo)故障

      大多數(shù) Linux 操作系統(tǒng)默認(rèn)使用的引導(dǎo)程序,可以通過啟動菜單的方式選擇進(jìn)入不同的操作系統(tǒng)(如果有)。當(dāng)配置文件/boot/grub2/grub.cfg 丟失,或者關(guān)鍵配置出現(xiàn)錯誤,或者 MBR中的引導(dǎo)程序遭到破壞時,Linux主機(jī)啟動后可能只出現(xiàn)“grub”的提示符,無法完成進(jìn)一步的系統(tǒng)啟動過程。

引導(dǎo)過程與服務(wù)控制_備份文件_06

     由于在“grub>”環(huán)境中使用的命令較為復(fù)雜,且一般也難以記住相關(guān)的命令選項(xiàng)、內(nèi)核加載參數(shù)等,因此用戶可以采用另一種修復(fù)辦法,同樣使用 0penEuler 的安裝光盤引導(dǎo)進(jìn)入急救模式(參考上一小節(jié))。若分區(qū)表未被破壞,將備份過的/boot/grub/grub.cfg文件恢復(fù)即可。

引導(dǎo)過程與服務(wù)控制_運(yùn)行級別_07

      如果未備份過/boot/grub2/grub.cfg,則需要重新建立/boot/grub2/grub.cfg文件,若未執(zhí)行“chroot /mnt/sysimage”命令,則重新建立的 grub.cfg 配置文件應(yīng)該位于/mnt/sysimage/boot/grub2/grub. cfg.

      如果是MBR扇區(qū)中的引導(dǎo)程序出現(xiàn)損壞,則在重建grub.cfg配置文件后仍然可能無法成功啟動系統(tǒng),這時可以通過 0penEuler 救援模式的 Shell 環(huán)境重新安裝 grub 引導(dǎo)程序。切換到待修復(fù)的 Linux操作系統(tǒng)根環(huán)境,執(zhí)行“grub2-install /dev/sda”命令可以重新將 grub 引導(dǎo)程序安裝到第一塊硬盤(nvme0n1)的 MRB 扇區(qū),具體操作如下:

引導(dǎo)過程與服務(wù)控制_運(yùn)行級別_08

     注意:執(zhí)行“dd if=/dev/zero of=/dev/sda bs=446 count=1”命令可以模擬出對 MBR 扇區(qū)中 GRUE引導(dǎo)程序的破壞(注意先做好備份),但并不會破壞分區(qū)表(實(shí)際上分區(qū)表保存在MBR扇區(qū)中的第447~510 字節(jié)中,MBR 總共 512 字節(jié),前 446 字節(jié)是主引導(dǎo)記錄,從第 447 字節(jié)開始后的 64 字節(jié),每 16 字節(jié)為一組,是硬盤分區(qū)表)。

遺忘root用戶的密碼

      進(jìn)入急救模式的 Shell環(huán)境,切換到待修復(fù) Linux 操作系紡的根目錄環(huán)境,直接執(zhí)行“passwd root”命令重設(shè)root 用戶的密碼即可;或者修改/ete/shadow 文件,將 root 用戶的密碼字段清空,重啟后以空密碼可登錄系統(tǒng)。以下操作即為進(jìn)入急救模式重設(shè) root 用戶密碼。

引導(dǎo)過程與服務(wù)控制_備份文件_09

五.服務(wù)控制及優(yōu)化啟動過程

1.系統(tǒng)服務(wù)控制

      在 OpenEuler 系統(tǒng)中,各種系統(tǒng)服務(wù)的控制腳本默認(rèn)放在/usr/lib/systemd 目錄下。通過systemctl命令工具可以實(shí)現(xiàn)對指定系統(tǒng)服務(wù)的控制,語法格式如下:

systemctl 控制類型 服務(wù)名稱

    常見的控制類型:

start

運(yùn)行指定的系統(tǒng)服務(wù)程序

stop

終止指定的系統(tǒng)服務(wù)程序

restart

重啟指定的系統(tǒng)服務(wù)程序

reload

不退出服務(wù)程序,只刷新配置

status

查看指定的系統(tǒng)服務(wù)的運(yùn)行狀態(tài)及相關(guān)信息

2.切換運(yùn)行級別

(1.查看系統(tǒng)的target

      明確當(dāng)前系統(tǒng)所在的 target 將有助于管理員排除一些應(yīng)用故障。若未能確知當(dāng)前所處的目標(biāo),可以直接執(zhí)行“runlevel”命令進(jìn)行査詢,顯示結(jié)果中的兩個字符分別表示切換前的目標(biāo)、當(dāng)前的目標(biāo)。若之前尚未切換過運(yùn)行級別,則第1列將顯示“N”。

認(rèn)的 target,命令如下:

      若用戶想查看系統(tǒng)啟動時默認(rèn)運(yùn)行的target,可以執(zhí)行“systemctlget-default”命令以顯示系統(tǒng)默認(rèn)的target。

(2.切換系統(tǒng)的target

運(yùn)行級別

systemd的target

說明

init 0

關(guān)機(jī)

使用該級別時將會關(guān)閉主機(jī)

init 1

rescue.target

單用戶模式,不需要密碼驗(yàn)證即可登錄,多用于系統(tǒng)維護(hù)

init 2

multi-user.target

用戶定義/域特定運(yùn)行級別。默認(rèn)等同于3

init 3

multi-user.target

字符界面的完整多用戶模式,大多數(shù)服務(wù)器主機(jī)運(yùn)行在此級別

init 4

multi-user.target

用戶定義/域特定運(yùn)行級別。默認(rèn)等同于3

init 5

graphical.tatget

圖形界面的多用戶模式,提供了圖形桌面操作環(huán)境

init 6

reboot.target

重新啟動,使用該級別時將會重啟主機(jī)

      上述內(nèi)容中的運(yùn)行級別切換均為臨時切換,若要永久切換運(yùn)行級別,可通過n(鏈接)命令指定當(dāng)前系統(tǒng)的默認(rèn)運(yùn)行級別。例如,執(zhí)行如下命令可將當(dāng)前系統(tǒng)的開機(jī)默認(rèn)運(yùn)行級別從graphical.target 更改 multi-user.target。其中,-s 選項(xiàng)表示創(chuàng)建軟鏈接;-f 表示強(qiáng)行刪除任何已存在的目標(biāo)文件。

引導(dǎo)過程與服務(wù)控制_系統(tǒng)服務(wù)_10

六.優(yōu)化啟動過程

1.常見的系統(tǒng)服務(wù)

服務(wù)名稱

用途簡介

備注

atd

延期、定時執(zhí)行任務(wù)

建議關(guān)閉

bluetooth

發(fā)現(xiàn)、認(rèn)證藍(lán)牙相關(guān)設(shè)備

建議關(guān)閉

crond

按預(yù)定周期執(zhí)行計(jì)劃任務(wù)

建議開啟

irqbalance

多核心cpu處理器的調(diào)度支持

建議開啟

kdump

記錄內(nèi)核崩潰的內(nèi)存信息

建議關(guān)閉

lvm2-monitor

lvm管理及監(jiān)控

建議開啟

netfs

訪問共享文件夾等網(wǎng)絡(luò)文件系統(tǒng)

建議開啟

network

配置及使用網(wǎng)卡、網(wǎng)絡(luò)地址

建議開啟

restorecond

SELinux安全機(jī)制的文件監(jiān)控和恢復(fù)功能

建議關(guān)閉

rhnsd

訪問Red Hat Network,獲取通知、提交訂閱等

建議關(guān)閉

rpcgssd

管理NFS訪問中的客戶程序語境

建議關(guān)閉

saslauthd

基于文本的身份認(rèn)證

建議關(guān)閉

smartd

監(jiān)控本地硬盤的狀態(tài)并故障報告

建議開啟

smb

文件共享服務(wù)

建議關(guān)閉

sshd

提供遠(yuǎn)程登陸和管理Linux主機(jī)的功能

建議開啟

rsyslog

記錄內(nèi)核、系統(tǒng)的日志信息

建議開啟

vsftpd

通過FTP提供文件上傳、下載功能

建議關(guān)閉

2.優(yōu)化開機(jī)自動加載的服務(wù)

      Linux操作系統(tǒng)在每次開機(jī)后會進(jìn)入默認(rèn)的systemd 運(yùn)行目標(biāo)(如字符模式或圖形模式),并運(yùn)行該目標(biāo)中默認(rèn)設(shè)為啟動的各種系統(tǒng)服務(wù)。若要禁止某些系統(tǒng)服務(wù)自動運(yùn)行,可以使用ntsysv或者systemctl 工具進(jìn)行優(yōu)化。

(1.使用 ntsysv 工具

      單獨(dú)執(zhí)行“ntsysv”命令時僅用于管理當(dāng)前運(yùn)行目標(biāo)中的服務(wù);通過“--level”選項(xiàng)可以對指定運(yùn)行目標(biāo)(級別)中的服務(wù)進(jìn)行管理。例如,執(zhí)行“ntsysv--level35”命令可以打開 ntsysv 管理程序

引導(dǎo)過程與服務(wù)控制_運(yùn)行級別_11

      操作時按1、↓方向鍵來選擇不同的系統(tǒng)服務(wù),按Space(空格)鍵設(shè)置服務(wù)的默認(rèn)啟動狀態(tài)(“[*]”表示啟動,“[]”表示關(guān)閉)。如果要查看所選定服務(wù)的說明信息,按F1鍵可以獲取幫助。

(2.使用 systemctl 工具

      systemctl工具與 ntsysv的功能類似,但是 systemctl 不提供交互式的操作界面,它用于査詢或設(shè)置系統(tǒng)服務(wù)的默認(rèn)啟動狀態(tài)。當(dāng)需要設(shè)置某一個服務(wù)在當(dāng)前運(yùn)行目標(biāo)中的默認(rèn)啟動狀態(tài)時,使用systemct1工具會更有效率。使用systemctl 工具控制服務(wù)開機(jī)啟停的命令格式如下:

systemctl 控制選項(xiàng) 服務(wù)名稱

     常見選項(xiàng):

enable

開機(jī)自動開啟

disable

開機(jī)自動關(guān)閉

is-enable

查看開機(jī)啟動狀態(tài)

到此這篇關(guān)于Linux啟動過程分析和常見錯誤匯總的文章就介紹到這了,更多相關(guān)Linux啟動過程和常見錯誤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux如何更改echo的輸出顏色

    Linux如何更改echo的輸出顏色

    本文介紹了在Linux命令行中使用echo命令更改輸出文字顏色的方法,包括定義顏色變量、設(shè)置顯示方式、前景色和背景色,并通過示例展示字體高亮、下劃線、閃爍等特效
    2025-10-10
  • CentOS環(huán)境下安裝PHPUnit的方法分析

    CentOS環(huán)境下安裝PHPUnit的方法分析

    這篇文章主要介紹了CentOS環(huán)境下安裝PHPUnit的方法,結(jié)合實(shí)例形式分析了CentOS環(huán)境下安裝PHPUnit的步驟、相關(guān)問題與解決方法,需要的朋友可以參考下
    2018-05-05
  • Linux刪除文件不同方法效率對比

    Linux刪除文件不同方法效率對比

    這篇文章主要介紹了Linux刪除文件不同方法效率對比,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • linux使用nginx部署vue、react項(xiàng)目實(shí)踐

    linux使用nginx部署vue、react項(xiàng)目實(shí)踐

    本文詳細(xì)介紹了在CentOS?Stream?8上安裝和配置Nginx的過程,包括安裝依賴、下載和解壓Nginx、安裝Nginx模塊、配置Nginx.conf文件以及啟動Nginx等步驟
    2026-03-03
  • linux下搭建go環(huán)境的安裝配置講解

    linux下搭建go環(huán)境的安裝配置講解

    今天小編就為大家分享一篇關(guān)于linux下搭建go環(huán)境的安裝配置講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 詳解linux下tar壓縮解壓縮文件夾的命令與參數(shù)

    詳解linux下tar壓縮解壓縮文件夾的命令與參數(shù)

    大家都知道壓縮文件或者文件夾可以為磁盤節(jié)省不少空間,那么Linux系統(tǒng)的壓縮和解壓縮命令都有哪些呢?參數(shù)又有哪些呢?下面小編就給大家介紹Linux下tar壓縮和解壓縮文件夾的命令與參數(shù),希望本文的內(nèi)容對你能有所幫助。
    2016-11-11
  • C語言中 malloc,calloc,realloc的區(qū)別

    C語言中 malloc,calloc,realloc的區(qū)別

    這篇文章主要介紹了C語言中 malloc、calloc、realloc的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Centos7.5配置IP地址的實(shí)現(xiàn)

    Centos7.5配置IP地址的實(shí)現(xiàn)

    這篇文章主要介紹了Centos7.5配置IP地址的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Linux字符終端如何用鼠標(biāo)移動一個紅色矩形詳解

    Linux字符終端如何用鼠標(biāo)移動一個紅色矩形詳解

    這篇文章主要給大家介紹了關(guān)于Linux字符終端如何用鼠標(biāo)移動一個紅色矩形的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • linux系統(tǒng)下vim插件安裝介紹

    linux系統(tǒng)下vim插件安裝介紹

    大家好,本篇文章主要講的是linux系統(tǒng)下vim插件安裝介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論

临潭县| 个旧市| 万源市| 淮安市| 舞钢市| 德阳市| 湾仔区| 冀州市| 梨树县| 松潘县| 瓦房店市| 万全县| 什邡市| 龙陵县| 柏乡县| 石家庄市| 金平| 成都市| 平阳县| 鄄城县| 灵武市| 南宁市| 壶关县| 隆回县| 安乡县| 鄂尔多斯市| 金塔县| 黔西县| 大连市| 长葛市| 延安市| 靖安县| 盐城市| 临汾市| 土默特左旗| 年辖:市辖区| 双柏县| 松桃| 定远县| 竹山县| 永仁县|