运行模式

在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"
  1. 去掉
#GRUB_TERMINAL=console

一行的注释,即修改为:

GRUB_TERMINAL=console
  1. 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+xF10 即可继续启动救援模式。几秒钟后,你将以 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+xF10 继续启动到紧急模式。

最后,你可以使用以下命令将根文件系统重新挂载成读/写模式:

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/

作者:SK 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

[转载]Linux运行模式及紧急、救援模式的更多相关文章

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

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

  2. Linux系统CentOS进入单用户模式和救援模式详解

    一.概述 目前在运维日常工作中,经常会遇到服务器异常断电.忘记root密码.系统引导文件损坏无法进入系统等等操作系统层面的问题,给运维带来诸多不便,现将上述现象的解决方法和大家分享一下,本次主要以Ce ...

  3. Linux系统进入救援模式

    由于现在很多的服务器都是用的RedHat,CentOS也比较多,这里就介绍CentOS6.6的救援模式. 有很多人的linux在用的时候不小心修改了某个权限,导致系统启动不起来,下面我就来为大家解决一 ...

  4. 单用户模式&救援模式&克隆虚拟机&Linux机器相互登录

    1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录 1.单用户模式 关机:init 0 .poweroff 重启:init 6 .reboot 关机:in ...

  5. CentOS 7进入救援模式的方法

    CentOS 7版本进入救援模式并修改密码:方法1: runlevel 显示当前的运行级别(进入救援模式需要进入单用户模式) 方法2: ①.开机时随便按下键盘,进入系统选择菜单 ②.选择第一项,按e键 ...

  6. Linux:运行级别,root密码重置,救援模式,安装图形化界面

    运行级别,root密码重置,救援模式,安装图形界面 运行级别 1.查看当前系统的运行级别 runlevel 2.认识各个运行级别以及开机自启运行级别 Linux系统运行级别共7个执行 vi /etc/ ...

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

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

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

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

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

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

随机推荐

  1. 官网Windows 10安装程序驱动下载--截止:2019.01.06版本

    说明:鉴于win7,8不可直接再下载原装iOS文件,这份共享程序包是为以后N年做的准备.如果N年后这个包还可以用,就可以省去很多麻烦. 百度网盘分享:https://pan.baidu.com/s/1 ...

  2. Redis数据结构常用命令

    Redis数据结构--字符串

  3. Zookeeper基础命令操作

    转载链接:https://blog.csdn.net/dandandeshangni/article/details/80558383 安装参考链接https://blog.csdn.net/qiun ...

  4. (转)mysql基础命令

    Sql代码 asc 按升序排列 desc 按降序排列 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE ...

  5. yue

    1. 字节流与二进制文件 1.我的代码 public class Student { private int id; private String name; private int age; pri ...

  6. Scala学习(三)——集合

    基本数据结构 Scala提供了一些不错的集合. 数组 Array 数组是有序的,可以包含重复项,并且可变. val numbers = Array(1, 2, 3, 4, 5, 1, 2, 3, 4, ...

  7. UIButton设置按钮点击范围大于可视范围

    自定义按钮类型CustomButton,继承UIButton,重写pointInside函数改变点击响应范围. 例如,按钮点击范围比实际高度上下增加6. CustomButton.h @interfa ...

  8. 1.4 Navicat Mybatis 占坑

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  9. [mysql]SQL语句-新增/修改 创建时间 更新时间

    SQL关键词 要注意大小写   已建表,之前没有创建时间列, 现新增1列创建时间,并设置默认值为当前时间 --添加CreateTime 设置默认时间 CURRENT_TIMESTAMP ALTER T ...

  10. Ubuntu13.04编译安装cmake2.8.12.2

    前提: 安装过程需要gcc和gcc-c++.ubuntu13.04桌面版自带gcc4.7,apt-get install g++4.7安装g++./usr/bin目录下有x86_64-linux-gn ...