LInux操作系統引導過程
開機自檢
服務器與主機開機之後根據主機BIOS中的設置對CPU,內存,顯卡,硬盤等設備進行初步檢測,檢測成功後根據預設的自動順序移交系統控制權,大多時候會移交給硬盤
MBR引導
當從本機硬盤啓動系統時,首先根據硬盤第一個扇區中MBR設置,將系統控制權交給操作系統引導文件的分區,或直接根據MBR記錄中的引導信息調用啓動菜單
GRUB
對於Linux系統來說,GRUB是使用最爲廣泛的多系統引導程序。系統控制權交給GRUB後將會顯示啓動菜單給用戶選擇,並根據選項或默認值加載Linux文件,然後將系統控制權移交給內核,需注意CentOS使用的是GRUB2啓動引導。
加載Linux內核
Linux內核是一個預先編譯好的特殊二進制文件,介於各種硬件資源與系統程序相同,負責資源分配與調度。內核接入系統控制權以後,將完全掌握整個Linux操作系統的運行過程。在CentOS系統中,默認內核位於“/boot/vmlinz-3.10.0-514.e17.x86_64
init進程初始化
爲進一步完成系統引導過程,Linux內核首先將系統中的”/sbin/init“程序加載到內存中運行,運行中的程序成爲進程,init進程負責完成一系列的系統初始化過程,最後等待用戶進行登錄
引導修復
故障模擬MBR
插入一塊硬盤方便備份,分區後格式化
將這個分區掛載到 opt 文件夾下
備份MBR扇區文件
dd if=/dev/sda of=/opt/mbr.bak bs=512 count=1
模擬MBR扇區錯誤
dd if=/dev/zero of=/dev/sda bs=512 count=1
之後重啓
發現不能開機了
這個時候就像windows一樣,最簡單的方法就是插入外部設備進行引導修復
插入CentOS7.6光盤,根據如下操作方式進入急救箱
這個界面按1
再按回車
進入可編輯命令的模式
mount /dev/sdb /mnt 將備份sdb備份的文件掛到mnt下
cd /mnt
ll
進去看下是否有mbr.bak
dd if=/mnt/mbr.bak of=/dev/sda count=1 bs=512
輸入reboot 重啓
查看是否能正常開機
可以正常開機了,引導完成
模擬grup錯誤
cd /boot/grub2 進入grub2
mv grub.cfg grub.cfg.bak 把這個文件改名(你懂的)
init 6 重啓
報錯
屏幕一亮就狂按F2,往右選擇BOOT
更改啓動順序
繼續一樣進入救援模式
chroot /mnt/sysimage
Reboot重啓,和剛纔一樣進BIOS設置,把硬盤調到第一順序
再按F10保存退出,驗證能否開機
正常開機,修復完成
忘記root密碼怎麼辦呢???
進入救援模式
輸入這些
就好了
服務開啓命令