##系統恢複技術##
##學習目标
引導過程
恢複 Shell
##系統引導過程概述
通電——>進入初始化階段——>bios 初始化——>grub2 磁盤引導階段——>grub2 檔案引導階段——> 指定 boot 所在分區——>啟動核心,隻讀挂載 / 裝置啟動——>init 程式進入初始化階段——> 啟動 systemd 初始化程序——>讀取 /etc/systemd/中的檔案——>啟動程式——>啟動登陸環境
##bios初始化
基本輸入 / 輸出系統 ( BIOS )是内置于标準 x86/x86-64硬體的固件接口,将硬體置于已知狀态并準備好系統以加載作業系統
出現什麼情況?
– 檢測并初始化硬體
– 确定從中引導的裝置
可能出現了什麼錯誤?
– 錯誤或異常 BIOS 設定
– 錯誤引導裝置順序
可以如何中斷或影響?
– 按特定于供應商的鍵
– 使用特定于供應商的配置實用程式
– 通常, <F12> 可以執行一次引導順序覆寫
##grub磁盤引導階段
MBR
– mbr的作用是為了記錄/boot目錄所在分區位置
–磁盤的0磁道1扇區的前446位元組
<code>– </code><code>dd</code> <code>if</code><code>=</code><code>/dev/zero</code> <code>of=</code><code>/dev/xda</code> <code>bs=446 count=1</code>
<code>– grub2-</code><code>install</code> <code>/dev/xda</code>
##grub檔案引導階段
<code>/boot/grub2/grub</code><code>.cfg</code>
–指定/boot分區位置
–加載核心
–啟動系統初始化程序
– grub2-mkconfig
##核心引導階段
檢測硬體裝置
裝置驅動初始化
将/隻讀挂載
載入初始程序systemd
核心檔案丢失請重新安裝核心
##systemd初始化
開啟selinux和systemd-tools
加載核心參數
加載系統時鐘,鍵盤,主機名稱
讀寫挂載/檔案系統
激活raid, lvm裝置
激活系統配額
啟動multi-user.target.wants中的所有服務腳本
啟用虛拟控台
啟動圖形
##啟動級别
runlever0.target -> poweroff.target ##關機
runlever1.target -> rescue.target ##單使用者模式
runlever2.target -> multi-user.target ##多使用者模式,不支援NFS
runlever3.target -> multi-user.target ##完整多元化模式
runlever4.target -> multi-user.target ##未定義使用
runlever5.target -> grapical.target ##帶有圖形界面的多使用者使用
runlever6.target -> reboot.target ##重新開機
##設定啟動級别
systemctl set-default +啟動級别
/etc/systemd/system/default.target
##runlevel ##檢視啟動級别
##init 數字 ##切換運作級别
##重新開機,到grub選項菜單,按’e’進入編輯模式。
找到kernel指令行編輯如下圖
得到一個shell
<code>chroot </code><code>/sysroot/</code>
<code>passwd</code> <code>root </code>
<code>touch</code> <code>/.autorelabel</code>
按兩下ctlr+d或輸入兩次exit退出重新開機就可以正常登陸了。
2.##grub磁盤引導損壞
<a href="https://s1.51cto.com/wyfs02/M00/93/00/wKioL1kG4Z_xm97yAADWOO4ja6A116.png" target="_blank"></a>
##啟動失敗
<a href="https://s3.51cto.com/wyfs02/M00/93/02/wKiom1kG4aOyC20QAACpdXznGdI261.png" target="_blank"></a>
##用rhel-server-7.0-x86_64-dvd.iso鏡像引導修複
##建立一個cdrom鏡像
<a href="https://s1.51cto.com/wyfs02/M02/93/02/wKiom1kG4aOxt3kJAAGPQzh9mBE445.png" target="_blank"></a>
##鏡像放在第一個啟動
<a href="https://s1.51cto.com/wyfs02/M02/93/00/wKioL1kG4aTBSBEeAAGMeDYDXqo294.png" target="_blank"></a>
##選擇第三個
<a href="https://s1.51cto.com/wyfs02/M00/93/02/wKiom1kG4aWA37rYAACls7V9bF8889.png" target="_blank"></a>
##選擇第二個
<a href="https://s4.51cto.com/wyfs02/M00/93/00/wKioL1kG4aWRw4KGAACtOAoR__A407.png" target="_blank"></a>
##選擇continue
<a href="https://s1.51cto.com/wyfs02/M00/93/00/wKioL1kG4aXhJ6XNAAC43bMr1nI146.png" target="_blank"></a>
##chroot /mnt/sysimage ##裝置資料在/mnt/sysimage
<a href="https://s4.51cto.com/wyfs02/M01/93/02/wKiom1kG4aaTuS71AAD5JkttP5U875.png" target="_blank"></a>
##grub2-install /dev/vda ##安裝fgrub2
<a href="https://s3.51cto.com/wyfs02/M01/93/02/wKiom1kG4aeRYqXuAAC6FzKewnI536.png" target="_blank"></a>
3.##損壞grub檔案引導
<a href="https://s1.51cto.com/wyfs02/M01/93/00/wKioL1kG4aDhfrR5AAEUXacnKAw047.png" target="_blank"></a>
##重新開機
##執行指令:set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1
initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
<a href="https://s4.51cto.com/wyfs02/M02/93/00/wKioL1kG4ajDokATAAC0y-qdigc765.png" target="_blank"></a>
##進入系統後,在shell輸入指令生成缺失的引導檔案,系統就修複成功!
grub2-mkconfig > /boot/grub2/grub.cfg
4.核心引導修複
##rm -fr vmlinuz-3.10.0-123.el7.x86_64 ##損壞核心引導
<a href="https://s2.51cto.com/wyfs02/M02/93/02/wKiom1kG4aCg8i0TAAGDzAa1w58056.png" target="_blank"></a>
##重新開機不成功
<a href="https://s1.51cto.com/wyfs02/M02/93/02/wKiom1kG4amy7KjDAACj86CzWyg207.png" target="_blank"></a>
##用鏡像修複
<a href="https://s1.51cto.com/wyfs02/M00/93/00/wKioL1kG4amAEf3ZAADVG389Dlc766.png" target="_blank"></a>
5.核心修複
##rm -fr initramfs-3.10.0-123.el7.x86_64.img ##核心引導損壞
<a href="https://s1.51cto.com/wyfs02/M02/93/00/wKioL1kG4aCytnXfAAGF4uWmsfA332.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/93/00/wKioL1kG4arzn0PcAACeJgtYdWw705.png" target="_blank"></a>
7.系統啟動級别檔案連結錯誤
##rm -fr default.target
##ln -s /usr/lib/systemd/system/poweroff.target /etc/systemd/system/default.target ##開機後立刻關機
<a href="https://s2.51cto.com/wyfs02/M01/93/02/wKiom1kG4aGR1455AAIFeH56rT8656.png" target="_blank"></a>
##啟動不成功
<a href="https://s3.51cto.com/wyfs02/M00/93/02/wKiom1kG4avy-0akAAEAsJTPUq4928.png" target="_blank"></a>
##開機按“e”進入編輯模式,完成後按ctrl+x
<a href="https://s5.51cto.com/wyfs02/M00/93/00/wKioL1kG4ayhuJfgAAC9P4ExLvw779.png" target="_blank"></a>
##重新配置default.target
<a href="https://s3.51cto.com/wyfs02/M00/93/03/wKiom1kG8ZfSvR7CAAC2ryqBkDs292.png" target="_blank"></a>
本文轉自cuijb0221 51CTO部落格,原文連結:http://blog.51cto.com/cuijb/1920966