第十五單元-Linux系統中引導過程及修復

dandan-99發表於2020-11-11

1、磁碟引導

[root@node4 Desktop]# fdisk -l
/dev/vda1  *       2048  1026047  1024000  500M 83 Linux
[root@node4 Desktop]# dd if=/dev/zero of=/dev/vda bs=446 count=1
[root@node4 Desktop]# dd if=/dev/sda of=/dmnt/mbrfile bs=446 count=1 檢查
[root@node4 Desktop]# hexdump -C /mnt/vmbrfile
[root@node4 Desktop]# reboot
## 光碟挽救模式
chroot /mnt/sysimage
grub2-install  /dev/vda
exit
exit
## 硬碟啟動

2、grub2 檔案引導

  • 模擬問題1:
[root@node4 grub2]# df
/dev/vda3        7353344 4754276   2599068  65% /
[root@localhost entries]# kernel-install --help
Usage:
        /usr/bin/kernel-install add KERNEL-VERSION KERNEL-IMAGE
        /usr/bin/kernel-install remove KERNEL-VERSION
[root@node4 Desktop]# rm -fr /boot/loader/entries/*
  • ----不重啟修復
[root@localhost entries]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64   ##不重啟修復
cp: cannot stat '/boot/bls.conf': No such file or directory
sed: can't read /boot/loader/entries/fadbd3697c8d46e58d6fe5d850b2a381-0-rescue.conf: No such file or directory
[root@localhost module]# cd /usr/lib/modules
[root@localhost modules]# ls
4.18.0-187.el8.x86_64  4.18.0-193.el8.x86_64
[root@localhost modules]# cd 4.18.0-193.el8.x86_64
[root@localhost 4.18.0-193.el8.x86_64]# ls
bls.conf  
[root@localhost 4.18.0-193.el8.x86_64]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf  /boot/
[root@localhost 4.18.0-193.el8.x86_64]# cd /boot/
[root@localhost boot]# ls
bls.conf
[root@localhost boot]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64
  • ----重啟修復
## 開機介面操作
set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3
initrd /initramfs-4.18.0-193.e18.x86_64.img
boot
## 開機後操作
[root@node4 Desktop]# cp /usr/lib/modules/4.18.0-193.el8.x86_64/bls.conf /boot/
[root@node4 grub2]# cd /boot
[root@node4 grub2]# ls
[root@node4 Desktop]# kernel-install add $(uname -r) /boot/vmlinuz-4.18.0-193.el8.x86_64
[root@node4 grub2]# cd /boot/loader/entries/
[root@localhost entries]# ls
fadbd3697c8d46e58d6fe5d850b2a381-0-rescue.conf
fadbd3697c8d46e58d6fe5d850b2a381-4.18.0-193.el8.x86_64.conf
  • 模擬問題2
[root@node4 Desktop]# rm -fr /boot/grub2/grub.cfg  ## 刪除總引導檔案
[root@node4 Desktop]# reboot
  • 修復
手動引導
set root='hd0,msdos1'
linux16 /vmlinuz-4.18.0-193.e18.x86_64 ro root=/dev/vda3
initrd /initramfs-4.18.0-193.e18.x86_64.img
boot

[root@node4 grub2]# cd /boot/grub2/
[root@node4 grub2]# ls
device.map  fonts  grubenv  i386-pc
[root@node4 grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
[root@node4 grub2]# ls
device.map  fonts  grub.cfg  grubenv  i386-pc

3、 核心載入

[root@node4 ~]# rm -fr /boot/vmlinuz-$(uname -r)
[root@node4 ~]# reboot

## 光碟啟動 進入挽救模式
chroot /mnt/sysimage
cp /usr/lib/modules/$(uname -r)/vmlinuz /boot/vmlinuz-$(uname -r)
4.18.0-193.e18.x86_64
## 挽救結束後硬碟啟動

4、系統初始化映象

[root@node4 boot]# rm -fr initramfs-4.18.0-193.el8.x86_64.img
[root@node4 boot]# reboot

## 不重啟修復
[root@localhost boot]# mkinitrd --help  
[root@localhost boot]# mkinitrd /boot/initramfs-4.18.0-193.el8.x86_64.img 4.18.0-193.el8.x86_64

## 光碟啟動 進入挽救模式
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) 
## VirtIO 啟動

5、系統啟動級別

0 關機
1 單使用者
2 無圖形網路模式
3 無圖形網路模式
4 無圖形網路模式
5 有圖形網路模式
6 重啟
[root@localhost boot]# cd /etc/systemd/
[root@localhost systemd]# cd system
[root@localhost system]# ls
[root@localhost system]# ll default.target
lrwxrwxrwx. 1 root root 36 Oct 27 21:28 default.target -> /lib/systemd/system/graphical.target

[root@localhost system]# cd multi-user.target.wants
[root@localhost multi-user.target.wants]# ls
[root@localhost multi-user.target.wants]# systemctl set-default

[root@localhost system]# systemctl set-default runlevel6.target
Created symlink /etc/systemd/system/default.target → /usr/lib/systemd/system/reboot.target. ###在核心載入選項最後加入啟動級別6
[root@localhost multi-user.target.wants]# reboot
## 手動執行
在開機選擇介面按<e>進入到引導檔案編輯模式
在核心載入選項最後加入啟動級別 5 
ctrl+x
##命令執行
[root@localhost Desktop]# systemctl set-default runlevel5.target ##在核心載入選項最後加入啟動級別 5

6、超級使用者密碼忘記

開機重啟
rw rd.break 
1.在開機選擇介面按<e>進入到引導檔案編輯模式
2.在核心載入選項最後刪除到 ro 選項
3.更改 ro---->rw
4.加入 rd.break 引數終止系統啟動進入單使用者模式
5.ctrl+x 啟動

chroot /sysroot/
whoami
echo westos | passwd --stdin root 改完密碼了
touch /.autorelabel  ## 核心級加強火牆的重啟按鈕 當/.autorelabel 檔案存在 selinux 會重新初始化 cp kernel-core-
4.18.0-80.el8.x86_64.rpm /mnt/

相關文章