Linux系统恢复

一、系统启动过程介绍


1、系统启动过程

通电
bios初始化
grub2磁盘引导阶段
grub2文件引导阶段
指定boot所在分区
启动内核,只读挂载/设备
启动init程序进入初始化阶段
启动systemd初始化进程
读取/etc/systemd/中的文件
启动程序
启动登录环境

2、启动阶段介绍

(1)grub文件引导阶段

由文件/boot/grub2/grub.cfg控制流程
指定/boot分区位置——>加载内核——>启动系统初始化进程——>grub2-mkconfig

(2)内核引导阶段

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

(3)systemd初始化

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

二、win7引导配置


 vim /boot/grub2/grub.cfg
 86 ### BEGIN /etc/grub.d/10_linux ###
 87 menuentry 'Miscrosoft Windows 7 Install from dream_ya' {
 88         set root='hd0,msdos1'
 89         chainloader +1
 90 }

三、挽救模式进入方法


1、在真机(打开虚拟机管理器):

 virt-manager

2、插入光驱

这里写图片描述

3、把光驱启动设置为第一个,然后启动

这里写图片描述

4、选择Troubleshooting(系统修复)

这里写图片描述

5、进入Rescue a Res Hat Enterprise Linux system(挽救模式)

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

6、挽救模式用完之后,关闭虚拟机,改变启动顺序,系统便启动成功

这里写图片描述

四、系统启动出错恢复


操作系统:Redhat

1、引导程序boot损坏

(1)我们可以破坏/dev/vda前446字节引导前446个字节引导来做实验
 dd if=/dev/zero of=/dev/vda bs=446 count=1
 reboot
(2)报错:

这里写图片描述

(3)关闭虚拟机,从光盘启动进入挽救模式
 chroot /mnt/sysimage
 grub2-install /dev/vda
 执行两次exit,从硬盘启动成功即可

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

(1)我们删除文件来做实验
 rm -f /boot/grub2/grub.cfg
(2)电脑是否关闭

1)电脑未关

 grub2-mkconfig > /boot/grub2/grub.cfg

2)电脑重启

<1> 报错:

这里写图片描述

<2> 下面为手动启动过程(/boot/grub2/grub.cfg里面的配置文件):

 set root='hd0,msdos1'		                 ###根据自己的boot分区
 linux16 /boot/vmlinuz-3.10.0-327.el7.x86_64 ro root=/dev/vda1
 initrd16 /boot/initramfs-3.10.0-327.el7.x64_64.img
 boot

<3> 启动成功后:

 grub2-mkconfig > /boot/grub2/grub.cfg

3、内核丢失

(1)我们把内核删除来做实验:
 rm -f /boot/vmlinuz-3.10.0-123.el7.x86_64
 reboot
(2)报错:

这里写图片描述

(3)关闭虚拟机,从光盘启动进入挽救模式
 chroot /mnt/sysimage
 mkdir /rhel7
 df                                                              ###查看光驱的名称
 mount /dev/sr0 /rhel7
 cd /rhel/Packages
 cp kernel-3.10.0-123.e17.x86_64.rpm /mnt
 cd /mnt
 rpm2cpio kernel-3.10.0-123.e17.x86_64.rpm | cpio -id            ###拆分,可直接用yum安装,但是慢
 cd boot/
 cp vmlinuz-3.10.0-123.el7.x86_64 /boot
 执行两次exit,从硬盘启动成功即可
4、初始化文件丢失
(1)删除文件来做实验
 rm -f /boot/initramfs-3.10.0-123.el7.x86_64.img
 reboot
(2)报错:

这里写图片描述

(3)关闭虚拟机,从光盘启动进入挽救模式
 chroot /mnt/sysimage
 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)
 执行两次exit,从硬盘启动成功即可

5、boot分区丢失

(1)删除/boot
 rm -rf /boot
 reboot
(2)报错:

这里写图片描述

(3)关闭虚拟机,从光盘启动进入挽救模式
 mkdir /boot
 mkdir /rhel7
 grub2-install /dev/vda                                 ###生成/dev/vda前446字节引导
 mount /dev/sr0 /rhel7
 rpm -ivh /rhel7/Packages/kernel-3.10.0-123.e17.x86_64.rpm --force
 grub2-mkconifg > /boot/grub2/grub.cfg
 执行两次exit,从硬盘启动成功即可

6、闪退

关闭虚拟机,从光盘启动进入挽救模式
 cp /bin/bash /mnt/sysimage/bin/bash
 exit退出即可

7、开机启动级别被篡改

(1)我们以不断重启为例,把启动模式改为重启
 systemctl set-default reboot.target
 reboot
(2)报错:

这里写图片描述

(3)解决方法
  1. 重新启动系统
  2. 在系统启动阶段按上下健停止系统系统引导
  3. 选择启动引导标题,按“E”进行编辑
  4. 找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
  5. ctrl+x启动设定过后的系统引导条目
  6. 进入系统后执行chroot /sysroot切换到真实的系统环境
  7. rm -rf /etc/systemd/system/default.target
  8. ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target
  9. exit两次使系统自动重新启动

8、root密码忘记

