原文:http://blog.51cto.com/xxrenzhe/1272838

适用场景:

当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统启动时读取磁盘或初始化环境失败,导致linux无法正常启动,此时就可以借助Linux的救援模式临时进入系统,进行文件修改,纠正错误

救援(rescue)模式的本质:

只是一个带shell的Linux运行环境,借助它可以通过mount和chroot进入要修复的系统

解决方法:

  1. 有Linux启动盘(或iso文件),系统是RHEL系统的:

    1. 用安装光盘或者硬盘安装的方式进入安装界面:在shell 中输入 Linux rescue

    2. 然后根据提示选择语言和键盘格式

    3. 选择是否配置网卡:一般系统到了要rescue了,网络也就不需要了,所以可以选择跳过网卡配置,当然你如果需要也可以选择是,具体设置过程和安装时一样

    4. 选择是否让系统查找硬盘上的RHEL系统,选择继续。

    5. 硬盘上的系统已经被找到并挂载在/mnt/sysimage 下

    6. 按提示chroot /mnt/sysimage,之后你就可以已经在你的要被拯救的系统下了

      1. grub挂了的:grub-install /dev/hdxx

      2. 配置文件改错的:vi /etc/fstab vi /etc/inittab

      3. 软件包被毁的:rpm -F xxx.rpm

    7. 完成修复工作后,exit命令退出chroot,exit退出rescue shell 系统重启

  2. 有Linux启动盘(或iso文件),系统是非RHEL系统(如Debian)的:

    1. 前3步与上述方法1一致

    2. 第4步时,rescue程序会找不到硬盘上的系统,所以我们选择"跳过",直接进入shell

    3. 新建文件系统挂载点,进入系统磁盘分区

      1. 假设要拯救的为debian 系统,系统分区部署为:
        /dev/hda1 为/boot分区
        /dev/hda5 为/分区
        /dev/hda6 为swap分区
        ==================================================
        # fdisk -l (查看分区情况)
        # mkdir /mnt/Linux
        # mkdir /mnt/Linux/boot (根据fdisk -l 得到的信息创建目录)
        # mount -t ext3 /dev/hda5 /mnt/Linux
        # mount -t ext3 /dev/hda1 /mnt/Linux/boot (挂载硬盘上的文件系统)
        # chroot /mnt/Linux (chroot 改变工作系统)
         
    4. 继续方法1的第6-7步,做相应操作即可

  3. 无Linux启动盘(或iso文件):

    1. 系统启动时,按任意键进入grub选择界面

    2. 选择需要启动的Linux系统,按“e”进入编辑界面

    3. 选择kernel行,按“e”进入核心启动模式编辑界面

    4. 在kernel行的最后加上“init=/bin/bash”,按回车键(Enter),然后按“b”进行重新引导

    5. 引导系统会得到一个bash shell,但进入的系统是read-only的,需使用fsck检查系统

      1. fsck -a /dev/hdaX
        # 处理根分区,X是根分区号,如hda2
         
    6. 将系统挂载成read-write的:mount / -o remount,rw

    7. 进行系统文件修改,或其他操作

    8. 在修复好系统后将系统重新挂载成ro的,就可以安全重启了:mount / -o remount,ro

  4. 进入单用户模式(适用于忘记root密码的):

    1. 前3步与方法3一致

    2. 第4步,需在kernel行的最后加上“single”或“s”,按回车键(Enter),然后按“b”进行重新引导

    3. 输入passwd修改root密码

    4. 输入init 6重新启动系统即可

参考资料:

http://os.51cto.com/art/201003/186560.htm

http://wenku.baidu.com/view/25e286c208a1284ac850433f.html

http://wenku.baidu.com/view/7325421ec5da50e2524d7f76.html

