第十一单元 系统恢复技术
系统引导过程概述
通电>bios初始化>grub2磁盘引导阶段>grub2文件引导阶段>指定boot所在分区>启动内核
>启动init程序进入初始化阶段>启动systemd初始化进程>去/etc/systemd/中文件>启动程序
>启动登陆环境
bios初始化
基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载操作系统
grub 磁盘引导阶段
MBR
– mbr 的作用是为了记录 /boot 目录所在分区位置
– 磁盘的 0 磁道 1 扇区的前 446 字节
– dd if=/dev/zero of=/dev/xda bs=446 count=1 ###破坏记录/boot位置的446字节
– grub2-install /dev/xda ###修复446字节
破坏后系统无法启动
利用cdrom 挂载iso映像 进入拯救模式
进入拯救模式后chroot /mnt/sysimage 切换到系统根目录
恢复446字节
grub2-install /dev/vda
恢复后输入两次exit重新启动系统
grub文件引导阶段
/boot/grub2/grub.cfg
– 指定 /boot 分区位置
– 加载内核
– 启动系统初始化进程
– grub2-mkconfig ###将引导文件grub.cfg内容输出在屏幕
删除/boot/grub2/grub.cfg
重启后因缺少grub引导文件而无法进入系统
此时需要手动引导进入系统
set root="hd0,msdos1" ###磁盘引导
linux16 /boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1 ###加载内核
initrd16 /boot/initramfs-3.10.0-123.e17.x86_64.img ###加载系统初始化进程
boot ###引导开机
开机后修复引导文件grub.cfg
内核引导阶段
检测硬件设备
设备驱动初始化
将 / 只读挂在
载入初始进程 systemd
内核文件丢失请重新安装内核
删除内核文件/boot/vmlinuz-3.10.0-123.e17.x86_64
系统重新启动后因缺少内核文件而无法启动
将cdrom挂载至/mnt
将Packages内内核安装文件复制到boot1(自己建立)
将kernel内核包解开
将解开后的内核包内的boot中的内核文件复制到根目录下的boot中
加载初始化程序initramfs-3.100-123.e17.x86_64.img
初始化程序丢失后系统无法正常启动
进入拯救模式
mkinitrd initramfs-$(uname -r).img $(uname -r)
###恢复初始化程序映像 $(*) 表示先执行括号内命令 uname -r 输出内核版本号
输入两次exit命令即可开机
systemd 初始化
开启 selinux 和 systemd-tools
加载内核参数
加载系统时钟,键盘,主机名称
读写挂载 / 文件系统
激活 raid , lvm 设备
激活系统配额
启动 multi-user.target.wants 中的所有服务脚本
启用虚拟控台
启动图形
启动级别
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
忘记root用户密码登陆方式
通电后进入引导后按e键 修改引导 跳过引导
将下图内容改为下下图
ctrl+x进入命令行模式
chroot /sysimage ###切换到系统跟目录
passwd 进行修改命令
修改完成后需要 touch /.autorelabel使修改的密码生效
本文转自Super_MONKEY 51CTO博客,原文链接:http://blog.51cto.com/supermk/1921410