(1)重新启动系统
(2)在系统启动阶段按上下健停止系统系统引导
(3)选择启动引导标题,按“E”进行编辑
(4)找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
(5)ctrl+x启动设定过后的系统引导条目
(6)进入系统后执行chroot /sysroot切换到真实的系统环境
(7)passwd root修改超级用户密码
(8)touch /.autorelabel让系统从新扫描所有文件,不然可能修改失败,密码有问题
(9)exit两次使系统自动重新启动

四、Ubuntu系统启动出错恢复


操作系统:Ubuntu22.04

1、升级内核导致启动失败

(1)解决方案

重启服务器后通过长按Shift进入,选择Advanced options for Ubuntu,然后选择之前版本的内核进入即可,也可以通过此方式进入救援模式

(2)修改内核

ubuntu中GRUB_DEFAULT默认为0,通过/boot/grub/grub.cfg查看,从0开始,这里我恢复成6.2.0-39-generic,所以就是2,注意1后面有空格

# vim /etc/default/grub
#GRUB_DEFAULT=0
GRUB_DEFAULT="1> 2"

# update-grub
# reboot
# cat /boot/grub/grub.cfg

在这里插入图片描述

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 要将Linux系统恢复到出厂设置,可以按照以下步骤操作: 1.备份重要数据:在恢复出厂设置之前,一定要备份重要的数据,以免数据丢失。 2.使用系统恢复工具:许多Linux发行版都提供了系统恢复工具,可以通过这些工具将系统恢复到出厂设置。具体操作方法可以参考发行版的文档或官方网站。 3.重新安装系统:如果没有系统恢复工具或者无法使用,可以考虑重新安装系统。需要注意的是,在重新安装系统之前,也要备份重要数据。 总之,恢复Linux系统到出厂设置需要谨慎操作,以免造成不必要的损失。 ### 回答2: Linux系统恢复出厂设置通常分为两种情况:一种是通过系统内部的工具进行恢复,另一种是通过使用特殊的恢复软件来进行操作。 1.通过系统内部工具恢复: 在Linux系统中,可以通过使用一些特殊的指令和工具来将系统恢复到出厂设置。首先,需要进入系统的终端界面,在命令行下输入“sudo su”命令,然后输入管理员密码,即可获得超级用户权限。 接下来,通过输入“cd /”,“cd restore”等指令,可以进入系统恢复目录,其中包含了恢复系统的脚本和程序。运行这些恢复程序即可将系统恢复到出厂设置,其中可能需要输入一些相关的配置和信息。 2.使用特殊恢复软件: 除了使用系统自带的恢复工具外,还可以使用第三方的恢复软件来进行操作。这些软件通常需要在制作一个启动盘或者USB启动盘,并在启动时选择从这些设备中启动。 启动后,软件会自动进入系统恢复的菜单,通过选择“恢复到出厂设置”或者“重置系统”等选项,即可开始进行恢复操作。整个操作过程可能需要一些时间,系统也会自动重启。恢复完成后,系统将回到出厂设置的状态,需要重新进行配置和设置。 总的来说,Linux系统恢复出厂设置并不难,但需要注意备份重要数据,并且在操作前需要仔细阅读相关的教程和使用说明。另外,这个操作会将系统的所有数据和配置信息全部清空,可能会对系统的稳定性和使用效果造成影响,需要谨慎操作。 ### 回答3: Linux系统恢复出厂设置可以净化系统清除不必要的文件并使操作系统更加稳定。但需要注意的是这个过程会删除所有已安装的软件、数据和设置,因此操作前请务必备份重要的文件。 以下是三种常见的Linux系统恢复出厂设置的方法: 1. 使用Linux Live CD: 将Linux Live CD放入电脑的光驱中,重新启动电脑,并选择从CD引导。在进入Live CD的界面后,打开终端并输入以下命令: sudo fdisk -l 这样就会列出硬盘的分区信息。找到要恢复出厂设置的分区,并卸载该分区。 sudo umount /dev/sda1 上述命令卸载/dev/sda1分区,请根据实际情况输入相应的分区代号。 接下来,请确保已选择要清空的分区,然后运行下列命令进行格式化: sudo mkfs.ext4 /dev/sda1 这将格式化/dev/sda1分区。完成后,重新启动计算机并拨除Linux Live CD,系统就已经恢复到出厂设置。 2. 使用恢复模式: 不同的Linux发行版中,这种方法的具体步骤可能会有些不同。但通常情况下,恢复模式可以通过连续按下Shift键或Esc键进入。 在Ubuntu中,进入恢复模式的方法如下: - 重启计算机并进入Grub引导界面。 - 选择高级选项。 - 按下Enter键后进入具体选项。 - 选择恢复模式并按下Enter键进入。 在进入恢复模式后,选择“清除磁盘并重新安装Ubuntu”并按下Enter键。 3. 使用命令行: 另一种方法是使用命令行。在Linux中,可以使用dd命令对整个硬盘进行格式化,清除所有数据并恢复出厂设置。但需要注意,这项操作可能耗费较长时间,因此请准备好足够的时间。 在终端中输入以下命令: sudo dd if=/dev/zero of=/dev/sda 上述命令将把硬盘的整个内容都清除。请再次提示注意事项,该命令会删除硬盘上的所有文件和数据,所以请在操作前备份重要的文件。 总之,以上三种方法可以在不同的Linux发行版中进行系统恢复。在执行恢复出厂设置的操作前,请务必保存重要数据和文件,以避免数据丢失。同时,请谨慎地参考以上方法,并根据自己实际的需求进行操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wielun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值