适用场景:

当误操作修改系统启动文件/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. 新建文件系统挂载点,进入系统磁盘分区

    4. 假设要拯救的为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 改变工作系统)
    5. 继续方法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检查系统

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

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

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

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

    1. 前3步与方法3一致

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

    3. 输入passwd修改root密码

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

Linux rescue的更多相关文章

  1. [转]linux援救模式:linux rescue使用详细图解

    网上很多网友问怎么进rescue 模式,不知道怎么用rescue来挽救系统.  现在我来图解进入rescue (示例系统为RHEL 3) 1.用安装光盘或者硬盘安装的方式进入安装界面,在shell 中 ...

  2. linux rescue 修复引导 与linux下修复windows引导

    在windows有引导的情况下修复linux引导 插入U盘启动 进入rescue模式 fdisk -l 查看分区情况 chroot /mnt/sysimage/ 进入系统 grub-install / ...

  3. 进入Linux救援(rescue)模式的四大法门

    原文:http://blog.51cto.com/xxrenzhe/1272838 适用场景: 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统 ...

  4. linux(rhel) rescue修复详解

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

  5. linux引导流程

    本章重点: 1.linux引导流程 2.linux运行级别 3.linux启动服务管理 4.GRUB配置与应用 5.启动故障分析解决 linux启动流程 1.固件(fireware):固话在硬件上的程 ...

  6. LINUX命令总结 -------来自 水滴娃娃 的CSDN

    LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报  分类: linux(1)  版权声明:本文为博主原创文章,未经博主允许不得 ...

  7. Linux 忘记密码解决方法

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 3  ...

  8. Linux 常见的trouble shooting故障排错

    Linux 常见的trouble shooting故障排错 备份开机所必须运行的程序对一个运维人员来说是非常有必要的.在实际生产环境中,系统和数据基本都是安装在不同的硬盘上面,因为企业最关心的还是数据 ...

  9. linux服务之openfiler

    架构:b/s 服务器端:封装好的linux系统 客户端:浏览器 相关包:封装好的linux系统 Openfiler imports user and group information from ce ...

随机推荐

  1. Runtime - 消息发送原理

    Runtime - 消息发送原理. Objective-C运行时的核心就在于消息分派器objc_msgSend,消息分派器把选择器映射为函数指针,并调用被引用的函数. 要想理解objc_msgSend ...

  2. 十二、springcloud之展示追踪数据 Sleuth+zipkin

    一.Zipkin简介 Zipkin是Twitter的一个开源项目,它基于Google Dapper实现.我们可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的REST API接口来辅助我们 ...

  3. Python_oldboy_自动化运维之路(八)

    本节内容: 列表生成式,迭代器,生成器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器,生成器 1.列表生成式 #[列表生成] #1.列 ...

  4. C++ : Boost : Rational 有理数类

    因为一些不为人知的原因, 我需要一些能减少我程序误差的东西.于是找到了这个类. 然后下载了Boost这个庞大的库. 安装与配置 在官网上找到下载地址, 大概有71MB, 下来来解压到任意位置就好了. ...

  5. HDU 1669 Jamie's Contact Groups(多重匹配+二分枚举)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1669 题目大意: 给你各个人可以属于的组,把这些人分组,使这些组中人数最多的组人数最少,并输出这个人数 ...

  6. 配置sql server 2000以允许远程访问

    配置sql server 2000以允许远程访问适合故障:1. 用sql企业管理器能访问sql server 2000(因为它是采用命名管道(named pipes)方式进行方式),但用ado.net ...

  7. ubuntu获得root用户权限,使用xshell连接!

    一.获取root用户权限 打开linux终端命令,输入 sudo passwd root Enter new UNIX password: (在这输入你的密码) Retype new UNIX pas ...

  8. Python学习笔记:import sys模块(argv、path、platform、exit)

    sys模块是Python标准库中自带的一个模块. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与当前程序之外的系统环境交互,如:Pyth ...

  9. java遍历ftp文件夹下所有文件(或指定文件下的文件)

    import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import org.apach ...

  10. CentOS 7不能联网解决办法

    在使用 Ubuntu 一段时间之后想体验一下 CentOS,就去下载了 CentOS 7 安装到了虚拟机里面,结果发现不能联网,一直提示Cannot find a valid baseurl for ...