Linux学习第十一单元-系统恢复单元

第十一单元-系统恢复单元


**系统引导过程**
通电--bios初始化--grub2磁盘引导阶段--grub2文件引导阶段--指定bot所在分区--启动内核,只读挂载设备--启动init程序进入初始化阶段--期待哦各systemd初始化进程--读,取/etc/systemd中的文件--启动程序--启动登陆环境

一、bios 初始化

• 基本输入 / 输出系统 ( BIOS ) 是内置于标准 x86/x86-64
硬件的固件接口 , 将硬件置于已知状态并准备好系统以加载
操作系统
• 出现什么情况 ?
– 检测并初始化硬件
– 确定从中引导的设备
• 可能出现了什么错误 ?
– 错误或异常 BIOS 设置
– 错误引导设备顺序
• 可以如何中断或影响 ?
– 按特定于供应商的键
– 使用特定于供应商的配置实用程序
– 通常 , <F12> 可以执行一次引导顺序覆盖

二、grub 磁盘引导阶段

  MBR
mbr 的作用是为了记录 /boot 目录所在分区位置磁盘的 0 磁道 1 扇区的前 446 字节
损坏命令:dd if=/dev/zero of=/dev/xda bs=446 count=1

示图:损坏446字节


示图:开机错误界面


纠正维护:
将虚拟机强制关闭,设置被破坏的虚拟机采用cdrom的方式进行修复
1 add new virtual hardware
选择CDROM device方式载入,在指定位置选择备份安装包

示图:


2 在boot options中将IDE CDROM1设置为优先加载显示,调为第一个

示图:


3 打开虚拟机,进入选择界面,选择第三个troubleshooting

示图:


4 进而选择第二项,修复redhat的linux系统

示图:


5 选择1继续执行,回车即可看到命令行

示图:


6 可用df查看当前/dev/vda挂载情况,

7 chroot /mnt/sysimage  ##以root身份

示图:



8 再次用df查看可发现被挂载位置为/的挂载又加了/dev/vda的某个分区

示图:


9 grub2-install /dev/vda  ##进行安装grub2磁盘引导,安装完毕后输入两次exit继续开机

示图:


10 强制虚拟机关机,在虚拟机设置中将VirtlO Disk1再次设置为优先加载显示,进行开机

示图:

示图:正常的登陆界面




三、grub 文件引导阶段

 /boot/grub2/grub.cfg
引导顺序:
 指定 /boot 分区位置
 加载内核
 启动系统初始化进程
示图:文件内容

1 损坏文件:
rm -rf /boot/grub2/grub.cfg

示图:开机后问题界面


需要手动输入grub2文件引导的内容:
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继续开机
示图:手动输入引导



2 修护方法:
grub2-mkconfig ##输出的就是/boot/grub2/grub.cfg的文件内容
grub2-mkconfig > /boot/grub2/grub.cfg  ##将输出内容全部导入指定的grub2文件引导中,再次开机就不需要手动引导

示图:


3.执行效果
开机不需要手动引导,正常自动开机


四、内核引导阶段


检测硬件设备
设备驱动初始化
将 / 只读挂在
载入初始进程 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 初始化


开启 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
设定启动级别
• 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进入界面

示图:



修改显示的文件内容
示图:未修改



示图:修改后内容添加内容为rw rd.break,ctrl+x保存退出编辑模式



进入命令行
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.忘记密码


在指定界面按键e进入修改文件为指定的格式
chroot /sysroot ##使用超级用户
passwd  ##修改密码

touch /.autorelabel

 

exit退出,reboot进行开机
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值