Linxu Centos系统误删/usr目录,恢复操作(包含制作系统U盘)

目录:

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

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

1.4 系统U盘制作

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

在这里插入图片描述

 B. 点击菜单【启动】->写入硬盘映像
打开ISO后选择启动光盘,然后再选择写入硬盘映像;

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

 在这里插入图片描述

 在这里插入图片描述

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

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

2.1 插入系统 U 盘

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

2.2 进入系统救援模式界面

先选Troubleshooting,再选Rescue installed system**

在这里插入图片描述

在这里插入图片描述

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

输入 1 回车

在这里插入图片描述

我在这一步并没有出现上图界面,而是报了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界面

 

 在这里插入图片描述

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 进入后等待最终进入提示模式(下图) ,继续进行后续替换步骤即可。

 

 在这里插入图片描述

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 盘映射的地址名称

1.lsblk

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

2.5.3 创建挂载文件目录

1.mkdir /mnt/usb

 2.5.4 挂载 U 盘

1.mount /dev/sdb1 /mnt/usb

2.5.5 操作U 盘内容

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

2.5.6 卸载 U 盘

1.umount /mnt/usb

2.6 直接将/usr 目录替换

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

2.7 重启系统

1.exec /sbin/reboot (重启)

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

总结

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

如果你在 CentOS 7 系统误删了 `/etc/passwd` 文件,并且尝试重启系统时遇到 "failed to start login service" 的错误,这通常是因为系统依赖这个文件来进行用户认证。以下是应对这种情况的一些步骤: 1. **备份重要数据**:首先,如果可能的话,在尝试恢复前先创建一个系统备份。 2. **修复文件**:由于 `/etc/passwd` 是一个关键系统文件,你可以尝试从其他正常的系统或者安装上复制一份到你的系统里。命令如下: ``` sudo cp /path/to/backup/passwd /etc/ ``` 如果你没有可用的备份,可以尝试使用急救工具如 `tar` 或者 `rsync` 来恢复,例如: ``` sudo tar -cvf etc.tar /etc/ | (cd / && sudo tar -xvf etc.tar) ``` 这样可能会覆盖现有的文件,所以要小心操作。 3. **检查并启用login服务**:确认文件是否已成功替换后,运行以下命令启动并检查login服务状态: ``` sudo systemctl enable sshd.service sudo systemctl start sshd sudo systemctl status sshd ``` 如果服务未启动,查看错误日志 `/var/log/auth.log` 了解详细信息。 4. **手动登录**:由于 `/etc/passwd` 中包含了密码哈希,你可能需要通过单用户模式 (`su -`) 或者安全模式 (`systemctl isolate multi-user.target`) 登录,然后修复文件权限、生成新的密码哈希等。 5. **重建passwd数据库**:如果上述步骤不足以解决问题,可以尝试重建 passwd 数据库: ``` sudo chroot / /usr/bin/useradd -r nobody sudo chroot / /usr/sbin/groupadd nogroup sudo chroot / /usr/bin/usermod -aG nogroup nobody sudo chroot / /usr/bin/userdel -rf root sudo chroot / passwd nobody sudo chroot / groupadd root sudo chroot / usermod -aG root nobody sudo chroot / /sbin/chroot /bin/bash ``` 接着,使用 `update-grub` 更新引导菜单,再退出单用户模式,重启系统。 请谨慎操作,因为直接编辑关键系统文件可能导致更严重的问题。完成上述步骤后,请务必修复系统的正常配置并做好相应的安全措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值