目录

  • 前言
  • 1、制作系统U盘
  • 1.1 准备两个U盘。
  • 1.2 下载Centos7.9镜像
  • 1.3 电脑安装系统U盘制作工具Ultraiso
  • 1.4 系统U盘制作
  • 2、进入救援模式并导入usr
  • 2.1 插入系统 U 盘
  • 2.2 进入系统救援模式界面
  • 2.3 进入后等待最终进入提示模式
  • 2.4 切换到临时linux系统
  • 2.5 将备份的数据接入 linux 操作系统&替换
  • 2.6 直接将/usr 目录替换
  • 2.7 重启系统
  • 总结



前言

系统版本:Centos7.9

出现问题:误操作命令rm -rf /usr,直接将整个usr目录全部删除,所有/usr/bin下命令无法使用,系统重启失败。

恢复步骤:制作一个相同版本的系统U盘,使用U盘作为系统启动盘,进入操作系统救援模式,将usr目录复制至原系统后重启。


1、制作系统U盘

1.1 准备两个U盘。

一个16G以上U盘,用于制作系统盘;
一个4G以上U盘,用于存放usr目录。

1.2 下载Centos7.9镜像

下载地址:http://isoredirect.centos.org/centos/7/isos/x86_64/,本次选择阿里的源下载

centos7 删除回收站里 centos 删除恢复_重启

1.3 电脑安装系统U盘制作工具Ultraiso

下载地址:https://cn.ultraiso.net/xiazai.html

1.4 系统U盘制作

A. 点击【文件】->打开,选择你的ISO路径,选定打开;

centos7 删除回收站里 centos 删除恢复_重启_02


B. 点击菜单【启动】->写入硬盘映像

打开ISO后选择启动光盘,然后再选择写入硬盘映像;

centos7 删除回收站里 centos 删除恢复_centos_03


C. 选择硬盘驱动器(就是你的U盘盘符),点击【格式化】,格式化一下U盘

centos7 删除回收站里 centos 删除恢复_linux_04


D. 格式化完成后,选择【写入方式】,(我选的是USB-HDD+);

centos7 删除回收站里 centos 删除恢复_运维_05


E. 点击【便捷启动】,选择写入新的驱动器引导扇区,再选择Syslinux

centos7 删除回收站里 centos 删除恢复_centos_06


centos7 删除回收站里 centos 删除恢复_运维_07


centos7 删除回收站里 centos 删除恢复_centos_08


F. 点击【写入】,写入过程需要一段时间,耐心等待即可。

centos7 删除回收站里 centos 删除恢复_centos7 删除回收站里_09


centos7 删除回收站里 centos 删除恢复_重启_10


centos7 删除回收站里 centos 删除恢复_重启_11


至此,系统U盘制作完成。

2、进入救援模式并导入usr

2.1 插入系统 U 盘

进入 bios , 设置为U盘启动 (F2 ,F8, F12 , ESC … )

2.2 进入系统救援模式界面

先选Troubleshooting,再选Rescue installed system**

centos7 删除回收站里 centos 删除恢复_linux_12


centos7 删除回收站里 centos 删除恢复_centos_13

2.3 进入后等待最终进入提示模式

输入 1 回车

centos7 删除回收站里 centos 删除恢复_centos_14


我在这一步并没有出现上图界面,而是报了Error:i8042:no controller found。
现象:
在出现i8042的错误页面,继续等待,一直到滚动错误提示停止,进入一个输入命令界面。

原因: Ultraiso在写入硬盘镜像的时候把U盘盘符给改成了Centos 7 x86_64。

解决办法如下:

A. 在出现i8042的错误页面,继续等待,一直到滚动错误提示停止,进入一个输入命令界面;

B. 在命令行输入界面,输入:

ls /dev/sd* 会列出当前系统下所有的存储设备,确认U盘路径,我这里显示的是/dev/sdb4;

C. 确认U盘路径后,输入reboot重启系统,重新进入救援模式,至选择Rescue installed system界面

centos7 删除回收站里 centos 删除恢复_centos7 删除回收站里_15


D. 按Tab键,进入编辑界面,找到

vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rescue quiet

把这行改为

vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4:/ rescue quiet

就是将hd:和rescue quiet之间的内容改为U盘路径,注意要写成/dev/sdb4:/

E. 修改之后,直接按Enter回车键,进入到上面步骤:2.3 进入后等待最终进入提示模式(下图) ,继续进行后续替换步骤即可。

centos7 删除回收站里 centos 删除恢复_centos7 删除回收站里_16

2.4 切换到临时linux系统

然后输入chroot /mnt/sysimage 切换到临时linux系统,切换后前缀会变为bash
在这时,原来的操作系统就挂载到了 /mnt/sysimage 目录下,将恢复文件/usr 直接复制到 /mnt/sysimage 目录即可。

2.5 将备份的数据接入 linux 操作系统&替换

我是将另一个相同系统的/usr 目录进行压缩:tar -zcvf usr.tar.gz /usr 后文件usr.tar.gz直接放到 另一个U 盘里面了.(注意 U盘格式,不然 linux 操作系统不识别)
2.5.1 插入存储usr.tar.gz的U 盘
2.5.2 执行命令 查看挂载 U 盘映射的地址名称

lsblk

会发现一个地址类似 : /dev/sdb1

2.5.3 创建挂载文件目录

mkdir /mnt/usb

2.5.4 挂载 U 盘

mount /dev/sdb1 /mnt/usb

2.5.5 操作U 盘内容

cd  /mnt/usb   (u盘的内容都在里面)

2.5.6 卸载 U 盘

umount /mnt/usb

2.6 直接将/usr 目录替换

cp  /mnt/usb/usr.tar.gz  /mnt/sysimage
tar -xzvf /mnt/sysimage/usr.tar.gz

2.7 重启系统

exec /sbin/reboot (重启)

记得bios改回为硬盘启动. (如果是通过临时修改的那种方式,可以不做修改.)
————————————————

总结

在进行服务器操作时尽量不要使用root用户操作,尽量使用赋予sudo权限的普通用户进行操作,另外在使用rm命令时也一定小心小心再小心,谨慎谨慎再谨慎。