日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux的引导过程与服务控制

發布時間:2023/12/29 linux 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux的引导过程与服务控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引導過程與服務控制

  • Linux操作系統的引導過程
  • 系統初始化進程
    • init進程
    • Systemd
    • Systemd單元類型
  • 運行級別所對應的Systemd目標
  • 排除啟動類故障
    • 修復MBR扇區故障
      • 故障原因
      • 故障現象
      • 解決思路
    • 修復GRUB引導故障
    • 模擬GRUB引導程序破壞
    • 遺忘root用戶密碼
      • 故障現象
      • 解決思路
    • 重設密碼操作
    • 等級
    • 控制類型
    • linux系統的運行級別
      • 查看運行級別
      • 因臨時切換運行級別
      • 設置永久運行級別
    • 優化啟動過程
      • ntsysv 工具
        • ntsysv系統服務管理工具
      • systemctl I chkconfig工具
        • 查看系統服務的啟動狀態
        • 設置系統服務的啟動狀態

Linux操作系統的引導過程

1.開機自檢
服務器主機開機以后,將根據主板BIOS中的設置對CPU、內存、顯卡、鍵盤等設備進行初步檢測,檢測成功后根據預設的啟動順序移交系統控制權,大多時候會移交給本機硬盤。
總結:檢測出第.個能夠引導系統的設備。比如硬盤或者光驅

2 . MBR引導
當從本機硬盤中啟動系統時,首先根據硬盤第一~個扇區中MBR(主引導記錄)的設置,將系統控制權傳遞給包含操作系統引導文件的分區;或者直接根據MBR記錄中的引導信息調用啟動菜單(如GRUB)
總結:運行放在MBR扇區里的啟動GRUB引導程序

3.GRUB菜單
對于Linux操作系統來說,GRUB (統一啟 動加載器)是使用最為廣泛的多系統引導器程序。系統控制權傳遞給GRUB以后,將會顯示啟動菜單給用戶選擇,并根據所選項(或采用默認值)加載Linux內核文件,然后將系統控制權轉交給內核。
Centos 7采用的是GRUB2 啟動引導器。
總結:GRUB引導程序通過讀取GRUB配置文件/boot/grub2/grub.cfg,來獲取內核和鏡像文件系統的設置和路徑位置

4.加載Linux 內核
Linux內核是一個預先編譯好的特殊二進制文件,介于各種硬件資源與系統程序之間,負責資源分配與調度。內核接過系統控制權以后,將完全掌控整個Linux操作系統的運行過程。
Centos 7系統中,默認的內核文件位于“/boot/vmlinuz-3.10.0-514.el7.x86_ 64"。
總結:把內核和鏡像文件系統加載到內存中

5.init進程初始化
為了完成進一步的系統引導過程,Linux內核首先將系統中的“/sbin/ init"程序加載到內存中運行(運行中的程序稱為進程),init進程負責完成整個系統的初始化,最后等待用戶進行登錄。
總結:加載硬件驅動程序,內核把init進程加載到內存中運行

系統初始化進程

init進程

由Linux內核加載運行/sbin/init程序
oinit進程是系統中第一個進程, 是所有進程的父進程
init進程的PID (進程標記)號永遠為1

Systemd

Systemd是Linux操作系統的一種init軟件
CentOS7中采用全新的Systemd啟動方式,取代傳統的SysVinit
CentQS7中運行的第一個init進程是/lib/systemd/systemd

傳統SysVinit依賴于串行執行Shell腳本啟動服務,導致效率低下,系統啟動速度較慢
systemd能夠將更多的服務進程并行啟動,并且具有提供按需啟動服務的能力,使得啟動更少進程,從而提高系統啟動速度。

Systemd單元類型

單元類型擴展名說明
Service.service描述一個系統服務
Socket. socket描述一個進程間通信的套接字(IP:port 端口)
Device.device描述一個內核識別的設備文件
Mount.mount描述一個文件系統的掛載點
Automount.automount描述一個文件系統的自動掛載點
Swap.swap描述一一個內存交換設備或交換文件
Path.path描述一個文件系統中文件或目錄
Timer.timer描述一個定時器(用于實現類似cron的調度任務)
Snapshot.snapshot用于保存一個systemd的狀態
Scope.scope使用systemd的總線接口以編程的方式創建外部進程
Slice.slice描述居于Cgroup的一-組通過層次組織的管理系統進程
Target.target描述一組systemd的單元

運行級別所對應的Systemd目標

運行級別Systemd的target說明
0target關機狀態,使用該級別時將會關閉主機
1rescue.target單用戶模式,不需要密碼驗證即可登錄系統,多用于系統維護
2multi-user.target用戶定義/域特定運行級別。默認等同于3
3multi-user.target字符界面的完整多用戶模式,大多數服務器主機運行在此級別
4multi-user.target用戶定義/域特定運行級別。默認等同于3
5graphical.target圖形界面的多用戶模式,提供了圖形桌面操作環境
6reboot.target重新啟動, 使用該級別時將會重啟主機

排除啟動類故障

修復MBR扇區故障

故障原因

1.病毒、木馬等造成的破壞
2.不正確的分區操作、磁盤讀寫誤操作

故障現象

1.找不到弓|導程序,啟動中斷
2.無法加載操作系統,開機后黑屏

解決思路

1.應提前作好備份文件
2.以安裝光盤引導進入急救模式
3.從備份文件中恢復

MBR位于第一塊硬盤( /dev/sda)的第一.個物理扇區處,總共512字節
1.備份MBR扇區數據到其它磁盤( /dev/sdb1)
mkdir /backup
mount /dev/ sdb1 /backup
dd if=/dev/sda of=/backup/mbr.bak bs=512 count=1

