Linux系统恢复技术

来源:互联网 发布:淘宝安全中心 编辑:程序博客网 时间:2024/04/24 18:12

unit11.系统恢复技术.

系统引导过程概述
通电-bios初始化-grub2磁盘引导阶段-grub2文件引导阶段-指定boot所在分区-启动内核,只读挂在 / 设备-启动init程序进入初始化阶段-启动systemd初始化进程-读取/etc/systemd/中的文件-启动程序-启动登陆环境
1bios初始化
基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 ,将硬件置于已知状态并准备好系统以加载操作系统
出现什么情况 ?
          –
检测并初始化硬件
          –
确定从中引导的设备
可能出现了什么错误 ?
          –
错误或异常BIOS 设置
          –
错误引导设备顺序
可以如何中断或影响 ?
          –
按特定于供应商的键
          –
使用特定于供应商的配置实用程序
          –
通常 ,<F12> 可以执行一次引导顺序覆盖
2grub 磁盘引导阶段
• MBR
          – mbr
的作用是为了记录 /boot 目录所在分区位置
          –
磁盘的 0 磁道 1 扇区的前 446 字节
          – dd if=/dev/zero of=/dev/xdabs=446 count=1
          -
用镜像引导系统进入排错模式,先chroot /mnt/sysimage/
          – grub2-install /dev/vda

3grub 文件引导阶段
• /boot/grub2/grub.cfg
          –
指定/boot 分区位置
          –
加载内核
          –
启动系统初始化进程
          – grub2-mkconfig
[root@localhost ~]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map  fonts  grub.cfg grubenv  i386-pc  locale themes
[root@localhost grub2]# rm -rf grub.cfg
[root@localhost grub2]# ls
device.map  fonts  grubenv i386-pc  locale  themes
[root@localhost grub2]# grub2-mkconfig > /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image:/boot/vmlinuz-0-rescue-4360b9e5bcf24cc98c41c3460887444a
Found initrd image:/boot/initramfs-0-rescue-4360b9e5bcf24cc98c41c3460887444a.img
done
[root@localhost grub2]# ls
device.map  fonts  grub.cfg grubenv  i386-pc  locale themes
4)内核引导阶段
         
检测硬件设备
        
设备驱动初始化
        
/ 只读挂载
        
载入初始进程systemd
        
内核文件丢失请重新安装内核
[root@localhost grub2]# cd
[root@localhost ~]# cd /boot
[root@localhost boot]# ls
config-3.10.0-327.el7.x86_64
grub2
initramfs-0-rescue-4360b9e5bcf24cc98c41c3460887444a.img
initramfs-3.10.0-327.el7.x86_64.img
initramfs-3.10.0-327.el7.x86_64kdump.img
initrd-plymouth.img
symvers-3.10.0-327.el7.x86_64.gz
System.map-3.10.0-327.el7.x86_64
vmlinuz-0-rescue-4360b9e5bcf24cc98c41c3460887444a
vmlinuz-3.10.0-327.el7.x86_64
其中initramfs-3.10.0-327.el7.x86_64.imgvmlinuz-3.10.0-327.el7.x86_64为内核引导文件
以上文件丢失,可以先进入排错模式,找到相应的文件cp到原位置。
(vmlinuz-3.10.0-327.el7.x86_64)
排错模式-df查看镜像是否挂载在/dev/sr0-chroot /mnt/sysimage-mount /dev/sr0 /mnt-cd /mnt/Packages-建一个目录mkdir /westos-cp /mnt/Packages/kernel-3.10.0-327.el7.x86_64.rpm/westos-cd /westos-rpm2cpio kernel-3.10.0-327.el7.x86_64.rpm | cpio -id - cdboot/ ls -cp vmlinuz-3.10.0-327.el7.x86_64 /boot/
(initramfs-3.10.0-327.el7.x86_64.img)
排错模式-df查看镜像是否挂载在/dev/sr0-chroot /mnt/sysimage-mkinitrd /boot/initramfs-$(uname-r).img $(uname -r)
5systemd 初始化
        
开启selinux systemd-tools
        
加载内核参数
        
加载系统时钟,键盘,主机名称
        
读写挂载 / 文件系统
        
激活 raid, lvm 设备
        
激活系统配额
        
启动multi-user.target.wants 中的所有服务脚本
        
启用虚拟控台
        
启动图形
[root@localhost boot]# cd /etc/systemd/system
[root@localhost system]# ls
basic.target.wants
dbus-org.freedesktop.NetworkManager.service
dbus-org.freedesktop.nm-dispatcher.service
default.target
default.target.wants
getty.target.wants
multi-user.target.wants
remote-fs.target.wants
sockets.target.wants
system-update.target.wants
[root@localhost system]# cd multi-user.target.wants/
[root@localhost multi-user.target.wants]# ls
auditd.service     NetworkManager.service rsyslog.service
crond.service      nfs-client.target      sshd.service
httpd.service       postfix.service         tuned.service
irqbalance.service remote-fs.target
kdump.service      rhsmcertd.service
[root@localhost system]# rm -fr /etc/systemd/system/default.target
[root@localhost system]# ln -s /lib/systemd/system/poweroff.target/etc/systemd/system/default.target
会出现开机又关机的情况
在开机初始选项阶段按ero####改为rw rd.break-chroot /sysroot/-rm -rf /etc/systemd/system/default.target-ln -s/lib/systemd/system/multi-user.target /etc/systemd/system/default.target

6)启动级别
runlever0.target -> poweroff.target
runlever1.target -> rescue.target
runlever2.target -> multi-user.target
runlever3.target -> multi-user.target
runlever4.target -> multi-user.target
runlever5.target -> grapical.target
runlever6.target -> reboot.target
7)设定启动级别
• systemctl set-default +
启动级别
• /etc/systemd/system/default.target
(8)
忘记root用户密码,修改root用户密码
在开机初始选项阶段按ero####改为rw rd.break->chroot /sysroot/->passwd->输入并且确认密码->touch /.autorelabel
退出重启

0 0
原创粉丝点击