linux的救援模式-1

详解在 Ubuntu 中引导到救援模式或紧急模式

这篇教程将介绍如何在 Ubuntu 22.04、20.04 和 18.04 LTS 版本中引导到 救援Rescue 模式或 紧急Emergency 模式。

你可能已经知道,在 RHEL 7 、RHEL 8 、Ubuntu 16.04 LTS 及其更新的版本的 Linux 发行版中 运行等级Runlevels 已经被 系统目标Systemd target 所替代。更多关于 运行等级Runlevel 和 系统目标Systemd targets 的信息,参考 这篇指南

这篇指南是针对 Ubuntu 编写的,但是,下面所给的步骤应该也适用于大多数使用 systemd 作为默认服务管理器的 Linux 发行版。

在进入主题前,让我们简单的理解:什么是 救援rescue 模式 和 紧急Emergency 模式,以及这两种模式的目的是什么。

什么是救援模式?

在 Linux 发行版中,救援模式等效于使用 SysV 作为默认的服务器管理器的 单用户single user 模式。在救援模式中,将挂载所有的本地文件系统,将仅启动一些重要的服务。但是,不会启动一般的服务(例如,网络服务)。

救援模式在不能正常引导系统的情况下是很有用的。此外,我们可以在救援模式下执行一些重要的救援操作,例如,重新设置 root 密码

什么是紧急模式?

与救援模式相比,在紧急模式中,不会启动任何的东西。不会启动服务、不会挂载挂载点、不会建立套接字、什么都不会启动。你将所拥有的只是一个 原始的 shell 。紧急模式适用于调试目的。

首先,我们将看到如何在 Ubuntu 22.04 和 20.04 LTS 发行版中引导到救援模式或紧急模式。在 Ubuntu 22.04 和 20.04 LTS 中的过程是完全相同的!

在 Ubuntu 22.04 / 20.04 LTS 中引导到救援模式

我们可以使用两种方法来引导到救援模式。

方法 1

打开你的 Ubuntu 系统。在 BIOS 徽标出现后,按下 ESC 按键来显示 GRUB 菜单。

在 GRUB 菜单中,选择第一项,并按下 e 按键来编辑它。

GRUB Menu In Ubuntu 22.04 / 20.04 LTS

按下 按键,并找到以单词 linux 开头的一行代码,并在其结尾处添加下面的一行代码。为到达其结尾处,只需要按下 Ctrl + e 组合键,或使用你键盘上的 END 按键或 / 按键。

systemd.unit=rescue.target

Edit Grub Boot Menu Entries To Enter Into Rescue Mode In Ubuntu 22.04 / 20.04 LTS

在添加上面的代码行后,按下 Ctrl + x 组合键或按下 F10 按键来引导到救援模式。

数秒后,你将作为 root 用户来登录到救援模式(即单用户模式)。将会提示你按下回车键来进入维护。

下图是 Ubuntu 22.04 / 20.04 LTS 系统的救援模式的样子:

Boot Into Rescue Mode In Ubuntu 22.04 / 20.04 LTS

现在,在救援模式中做你想做的任何事。在救援模式中,在你执行任何操作前,你可能需要以 读/写模式来挂载根(/)文件系统。

mount -n -o remount,rw /

Mount Root File System In Read Write Mode In Ubuntu 22.04 / 20.04 LTS

在完成后,按下 Ctrl + d 组合键来引导到正常模式。或者,你可以输入下面的任意一个命令来引导到正常模式。

systemctl default

或者,

exit

如果你想重新启动系统,而不是引导到正常的模式,输入:

systemctl reboot

方法 2

在这种方法中,你不需要编辑 GRUB 启动菜单项目。

打开系统电源,并从 GRUB 启动菜单中选择 Ubuntu 高级选项Advanced options for Ubuntu。

Choose Advanced Options For Ubuntu From Grub Boot Menu

接下来,你将看到一个带有内核版本的可用的 Ubuntu 版本的列表。在 Ubuntu 中的 GRUB 启动菜单中选择 恢复模式Recovery mode 。

Choose Recovery Mode In Grub Boot Menu In Ubuntu 22.04 / 20.04 LTS

数秒后,你将看到 Ubuntu 的 恢复Recovery 菜单。从恢复菜单中,选择 进入 root 的 shell 提示符Drop to root shell prompt 选项 ,并按下回车键。

Enter Into Root Shell Prompt In Ubuntu 22.04 / 20.04 LTS

现在,你将进入维护。

Ubuntu Maintenance Mode

通过输入下面的命令来 以读/写模式的方式 来挂载根(/)文件系统:

mount -n -o remount,rw /

Mount Root File System In Read Write Mode In Ubuntu

在救援模式中做你想做的任何事。

在完成后,输入 exit 来返回到恢复菜单。

exit