进入Linux救援(rescue)模式的四大法门的更多相关文章

  1. linux(rhel) rescue修复详解

    修复linux,先准备好一张安装光盘,光驱安装好后开机,选择从光驱启动.等待安装盘显示操作界面时选择"rescue"选项,如果有光标提示的话,也可以输入:linux rescue进 ...

  2. 在grub的rescue模式修复linux引导

    今天在windows 10系统收到系统更新通知,没看清楚就手贱点了马上更新.以为只是像那些普通更新一样重启一下更新就完了,万万没想到这个是覆盖更新,也就是说这是一个全新的系统更新而不是系统补丁.在安装 ...

  3. openstack虚拟机rescue模式

    nova rescue vm_instance es.ops 20190426 linux虚拟机在出现类似kernel panic后,根据panic信息以及故障前的操作,定位问题的发生点,进行修复 n ...

  4. linux单用户模式

    linux单用户模式 2014年11月11日 17:18 在grub上相应要启动的内核上按“e”. 进入下一界面,继续按“e”. 在进入文本界面后,输入“single”回车. 进入grub界面后,按“ ...

  5. linux磁盘分区模式

    linux磁盘分区模式 模式一:MBR 1)主分区不超过四个 2)单个分区容量最大2TB 模式二:GPT 1)主分区个数"几乎"没有限制(原因:在GPT的分区表中最多可以支持128 ...

  6. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  7. wpa_supplicant 移植及 linux 命令行模式配置无线上网

    本文涉及内容为linux 命令行模式配置无线上网 及 wpa_supplicant 移植到开发板的过程,仅供参考. 1.源码下载 wpa_supplicant 源码下载地址 :http://hosta ...

  8. 逐步搭建Lamp环境之Linux的运行模式

    首先先来看几个概念,分别是:单用户.单任务.多用户.多任务 单用户: 是指操作系统一般只能由一个人同时进行登录 单任务: 是指操作系统只能同时处理一个任务 多用户: 是指操作系统可以允许由多个用户同时 ...

  9. Linux下NAT模式和桥接模式的网络配置

        Linux下NAT模式和桥接模式的网络配置 最近在配置linux虚拟机的时候发现有很多坑,现在记录下来以防日后又跳到坑里. 我的运行环境是:主机 windows 7  虚拟机 Virtualb ...

随机推荐

  1. 基于24位AD转换模块HX711的重量称量实验(已补充皮重存储,线性温度漂移修正)

    转载:http://www.geek-workshop.com/thread-2315-1-1.html 以前在X宝上买过一个称重放大器,180+大洋.原理基本上就是把桥式拉力传感器输出的mV级信号放 ...

  2. MySQL安装Altas

    准备工作:需要先把MySQL主从配置好. 0.下载altas:打开https://github.com/Qihoo360/Atlas/releases wget https://github.com/ ...

  3. aaronyang的百度地图API之LBS云 笔记[开发准备]

    我的脚印 1.注册百度账号 先到163邮箱注册个邮箱(注册邮箱),用这个邮箱注册百度账号(注册百度),激活百度账号 2.登陆百度账号,进入 百度地图 申请为LBS开发者 2.1 注册申请为百度开发者( ...

  4. Python ---chart

    # -*- coding:utf-8 -*- import random import matplotlib.pyplot as plt from pylab import * import os i ...

  5. SQL Performance Analyzer

    SQL Performance Analyzer 系统发生变更,比如升级数据库.增加索引,都会可能导致sql的执行计划发生改变,从而影响sql的性能. 如果能预知系统变更会对sql的性能的影响,就可以 ...

  6. 在ubuntu14系统中将redis-server设置为开机启动项

    1.redis安装完成后(我装的是redis-3.0.7),修改配置文件redis.conf,修改的项目如下 注意:以下内容都是在root用户下进行操作的 gedit redis.conf打开文件进行 ...

  7. JAVA classpath jar问题[zz]

    classpath问题可以说是所有初学者头疼的问题,偶也一样. 1) classpath的作用:  它的作用就事让java找到你所要执行,或你拥有的类. 2) classpath的设置:  设置cla ...

  8. xcode自动打ipa包脚本 资料

    http://webfrogs.me/2012/09/19/buildipa/ http://blog.csdn.net/baxiaxx/article/details/8267295 http:// ...

  9. sql server中调用c#写的dll里的方法

    最近有一项目: 一超市管理系统单机版,运行在WIN2003+SQL2005上,每天超市关门都都会关电脑,现客户要新加功能,每天关门下班后回家可以上网查看超市管理系统的数据库里的相关数据,然后再做一些原 ...

  10. C#判断访问网站的设备类型

    同样也是在破解版的HISHOP源码上扒出来的,代码如下: protected void InitVisitorTerminal()        {            VisitorTermina ...