2.模擬破壞MBR引導扇區
dd if=/dev/ zero of=/dev/sda bs=512 count=1.

3.引導界面進入急救模式,從備份文件中恢復MBR扇區數據
先加載好光盤鏡像,重啟操作系統,當出現安裝向導界面時,選擇"Troubleshooting"選項,
再選擇“Rescue a CentOS Linux system"選項, 進入急救模式
選擇“1”選擇Continue并按Enter 鍵繼續
再次按Enter 鍵后將進入帶“sh-4.2#"提示符的Bash Shell 環境
sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/sdb1 /backupdir
掛載帶有備份文件的分區
sh-4.2# dd if=/backupdir/mbr.bak of=/dev/ sda
恢復備份數據
sh-4.2# exit
執行exit命令退出臨時Shell環境,系統將會自動重啟

修復GRUB引導故障

/boot/grub/目錄下的包是用于啟動菜單的背景圖片及樣式

/boot/ grub2/grub. cfg

GRUB配置文件

方法一:手動輸入引導命令(笨拙繁瑣,不建議使用)
grub> insmod xfs(加載指定的模塊到內核)
grub> l inux16 /vmlinuz-3. 10.0-693.el7.x86_ 64

root=UUID=8fd74986-ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quiet

LANG=zh CN. UTF-8 (內核的名字及位置等信息)
grub> initrd16 /initramfs-3.10.0-693.el7.x86_ 64. img(鏡像系統文件)

grub> boot(引導boot)

方法二:進入急救模式,恢復GRUB引導程序
MBR位于第一塊硬盤(/dev/sda) 的第一一個物理扇區處,總共512字節,前446字節是主引導記錄,分區表保存在MBR扇區中的第447-510字節中。
mkdir /bak
mount /dev/sdb1 /bak
dd if=/dev/sda of=/bak/grub.bak bs=446 count=1

方法三:引導界面進入急救模式,重建GRUB菜單配置文件
rm -rf /boot/ grub2/grub.cfg
進入急救模式,加載光盤鏡像,切換到系統根環境
sh-4.2# chroot /mnt/ sys image

重新將GRUB引導程序安裝到第一塊硬盤( /dev/sda)的MRB扇區, 如果有多個分區可省略
bash-4.2# grub2-install /dev/ sda

重新構建GRUB菜單的配置文件
bash-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg

退出chroot環境,并重啟
bash-4.2# exit
sh-4.2# reboot

模擬GRUB引導程序破壞

模擬對MRB中的GRUB引導程序的破壞,但并不破壞分區表
dd if=/dev/ zero of=/dev/sda bs=446 count=1

引導界面進入急救模式,從備份文件中恢復GRUB引導程序
sh-4.2# mkdir /backupdir
sh-4.2# mount /dev/ sdb1 /backupdir
sh-4.2# dd i f=/backupdir/grub.bak of=/dev/ sda
sh-4.2# exit

遺忘root用戶密碼

故障現象

無法進行需要root權限的管理操作
若沒有其他可用帳號,將無法登錄系統

解決思路

進入急救模式,重設密碼

重設密碼操作

進入急救模式,加載系統鏡像,切換到系統根環境
sh-4.2# chroot /mnt/ sysimage
重設root用戶密碼
bash-4.2# passwd root

等級

init 0systemctl isolate poweroff. targetpoweroff
init 1systemctl isolate rescue. target
init 3systemctl isolate multi -user . target
init 5systemctl isolate graphical . target
init 6systemctl isolate reboot. targetreboot

系統服務控制
systemctl 控制類型 服務名稱

控制類型

控制類型說明
start啟動
stop停止
restart重新啟動
reload重新加載
status查看服務狀態

linux系統的運行級別

查看運行級別

runlevel命令:runleve只能查看切換運行級別與當前運行級別
systemct工具:systemctI時能查看默認的運行級別

因臨時切換運行級別

init命令:init的命令參數是運行級別所對應的數字
systemct工具:systemctl的命令參數是具體的target

設置永久運行級別

查看系統默認的運行級別
systemctl get-de fault
設置永久運行級別
ln -sf /lib/ systemd/ system/ multi-user. target /etc/ systemd/ sys tem/ default. target

systemctl set- -default multi -user . target

優化啟動過程

ntsysv 工具

提供一個交互式、可視化窗口
可以在字符終端運行
便于集中管理多個服務
用于控制服務是否開機自啟動

ntsysv系統服務管理工具

ntsysv
ntsysv --level 級別列表
按空格鍵標志服務選項
按↑、↓鍵切換服務選項
按tab鍵切換光標

systemctl I chkconfig工具

不提供交互式、可視化窗口
管理單個服務效率更高

查看系統服務的啟動狀態

systemctl is-enabled 服務名稱

設置系統服務的啟動狀態

systemctl enable服務名稱(開啟開機自啟動)
systemctl disable服務名稱(關閉開機自啟動)
systemctl poweroff
systemctl reboot

格式: chkconfig --list [服務 名稱]
chkconfig --add 服務名稱.
chkconfig --level 級別列表服務名on/off

chkconfig --add httpd .
chkconfig --level 35 httpd on

永久修改主機名
hostnamectl set-hos tname newname
查看主機名的狀態
hostnamectl status

設置系統語言為中文
localectl set- locale LANG=zh CN.utf8
查看當前系統使用的語言
localectl [status]

查看系統啟動耗時
sys temd- analyze

總結

以上是生活随笔為你收集整理的Linux的引导过程与服务控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。