最后,选择 救援正常启动Resume normal boot 选项,并按下回车键。

Boot Into Normal Mode In Ubuntu

再次按下回车键来退出恢复模式,并继续引导到正常模式。

Exit The Recovery Mode In Ubuntu

如果你不想引导到正常模式,从救援模式中输入 reboot 并按下回车键来重新启动你的系统。

在 Ubuntu 22.04 / 20.04 LTS 中引导到紧急模式

当 GRUB 菜单出现时,按下 e 按键来编辑它。

GRUB Menu In Ubuntu 22.04 / 20.04 LTS

找到以单词 linux 开头的一行代码,并在其结尾处添加下面的一行代码:

systemd.unit=emergency.target

Edit Grub Boot Menu Entries To Enter Into Emergency Mode In Ubuntu 22.04 / 20.04 LTS

在添加上面的代码行后,按下 Ctrl + x 组合键,或按下 F10 按键来引导到紧急模式。

数秒后,你将作为 root 用户来进入维护。将会提示你按下回车键来进入紧急模式。

下图是 Ubuntu 22.04 / 20.04 LTS 系统的紧急模式的样子:

Boot Into Emergency Mode In Ubuntu 22.04 / 20.04 LTS

现在,在紧急模式中做你想做的任何事。在紧急模式中,在你执行任何操作前,你可能需要以读/写模式来挂载根(/)文件系统。

mount -n -o remount,rw /

在完成后,按下 Ctrl + d 组合键来引导到正常模式。或者,你可以输入下面的任意一个命令来引导到正常模式。

systemctl default

或者,

exit

如果你想重新启动系统,而不是引导到正常模式,输入:

systemctl reboot

在 Ubuntu 18.04 LTS 中引导到救援模式

启动你的 Ubuntu 系统。当 GRUB 菜单出现时,选择第一项并按下按键 e 来编辑。(为到达其行尾处,只需要按下 Ctrl + e 组合键,或使用你键盘上的 END 按键或 / 按键):

Grub Menu

如果你没有看到 GRUB 菜单,只需要在 BIOS 徽标出现后,按下 ESC 按键来显示 GRUB 菜单。

