Linux 系统恢复

来源:互联网 发布:python 数组减法 编辑:程序博客网 时间:2022/08/11 16:08

 系统恢复

一、系统引导

系统的引导过程,由biso引导,在开机时按F12,即进入启动列表,可以进入biso设定用硬件的工作方式。

二、grub2磁盘引导阶段

1.dd if=/dev/zero of=/dev/vda bs=446count=1  #截取0磁道1扇区446字节

 

2.reboot  #硬盘分区不能正常启动,因为分区表被截取

3.添加光驱启动(系统在启动时可以进入排错、挽救界面),过程如下:

  [root@foundation90~]# virt-manager

添加光驱启动,并使光驱启动先起作用

注意:光驱的选择应与内核版本号相同,本实验所用主机和光驱版本均为7.2

4.再启动,先选择排错、挽救

(1)第三行Troubleshooting  #进入排错

(2)第二行进入挽救界面

(3)选择1)Continue  #继续

(4)[enter]

(5)系统提示原系统的根在 /mnt/sysimage,执行chroot /mnt/sysimage进入根目录

(6)系统真实的根目录是/dev/vda,可以用df命令查看。

  重新安装该目录,完成启动引导。命令如下:

 grub2-install /dev/vda

(7)exit  #退出到启动界面

(8)使硬盘启动先起作用,再重启系统

三、grub2文件引导阶段

  开机文件保存在/boot/grub2/grub.cfg中

 

1.删除开机文件,系统将不能正常启动,命令如下:

  rm-fr /boot/grub2/grub.cfg

2.手动引导,输入命令如下

(1)setroot='dh0,msdos1'

(2)linux16/boot/vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/vda1  #手动引导,系统启动后根分区在/dev/vda1

(3)initrd16/boot/initramfs-3.10.0-123.el7.x86_64.img 

(4)boot  #直接启动系统

3.手动引导启动后,启动字符命令未生成文件,则在下次reboot时仍需手动引导,为避免这种麻烦,现生成开机文件,命令如下:

 grub2-mkconfig > /boot/grub2/grub.cfg   #开机文件生成

四、内核文件的恢复

1.内核文件丢失后,必须进入挽救界面,因此需使光驱启动先起作用,光驱的添加见(一)中的操作,但应注意,内核文件恢复必须使用与主机内核版本对应的光驱,uname-r命令可以查看主机的内核版本号。

##3.10.0-123.el7.x86_64   表示内核版本为7.0

##3.10.0-327.el7.x86_64   表示内核版本为7.2

2.内核文件:/boot/vmliuz-3.10.0-123.el7.x86_64

(1)若内核文件丢失,系统将无法正常启动

(2)选择光驱设备再重启,进入急救模式。应注意:内核文件恢复一定要是用与内核版本号相同的光驱,已知本系统内核版本是7.0,所以所使用的光驱设备也是7.0版本。

(3)重启系统进入急救模式,对系统内核文件进行恢复。

[enter]

[enter]

[enter]

(3)根据显示内容中提示信息可知:系统家目录在/mnt/sysimage

 chroot /mnt/sysimage  #进入系统家目录

 mount /dev/cdrom /mnt  #将光驱设备挂载至/mnt后,才可以使用光驱设备

  cp/mnt/Package/kernel-3.10.0-123.el7.x86_64 /opt #复制内核文件至/opt

 rpm2cpio /opt/kernel-3.10.0-123.el7.x86_64.rpm | cpio -id  #拆分软件包,将会得到/opt/boot/目录

  ls/opt/boot  #查看新生成的目录内容

  cp/opt/boot/vmlinuz-3.10.0-123.el7.x86_64 /boot/ #复制内核文件至/boot/


(4)注意:一定要置selinux为disabled状态

  vim/etc/sysconfig/selinux

 SELINUX=disabled

否则重启系统会出现下面情况,系统仍无法正常启动:

(5)exit

(6)使用硬盘设备重启系统

3.系统内核文件:/boot/inittramfs-3.10.0-123.el7.x86_64.img

(1)若该内核文件丢失,系统将同样不能正常启动

(2)选择光驱设备启动系统进入急救模式进行系统恢复

  步骤见上文内容

(3)由上文操作过程中的命令可知系统内核版本号较长,为了避免输入错误,可以使用以下命令来完成内核文件的恢复:

mkinitrd /boot/initramfs-$(uname -r).img$(uname -r)   #恢复内核文件

其中:$(uname-r)  #$(...) 表示先执行库括弧中内容,即先执行unmae -r这条命令

     uname -r  #查看系统版本号

(4)exit ,再使用硬盘设备重启系统。

五、systemd初始化

1.自动开启服务脚本:/etc/systemd/system/multi-user.target.wants

如:查看vsftpd服务在开机时是否可以自动启动

命令运行结果无内容显示,表示开机时该服务不会自动启动。

(2) systemctlenable vsftpd  #使vsftpd在开机时自动启动

(3) 删除vsftpd自动启动的脚本后,vsftpd运行状态仍是enable,但在开机时并未启动。

所以,服务器运行状态enable/disabled仅仅是表示服务器有/无开机时自动启动脚本。

2.图形界面引导

(1)开机时有图形服务启动脚本

[root@localhost ~]# cd /etc/systemd/system/

[root@localhost system]# ls -ldefault.target

lrwxrwxrwx. 1 root root 40 Jul 10  2014 default.target ->/usr/lib/systemd/system/graphical.target

#开机时自动启动图形界面

(2)删除图形显示服务,并在开机时启动“自动关闭图形界面”功能。

 

/etc/systemd/system/default.target  #默认启动模式

3.reboot

4.出现开机界面后,按e,进入编辑

(1)修改后的内容显示如下图:

(2)ctrl+x  

(3)输入命令:

 chroot /sysroot  #进入根目录

  ls /etc/systemd/system/default.target -l   #查看默认启动模式


#内容显示默认启动目录链接到自动关机目录中,因此系统不能正常启动

(4)删除默认启动目录,并将图形自动启动目录链接到默认启动目录,再exit退出将正常启动。

六、登录密码修改

1.忘记用户登录密码时,重启主机并按e进入编辑模式

2.修改开机文件(见“五”中4步骤),ctrl+x

3.输入命令如下:

  chroot /sysroot   #进入根目录

  echo 密码 | passwd --stdin 用户名  #更改密码

  touch /.autorelable  #使新密码生效

4.exit #退出编辑模式启动主机,使用新密码登录

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击