系統引導是一個操作系統運行的開始,若是引導出現問題,系統便無法正常使用,那有沒有方法修復呢?答案是有的。
CentOS7 引導過程
1.開機自檢BIOS
2.MBR
引導
3.GRUB
菜單
4.加載內核kernel
與內存文件系統initramfs
5.加載硬件驅動及初始化進程
MBR 扇區故障修復
MBR
引導記錄位於物理硬盤的第一個扇區(512B),又稱為主引導扇區,除了包含系統引導程序的部分數據外,還包含整個硬盤的分區表記錄。
備份 MBR 扇區數據
1.准備另一塊硬盤用於MBR
扇區備份數據
[root@localhost ~]# fdisk /dev/sdb
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
2.掛載/dev/sdb1
分區
[root@localhost ~]# mkdir /bak
[root@localhost ~]# mount /dev/sdb1 /bak/
[root@localhost ~]# df -hT
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/sda2 xfs 20G 3.4G 17G 17% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 9.1M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda5 xfs 10G 37M 10G 1% /home
/dev/sda1 xfs 2.0G 174M 1.9G 9% /boot
tmpfs tmpfs 378M 8.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /bak
3.備份MBR
扇區數據
[root@localhost ~]# ls /bak/
[root@localhost ~]# dd if=/dev/sda of=/bak/sda.mbr.bak bs=512 count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(512 B)已復制,0.000289995 秒,1.8 MB/秒
[root@localhost ~]# ls /bak/
sda.mbr.bak
模擬 MBR 扇區故障
1.人為覆蓋MBR
扇區記錄
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(512 B)已復制,0.000157851 秒,3.2 MB/秒
2.重啟
[root@localhost ~]# init 6
3.無法啟動
恢復 MBR 扇區數據
1.使用光盤或U盤啟動盤進行操作系統引導
2.進入Troubleshooting
疑難解答模式
3.進入Rescue a CentOS system
系統急救模式
4.進入shell
環境,進行恢復
mkdir /bak
mount /dev/sdb1 /bak
ls /bak
dd if=/bak/sda.mbr.bak of=/dev/sda
reboot
5.恢復成功
GRUB 引導故障修復
GRUB
是大多數Linux
系統默認的引導程序,可以通過啟動菜單的方式選擇進入不同的操作系統。若是配置文件丟失,或者關鍵配置出現錯誤,就無法完成啟動過程。
模擬 GRUB 故障
1.刪除配置文件
[root@localhost ~]# cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@localhost ~]# rm -f /boot/grub2/grub.cfg
[root@localhost ~]# init 6
2.無法啟動
修復 GRUB 故障
前面部分和上面一樣,同樣進入系統急救模式進行修復。
1.加載系統鏡像,切換到待修復的Linux
系統根環境
chroot /mnt/sysimage/
2.在sda
的MBR
扇區重新安裝grub
引導程序
grub2-install /dev/sda
3.重新構建grub
菜單配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
4.退出並重啟,等待系統啟動
exit
reboot
遺忘 ROOT 密碼
當忘記root
密碼時,將無法在Linux
系統上執行管理、維護等任務。又無法通過其他用戶修改密碼時,同樣可以使用急救模式修改root
密碼。
很簡單,操作如下:
chroot /mnt/sysimage/
echo "000000" | passwd --stdin root 或 passwd root
exit
reboot