linux系统恢复和排错

一、系统启动的过程:

通电

bios初始化

grub2磁盘引导阶段

grub2文件引导街道

指定boot所在分区

启动内核,只读挂载/设备

启动init程序进入初始化阶段

启动systemd初始化进程

读取/etc/systemd/中的文件

启动程序

启动登录环境


grub文件引导阶段

由文件/boot/grub2/grub.cfg控制流程

指定/boot分区位置——>加载内核——>启动系统初始化进程——>grub2-mkconfig


内核引导阶段

检测硬件设备——>设备驱动初始化——>将/只读挂载——> 载入初始化进程systemd——>内核文件丢失请重新安装内核


systemd初始化

开启selinux和systemd-tools——>加载内核参数——>加载系统时钟,键盘,主机名称——>读写挂载/文件系统——>激活raid,lvm设备——>激活系统配额——>启动multi-user.target.wants中的所有服务脚本——>启用虚拟控制台——>启动图形

 

二、系统启动出错恢复

 

我们在进行系统恢复之前,首先需要准备好与系统版本相同的系统镜象文件,

使用hostnamctl查看当前使用系统的版本:


因此我们需要准备红帽企业7.0的系统镜象

1.mbr主引导记录的恢复

1.首先我们需要了解本机的mbr存放位置,使用fdisk -l:


带*的设备即为mbr所在位置:/dev/vda1,这个位置我们需要记住

使用命令破坏/dev/sda前446字节引导

dd if=/dev/zero if=/dev/sda bs=446 count=1

开机无法引导系统

 

关闭虚拟机,加入iso镜像光盘,设置从光驱启动

步鄹:

Troubleshooting 系统修复

Rescue a Res Hat Enterprise Linux system 选择挽救模式

选择continue:

在救援模式中,我们系统的/分区是挂载在/mnt/sysimages/下的

 

选择ok

 

此时,我们就进入了救援模式:

chroot /mnt/sysimage     在光盘启动的shell中/mnt/sysimage是系统的根目录

grub2-install /dev/vda     将grub引导安装在/dev/vda的mbr位置上,成为主引导记录

执行两次exit退出

关闭虚拟机后

从硬盘启动,

恢复成功

 

 

2.引导文件/boot/grub2/grub.cfg丢失

 

initramfs-3.10.0-123.el7.x86_64.img 内核初始化镜像文件

vmlinuz-3.10.0-123.el7.x86_64  系统内核

grub.cfg 引导文件

vim /boot/grub2/grub.cfg

 

用磁盘启动server

用命令完成grub引导也可以启动系统,直接在grub>后面执行:

set root='hd0,msdos1' 根据自己的boot分区

linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=/dev/vda1  #这里要写根目录所在的设备名称

initrd16 /initramfs-3.10.0-123.el7.x64_64.img

boot                             

完成引导,执行这条命令回到系统启动过程

启动成功后执行grub2-mkconfig > /boot/grub2/grub.cfg恢复即可

 

3.内核丢失

vmlinuz-3.10.0-123.el7.x86_64

无法启动

进入救援模式:
查看系统镜像是否 挂载:
 

在镜象中找到内核的安装包复制到/mnt/目录下:

将安装包拆解:

找到内核,将内核复制回/boot:

查看

 

cd /mnt/sysimage/mnt

rpm2cpio /run/install/repo/Packages/kernel-3.10.0-123.el7.x86_64 | cpio -id   

cd boot   #将镜像中内核相关的软件包分离出来,包的数字版本视系统版本而定

cp vmlinuz-3.10.0-123.el7.x86_64 /mnt/sysimage/boot/

从硬盘启动,启动成功即可

 

4.初始化文件丢失

initramfs-3.10.0-123.el7.x86_64.img

无法启动

进入挽救模式

chroot /mnt/sysimage

mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)   #生成启动文件,uname -r命令可以查看系统版本号

执行两次exit,从硬盘启动成功即可

5.boot分区丢失

无法启动

进入挽救模式

重复以上操作

先恢复内核

在/mnt/boot中将内核复制回/boot:
 

2.内核初始化镜像文件恢复:

3.引导文件恢复:

两次exit后,从硬盘启动即可

6.开机启动级别被篡改

1.错误形成

systemctl set-default reboot.target	##将开机启动级别更改为重启,意味主机刚开启就会重启 

 

2.解决方法
在开机的编辑界面临时更改启动模式

在开机读秒阶段,按e

编辑5表示以图形模式启动,按ctrl x进入到虚拟机中

正常开机后,再修改开机启动方式:

 

7.超级用户密码忘记

先更改超级用户密码

解决方法:在开机时更改超户密码
1.开机进入编辑界面,临时更改启动方式:



2.更改超户密码并退出:





此时可以使用新密码登陆超户

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值