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

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

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

一.Linux引導過程

  1.開機自檢

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

  2.MBR引導

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

  3.GRUB菜單

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

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

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

  5.systemd進程初始化

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

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

  1.init進程

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

  2.systemd進程

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

   Systemd 使用的各種單元類型:

單元類型

擴展名

說明

Service

.service

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

Socket

.socket

描述一個進程間通信的套接字

Device

.device

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

Mount

.mount

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

Automount

.automount

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

Swap

.swap

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

Poth

.poth

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

Timer

.timer

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

Snapshot

.snapshot

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

Scope

.scope

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

Slice

.slice

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

Target

.target

描述一個systemd的單元

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

三.MBR扇區(qū)故障

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

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

引導過程與服務控制_備份文件

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

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

引導過程與服務控制_備份文件_02

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

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

引導過程與服務控制_系統(tǒng)服務_03

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

引導過程與服務控制_運行級別_04

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

引導過程與服務控制_運行級別_05

四.GRUB引導故障

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

引導過程與服務控制_備份文件_06

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

引導過程與服務控制_運行級別_07

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

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

引導過程與服務控制_運行級別_08

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

遺忘root用戶的密碼

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

引導過程與服務控制_備份文件_09

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

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

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

systemctl 控制類型 服務名稱

    常見的控制類型:

start

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

stop

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

restart

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

reload

不退出服務程序,只刷新配置

status

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

2.切換運行級別

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

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

認的 target,命令如下:

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

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

運行級別

systemd的target

說明

init 0

關機

使用該級別時將會關閉主機

init 1

rescue.target

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

init 2

multi-user.target

用戶定義/域特定運行級別。默認等同于3

init 3

multi-user.target

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

init 4

multi-user.target

用戶定義/域特定運行級別。默認等同于3

init 5

graphical.tatget

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

init 6

reboot.target

重新啟動,使用該級別時將會重啟主機

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

引導過程與服務控制_系統(tǒng)服務_10

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

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

服務名稱

用途簡介

備注

atd

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

建議關閉

bluetooth

發(fā)現(xiàn)、認證藍牙相關設備

建議關閉

crond

按預定周期執(zhí)行計劃任務

建議開啟

irqbalance

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

建議開啟

kdump

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

建議關閉

lvm2-monitor

lvm管理及監(jiān)控

建議開啟

netfs

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

建議開啟

network

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

建議開啟

restorecond

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

建議關閉

rhnsd

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

建議關閉

rpcgssd

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

建議關閉

saslauthd

基于文本的身份認證

建議關閉

smartd

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

建議開啟

smb

文件共享服務

建議關閉

sshd

提供遠程登陸和管理Linux主機的功能

建議開啟

rsyslog

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

建議開啟

vsftpd

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

建議關閉

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

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

(1.使用 ntsysv 工具

      單獨執(zhí)行“ntsysv”命令時僅用于管理當前運行目標中的服務;通過“--level”選項可以對指定運行目標(級別)中的服務進行管理。例如,執(zhí)行“ntsysv--level35”命令可以打開 ntsysv 管理程序

引導過程與服務控制_運行級別_11

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

(2.使用 systemctl 工具

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

systemctl 控制選項 服務名稱

     常見選項:

enable

開機自動開啟

disable

開機自動關閉

is-enable

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

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

相關文章

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

    Linux如何更改echo的輸出顏色

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

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

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

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

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

    linux使用nginx部署vue、react項目實踐

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

    linux下搭建go環(huá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ū)別的相關資料,需要的朋友可以參考下
    2017-02-02
  • Centos7.5配置IP地址的實現(xiàn)

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

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

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

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

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

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

最新評論

喀什市| 水城县| 青浦区| 镇远县| 石门县| 宁远县| 舟山市| 合江县| 五河县| 苍南县| 景东| 荔波县| 都昌县| 英吉沙县| 扎赉特旗| 巴林左旗| 利津县| 军事| 清新县| 呼伦贝尔市| 巴南区| 班戈县| 岐山县| 屏边| 清河县| 岱山县| 邮箱| 玉树县| 泸水县| 旌德县| 环江| 军事| 盐津县| 夏邑县| 宁强县| 杨浦区| 武鸣县| 额济纳旗| 从江县| 石林| 巢湖市|