Linux学习第十一单元-系统恢复单元
第十一单元-系统恢复单元
**系统引导过程**
通电--bios初始化--grub2磁盘引导阶段--grub2文件引导阶段--指定bot所在分区--启动内核,只读挂载设备--启动init程序进入初始化阶段--期待哦各systemd初始化进程--读,取/etc/systemd中的文件--启动程序--启动登陆环境
一、bios 初始化
• 基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载
操作系统
• 出现什么情况 ?
– 检测并初始化硬件
– 确定从中引导的设备
• 可能出现了什么错误 ?
– 错误或异常 BIOS 设置
– 错误引导设备顺序
• 可以如何中断或影响 ?
– 按特定于供应商的键
– 使用特定于供应商的配置实用程序
– 通常 , <F12> 可以执行一次引导顺序覆盖
二、grub 磁盘引导阶段
MBRmbr 的作用是为了记录 /boot 目录所在分区位置磁盘的 0 磁道 1 扇区的前 446 字节
损坏命令:dd if=/dev/zero of=/dev/xda bs=446 count=1
示图:损坏446字节
示图:开机错误界面
将虚拟机强制关闭,设置被破坏的虚拟机采用cdrom的方式进行修复
1 add new virtual hardware
选择CDROM device方式载入,在指定位置选择备份安装包
示图:
示图:
示图:
示图:
示图:
6 可用df查看当前/dev/vda挂载情况,
7 chroot /mnt/sysimage ##以root身份
示图:
8 再次用df查看可发现被挂载位置为/的挂载又加了/dev/vda的某个分区
示图:
9 grub2-install /dev/vda ##进行安装grub2磁盘引导,安装完毕后输入两次exit继续开机
示图:
示图:
示图:正常的登陆界面
三、grub 文件引导阶段
/boot/grub2/grub.cfg引导顺序:
指定 /boot 分区位置
加载内核
启动系统初始化进程
示图:文件内容
1 损坏文件:
rm -rf /boot/grub2/grub.cfg
示图:开机后问题界面
set root='hd0,msdos1'
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1
initrd16 /boot/initramfs-3.10.0-123.el7.x86_64.img
输入boot继续开机
示图:手动输入引导
grub2-mkconfig ##输出的就是/boot/grub2/grub.cfg的文件内容
grub2-mkconfig > /boot/grub2/grub.cfg ##将输出内容全部导入指定的grub2文件引导中,再次开机就不需要手动引导
示图:
开机不需要手动引导,正常自动开机
四、内核引导阶段
设备驱动初始化
将 / 只读挂在
载入初始进程 systemd ##grub2文件引导的执行过程
内核文件丢失请重新安装内核
1 丢失文件--initramfs-3.10.0-123.el7.x86_64.img
损坏文件:
rm -rf initramfs-3.10.0-123.el7.x86_64.img
示图:开机提示错误界面
采用cdrom为优先加载显示,选择指定选项进入到修复界面
chroot /mnt/sysimage ##使用超级用户
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##uname -r 显示的是系统版本3.10.0-123.el7.x86_64
示图:
两次exit进行退出修复,继续开机
强制关闭,恢复开机显示,进行开机,开机会慢一些,因为重新扫描selinux,可以在添加了丢失文件后将/etcsysconfig/selinux文件中enforcing改为disabled,避免开机速度慢
2.丢失文件--vmlinuz-3.10.0-123.el7.x86_64
示图:开机提示错误界面
chroot /mnt/sysimage
mount /dev/cdrom /mnt ##将cdrom挂载到/mnt
cp /mnt/Packages/kernel-3.10.0-123.el7.x86_64.rpm /opt/ ##将/mnt中的内核文件复制到任意目录中
rpm2cpio kernel-3.10.0-327.el7.x86_64.rpm | cpio -id ##此命令执行完毕后会发现在/opt中有boot目录,进入boot目录就会看到需要的vmlinuz-3.10.0-327.el7.x86_64文件
cp boot/vmlinuz-3.10.0-123.el7.x86_64 /boot ##将新的文件复制到虚拟机中/boot下
两次exit退出当前界面,继续开机
示图:
将修复模式默认界面恢复到登陆界面,进行开机开机同恢复linux16文件速度相同
五、systemd 初始化
加载内核参数
加载系统时钟,键盘,主机名称
读写挂载 / 文件系统
** raid , lvm 设备
**系统配额
启动 multi-user.target.wants 中的所有服务脚本
启用虚拟控台
启动图形
六、启动级别
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
设定启动级别
• systemctl set-default + 启动级别
• /etc/systemd/system/default.target
损坏方式:
可以将默认的图形界面改为关机界面
rm -rf /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/poweroff.target /etc/systemd/system/default.target ##将关机的界面设为默认界面
示图:损坏过程
修复方式:
重新开机,在下示图的界面处按键e进入界面
示图:
修改显示的文件内容
示图:未修改
chroot /sysroot ##使用超级用户
rm -rf /etc/systemd/system/default.target ##删除默认的关机界面显示的链接
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target ##将图形界面的界面设为默认界面
示图:
exit退出,输入reboot进行开机
七、其他问题及解决方案
1.忘记密码
chroot /sysroot ##使用超级用户
passwd ##修改密码
touch /.autorelabel