[转载]Linux运行模式及紧急、救援模式
运行模式
在Linux中,存在一个叫init(initialize)的进程,其进程号是1,该进程存在一个对应的配置文件inittab,叫做系统的运行级别配置文件,位置在/etc/inittab。(但是这个在ubuntu中不起作用,采用 Upstart方式的Ubuntu上是没有inittab这个文件的,具体内容见https://blog.csdn.net/heqiyu34/article/details/18793857,需要的时候可以看)
Ubuntu 的启动由upstart控制,自9.10后不再使用/etc/event.d目录的配置文件,改为/etc/init。ubuntu 9.10 的默认运行级别文件是这个/etc/init/rc-sysinit.conf的14行。
ubuntu的系统运行级别:
`0` `系统停机状态``1` `单用户或系统维护状态``2``~``5` `多用户状态``6` `重新启动``S`
Linux提供了单用户模式(类似Windows安全模式),可以在最小环境中进行系统维护。在单用户模式(运行级别1)中,Linux引导进入根shell,网络被禁用,只有少数进程运行。单用户模式可以用来修改文件系统损坏、还原配置文件、移动用户数据等。
使用runlevel可以查看当前的模式
init n可以切换运行级别
ubuntu修改默认运行级别:
来源:https://itbilu.com/linux/management/4JEzjDV8G.html
Ubuntu默认运行级别可以通过以下方式修改:编辑
/etc/default/grub文件:sudo vi /etc/default/grub
- 将
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
的一行注释掉:
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- 将
GRUB_CMDLINE_LINUX=""
的一行修改为:
GRUB_CMDLINE_LINUX="text"
- 去掉
#GRUB_TERMINAL=console
一行的注释,即修改为:
GRUB_TERMINAL=console
sudo update-grub
5. ```
sudo systemctl set-default multi-user.target
6. 重启系统:reboot
如果修改没有问题,系统默认会以命令行模式启动。 在命令行模式下,可以通过如下命令切换回桌面模式:sudo systemctl start lightdm
补充,Ubuntu如何进入救援模式或者紧急模式
来源:https://linux.cn/article-10409-1.html
正如你可能已经知道的那样,运行级别 在许多最近的 Linux 发行版(如 RHEL 7 和 Ubuntu 16.04 LTS)中被 systemd 的目标 替换。有关它们的更多详细信息,请参阅这个指南。在这个简短的教程中,我们将看到如何启动救援模式以及紧急模式。本指南在 Ubuntu 18.04 LTS 中进行了测试,但是下面给出的步骤适用于大多数使用 systemd 作为默认服务管理器的 Linux 发行版。在进一步讨论之前,让我澄清什么是救援模式和紧急模式以及这两种模式的目的是什么。
什么是救援模式?
救援模式相当于使用 SysV 作为默认的服务管理器的 Linux 发行版中的 单用户模式。在救援模式下,将挂载所有本地文件系统,仅启动一些重要服务。但是,不会启动正常服务(例如网络服务)。救援模式在系统无法正常启动的情况下很有用。此外,我们可以在救援模式下执行一些重要的救援操作,例如重置 root 密码。
什么是紧急模式?
与救援模式相比,在紧急模式中不启动任何东西。没有服务启动、没有挂载点、没有建立套接字,什么也没有。你所拥有的只是一个原始的 shell。紧急模式适用于调试目的。
在 Ubuntu 18.04 LTS 中进入救援模式
启动你的 Ubuntu 系统。出现 Grub 菜单时,选择第一条并按下
e进行编辑。
如果你没有看到 Grub 菜单,只需在 BIOS 的 logo 消失后立即按下
ESC键。找到以单词
linux开头的行,并在该行的末尾添加以下内容(要到达末尾,只需按下CTRL+e或使用END键或左右箭头键):systemd.unit=rescue.target
添加完成后,只需按下
CTRL+x或F10即可继续启动救援模式。几秒钟后,你将以 root 用户身份进入救援模式(单用户模式)。以下是 Ubuntu 18.04 LTS 服务器版中救援模式的样子:
接下来,输入以下命令将根 (
/) 文件系统重新挂载成读/写模式。mount -n -o remount,rw /
启动到紧急模式
将 Ubuntu 引导到紧急模式与上述方法相同。你只需在编辑 Grub 菜单时将
systemd.unit=rescue.target替换为systemd.unit=emergency.target即可。
添加
systemd.unit=emergency.target后,按下Ctrl+x或F10继续启动到紧急模式。
最后,你可以使用以下命令将根文件系统重新挂载成读/写模式:
mount -n -o remount,rw /
在救援模式和紧急模式之间切换
如果你处于救援模式,则不必像上面提到的那样编辑 Grub 条目。相反,只需输入以下命令即可立即切换到紧急模式:
systemctl emergency
同样,要从紧急模式切换到救援模式,请输入:
systemctl rescue
你现在知道了什么是救援模式和紧急模式以及如何在 Ubuntu 18.04 中启动这些模式。就像我已经提到的,这里提供的步骤将适用于许多使用 systemd 的 Linux 版本。
就是这些了。希望这篇文章有用。
还有更多好东西。敬请期待!
干杯!
via: https://www.ostechnix.com/how-to-boot-into-rescue-mode-or-emergency-mode-in-ubuntu-18-04/
[转载]Linux运行模式及紧急、救援模式的更多相关文章
- linux重启后进入了救援模式,无法远程登录
卸载删除了某个文件系统分区的逻辑卷,但是没有修改fstab文件,导致系统重启异常,此时已经无法远程连接了,只能本地登录到救援模式修改
- Linux系统CentOS进入单用户模式和救援模式详解
一.概述 目前在运维日常工作中,经常会遇到服务器异常断电.忘记root密码.系统引导文件损坏无法进入系统等等操作系统层面的问题,给运维带来诸多不便,现将上述现象的解决方法和大家分享一下,本次主要以Ce ...
- Linux系统进入救援模式
由于现在很多的服务器都是用的RedHat,CentOS也比较多,这里就介绍CentOS6.6的救援模式. 有很多人的linux在用的时候不小心修改了某个权限,导致系统启动不起来,下面我就来为大家解决一 ...
- 单用户模式&救援模式&克隆虚拟机&Linux机器相互登录
1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录 1.单用户模式 关机:init 0 .poweroff 重启:init 6 .reboot 关机:in ...
- CentOS 7进入救援模式的方法
CentOS 7版本进入救援模式并修改密码:方法1: runlevel 显示当前的运行级别(进入救援模式需要进入单用户模式) 方法2: ①.开机时随便按下键盘,进入系统选择菜单 ②.选择第一项,按e键 ...
- Linux:运行级别,root密码重置,救援模式,安装图形化界面
运行级别,root密码重置,救援模式,安装图形界面 运行级别 1.查看当前系统的运行级别 runlevel 2.认识各个运行级别以及开机自启运行级别 Linux系统运行级别共7个执行 vi /etc/ ...
- 救援模式(Rescue Mode)、单用户模式(Single-User Mode)、紧急模式(Emergency Mode)的区别与联系
前天聚餐的时候一航和启飞学长讲到RUCTF中更改root密码要进入单用户模式,我插了一句"有的系统显示的是救援模式",说完后心里一直很虚...(技术上的事还是想好再说)今天查了一下 ...
- Linux学习(四)单用户模式、救援模式、虚拟机克隆、linux互连(包括密匙登录)
一.单用户模式 忘记root密码后,找回密码有两种方法: 单用户(grub没有加密的情况下可以使用) 救援模式 这一节我们先讲单用户模式 1.先重启(3种方法) reboot init 6 sho ...
- lesson - 2 yum /单用户/救援模式/Linux 启动
课程大纲:1. yum使用yum 是一个在线安装软件包的工具,它可以帮我们解决软件包的依赖,这个日后会详细介绍.我们介绍了以下几个用法:yum list 这个命令可以列出所有安装过和未安装的软 ...
随机推荐
- Unity3D_(物理引擎)Rigidbody组件
Rigidbody组件刚体(Rigidbody)是Unity物理引擎中的重要组件,一个游戏对象添加了刚体组件以后就开始接受物理力学的影响了,比如重力.空气摩擦力.碰撞产生的推力 Learn 相同高 ...
- 详解vue的diff算法原理
我的目标是写一个非常详细的关于diff的干货,所以本文有点长.也会用到大量的图片以及代码举例,目的让看这篇文章的朋友一定弄明白diff的边边角角. 先来了解几个点... 1. 当数据发生变化时,vue ...
- 生成json文件写入本地
public class Json { public static void main(String[] args) { String fullPath = null; //例如:fullPath=& ...
- LeetCode 74. 搜索二维矩阵(Search a 2D Matrix)
题目描述 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列. 每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入: ma ...
- legend3---lavarel常用artisan命令操作
legend3---lavarel常用artisan命令操作 一.总结 一句话总结: 帮助:php artisan可以调出帮助命令 1.npm安装后盾js? npm install hdjs node ...
- 深入理解android的UI更新机制
深入理解android的UI更新机制 由问题开始: 如何更新android UI? 可以通过如下方法: 在主线程里直接操作UI控件. handler.post(Runnable) runOnUiThr ...
- LinkedList,ArrayList,Vector,HashMap,HashSet,HashTable之间的区别与联系
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- leetcode 82 删除排序列表中的重复元素II
与83类似,不过需要注意去除连续的重复片段的情况,如2 2 3 3这种情况,以及[1,1]这种情况下最终的cur为NULL,因此不能再令cur=cur->next; /** * Definiti ...
- python 提示 :OverflowError: Python int too large to convert to C long
一次在使用orm进行联表查询的时候,出现 Python int too large to convert to C long 的问题: 在分析错误之后,在错误最后面提示中有: File " ...
- git clone的代码没有前端代码
需要切换到文件夹目录下,然后 git checkout dev 切换到开发环境(其实是切换到了dev分支) 后来查看分支,发现有两个分支:master 和 dev . ================ ...




