####二.第十一单元####
####系统恢复####
1.系统启动流程
通电
||
bios(主板上的只读存储中,basic input or output system)
作用,硬件检测,激活硬件
||
grub系统引导(grub引导分为两个阶段)
1)阶段1 mbr(主引导记录)主引导记录在硬盘上的0磁道,一扇区,446个字节
*)dd if=/dev/zero of=/dev/vda bs=446 count=1 可以清空mbr
*)进入到挽救模式,执行chroot /mnt/sysimage切换到真实/环境,
并执行grub2-install /dev/vda
2)阶段2 grub文件引导阶段
找到/boot分区
读取/boot/grub2/grub.cfg
文件丢失,grub2-mkconfig >/boot/grub2/grub.cfg
||
启动内核,只读挂载/设备
检测设备
对设备驱动进行初始化
进入系统初始化阶段
内核丢失,从新安装内核安装包就可以解决
rpm -ivh kernel-xxxxx.rpm --force
||
系统初始化阶段
系统初始化阶段加载initrd镜像
开启初始化进程systemd
开始selinux
加载内核参数
初始化系统时钟,键盘,主机名称
重新读写挂载/设备
激活raid,lvm
激活配额
启动multi-user.target.wants中的所有服务
开启虚拟控制台
启动图形
initramfs-`uname -r`.img丢失用:
mkinitrd initramfs-`uname -r`.img `uname -r`
或 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
恢复
改密码
在开机启动项 按 ‘e’ 修改倒数第二行为:
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=9bf6b9f7-92ad-44\1b-848e-0257cbb883d1 rw rd.break
或者
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 rw root=/dev/vda1
chroot /sysroot/
passwd ##修改密码即可
touch /.autorelabel ##务必加上 使系统重新读取
若 > /boot/grub2/grub.cfg 文件丢失
grub> set root=‘hd0,msdos1‘
grub> linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1
grub> initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
grub> boot
开机后,若要恢复
grub2-mkconfig >/boot/grub2/grub.cfg
Window 的启动项
grub> set root=‘hd0,msdos1‘
grub> chainloader +1
grub> boot
如果内核丢失
lftp 172.25.254.250:/pub/rhel7.0/Packages> get kernel-3.10.0-123.el7.x86_64.rpm
lftp 172.25.254.250:/pub/rhel7.0/Packages> quit
bash-4.2# rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id
bash-4.2# cp vmliunz-3.10.0-123.el7.x86_64 /boot/
systemctl restart libvirt
若有 kernel-3.10.0-123.el7.x86_64.rpm
bash-4.2# rpm -ivh kernel-3.10.0-123.el7.x86_64.rpm
建立内核
bash-4.2# grub2-mkconfig >/boot/grub2/grub.cfg
设定启动项
查看链接
ls /etc/systemd/system/multi-user.target.wants/
若rm -fr /etc/systemd/system/multi-user.target.wants/vsftpd.service
systemctl status vsftpd
ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/
reboot
若rm -fr /etc/systemd/system/default.target.wants/
ln -s /usr/lib/systemd/system/reboot.target /etc/systemd/system/default.target
系统就会无限循环开机重启
修改:
在开机选项 按‘e’
修改倒数第二行 linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 rw root=/dev/vda1
chroot /sysroot/
rm -fr /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target