找到以单词 linux 开头的一行代码,并在其结尾处添加下面的一行代码(为到达其行尾处,只需要按下 Ctrl + e 组合键,或使用你键盘上的 END按键或/→` 按键):

systemd.unit=rescue.target

Edit Grub Menu

在添加上面的代码行后,只需要按下 Ctrl + x 组合键,或按下 F10 按键来引导到救援模式。数秒后,你将作为 root 用户进入维护(即单用户模式)。

下图是 Ubuntu 18.04 LTS 服务器系统的救援模式的样子:

Ubuntu Rescue Mode

接下来,输入下面的命令来挂载根(/)文件系统为读/写模式。

mount -n -o remount,rw /

在 Ubuntu 18.04 LTS 中引导到紧急模式

引导你的 Ubuntu 到紧急模式基本与上述方法相同。你所需要做的全部工作是,在编辑 GRUB 菜单时,将 systemd.unit=rescue.target 替换为 systemd.unit=emergency.target

Edit Grub Menu

在你添加 systemd.unit=emergency.target 后,按下 Ctrl + x 组合键,或按下 F10 按键来引导到紧急模式。

Ubuntu Emergency Mode

最后,你可以使用下面的命令来以读/写模式的方式来挂载根(/)文件系统:

mount -n -o remount,rw /

在救援模式和紧急模式之间切换

如果你正在救援模式中,你不必像我上述提到的那样来编辑 GRUB 的菜单启动项。相反,你只想要输入下面的命令来立刻切换到紧急模式:

systemctl emergency

同样,为从紧急模式切换到救援模式,输入:

systemctl rescue

总结

现在,你知道了什么是救援模式和紧急模式,以及如何在 Ubuntu 22.04 、20.04 和 18.04 LTS 系统中启动到这些模式。正如我已经提到的,在这里提供的这些步骤应该也适用于大多数当前使用 systemd 作为默认服务管理器的 Linux 发行版。

Ubuntu如何进救援模式的更多相关文章

  1. [转载]Linux运行模式及紧急、救援模式

    运行模式 在Linux中,存在一个叫init(initialize)的进程,其进程号是1,该进程存在一个对应的配置文件inittab,叫做系统的运行级别配置文件,位置在/etc/inittab.(但是 ...

  2. Linux学习(四)单用户模式、救援模式、虚拟机克隆、linux互连(包括密匙登录)

    一.单用户模式 忘记root密码后,找回密码有两种方法: 单用户(grub没有加密的情况下可以使用) 救援模式 这一节我们先讲单用户模式   1.先重启(3种方法) reboot init 6 sho ...

  3. 救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode)的区别与联系

    前天聚餐的时候一航和启飞学长讲到RUCTF中更改root密码要进入单用户模式,我插了一句"有的系统显示的是救援模式",说完后心里一直很虚...(技术上的事还是想好再说)今天查了一下 ...

  4. lesson - 2 yum /单用户/救援模式/Linux 启动

    课程大纲:1.  yum使用yum 是一个在线安装软件包的工具,它可以帮我们解决软件包的依赖,这个日后会详细介绍.我们介绍了以下几个用法:yum list    这个命令可以列出所有安装过和未安装的软 ...

  5. 第三节 - centos 内核启动、救援模式、 ls 、目录结构

    Linux 第三节一.CentOS 启动: 1.内核引导: 1.win/linux 通电,2.BISO自检(CPU,内存,硬盘等 | U盘.光驱.网卡.硬盘启动 通过MBR知道内核内存硬件驱动位置并加 ...

  6. 单用户模式与救援模式:linux学习第三篇

    单用户模式 1.      重新启动,在下列界面选项第一项按 e 按e后进入此grub界面(启动工具) 2.      找到linux16所在行,将'ro'(只读)修改为'rw'(读写),并加上 in ...

  7. centos7救援模式--误删/usr/bin/恢复

    模拟场景 centos7 误删/usr/bin/等系统内置文件夹, 导致几百个内置命令丢失. 修复 rescue模式 vm模拟一遍(如果在物理机, 可通过U盘方式直接开机U盘进入选择救援模式, 方式通 ...

  8. CentOS和Redhat救援模式

    当单用户模式无法修复系统时可以使用救援模式 把系统盘插入光驱重启主机 选择救援模式 默认选择 是否设置网络这里选择否 已读写模式挂载 提示系统挂载/mnt/sysimage如果需要恢复运行 chroo ...

  9. linux重启后进入了救援模式,无法远程登录

    卸载删除了某个文件系统分区的逻辑卷,但是没有修改fstab文件,导致系统重启异常,此时已经无法远程连接了,只能本地登录到救援模式修改

  10. Ubuntu关闭进入screensaver模式

    /********************************************************************************* * Ubuntu关闭进入scree ...

随机推荐

  1. 17.2 内存映射文件的一致性--《Windows核心编程》

    系统允许我们把同一个文件映射到多个视图中,只要映射的是同一个文件映射对象,系统会保证各视图中数据是一致的.例如一个程序修改了一个视图内的内容,那么系统会更新所有其他视图(对应同一文件映射对象)中的内容 ...

  2. .NET Core开发实战(第9课:命令行配置提供程序)--学习笔记

    09 | 命令行配置提供程序:最简单快捷的配置注入方法 这一节讲解如何使用命令行参数来作为配置数据源 命令行配置(提供程序的)支持三种格式的命令 1.无前缀的 key=value 模式 2.双中横线模 ...

  3. Hive-beeline连接报错:root is not allowed to impersonate root (state=08S01,code=0)

    问题描述 使用hive/bin目录下的hive启动客户端,使用!connect jdbc:hive2://hadoop01:10000连接Hive数据仓库时提示输入用户名和密码,输入数据库的用户名和密 ...

  4. ABC 333

    ABCDE 赛时 AC. F 列方程:\(f_{i,j}\) 表示有 \(i\) 个人,第 \(j\) 个人最终活下来的概率. \(f_{i,1}=\dfrac{1}{2}f_{i,i}\),因为只有 ...

  5. 长沙IT技术圈百万年薪大佬?是否存在?

    引子 不知不觉,IT技术圈开始流传起"百万年薪"的故事,有人问我,长沙有百万大佬么?其实我也不知道. 一 背景 长沙自古以来就是文风鼎盛之地,在今天也同样如此. 目前长沙有211. ...

  6. NC16527 [NOIP2013]货车运输

    题目链接 题目 题目描述 A 国有 n 座城市,编号从 1 到 n ,城市之间有 m 条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆 ...

  7. NC20325 [SDOI2009]HH的项链

    题目链接 题目 题目描述 HH有一串由各种漂亮的贝壳组成的项链. HH相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一 段贝壳,思考它们所表达的含义. HH不断地收集新的贝壳,因此他的项链 ...

  8. 【leetcode】合并 k 个有序链表,我给了面试官这 5 种解法

    开胃菜 在进入本节的正题之前,我们先来看一道开胃菜. 题目 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

  9. Oracle system identifier already exists specify another SID

    问题说明 Centos7重装Oracle,使用DBCA重新创建实例test的时候报错,中文意思是: Oracle系统标识符(SID)"test"已存在,请指定另一个SID. 问题原 ...

  10. 《系列二》-- 8、单例bean的创建

    目录 1 源码入口概述 2 getSingleton(beanName, ObjectFactory) 的行为 总结 阅读之前要注意的东西:本文就是主打流水账式的源码阅读,主导的是一个参考,主要内容需 ...