系统排错  troubleshooting
winPE --光盘或u盘启动盘 产生一个PE系统(类似内存上跑的临时系统) 系统排错
rescue 模式 (挽救模式) 类似windows winPE模式
===============================================================================
排错的一般思路:建议先可以尝试使用单用户排错,如果不行(有些错误甚至会造成单用户模式都进不了),再使用rescue模式(这个模式一定可以进,因为是使用与原系统无关的临时系统) 问题:centos7怎么进入单用户模式
答案:在grub2菜单,按e编辑;找到linux16开头的那一行,在最后加上init=/bin/bash;
这样做是只读模式,如果要改成读写模式还需要把linux16开头那一行中间的ro改成rw;
如果你用的是kvm做了console连接授权,还要把授权的console=ttyS0去掉,再加上init=/bin/bash;
最后按ctrl+x 问题:怎么进入rescue模式
答案:因为我们要产生一个临时系统,所以一定需要系统iso镜像(需要把此iso做成光盘引导或u盘引导或网络引导);或者更简单总结一句话:就是能进入到安装系统第一步界面,选择Rescue installed system(centos7就是直接选择troubleshooting再选择rescue a centos linux system) 问题:进行rescue模式后如何排错?
答案:一句话:进行这个临时系统后,想办法把原来错误系统挂载到临时系统,按需求进行修改排错 具体挂载实现方法主要有下面两种
方法一:
如果正常情况下,会把你要修复的系统的整个根目录(包含下级所有子目录)mount到临时系统的/mnt/sysimage目录下
chroot /mnt/sysimage 再去修改(或者不chroot) 这是不chroot,在临时系统上修改错误系统的/etc/fstab
vi /mnt/sysimage/etc/fstab --这里的vi命令是临时系统的 这是chroot,在错误系统里修改它的/etc/fstab
chroot /mnt/sysimage
vi /etc/fstab --这里的vi是原错误系统的
exit 方法二:
有些情况下,没有mount到/mnt/sysimage
fdisk -l 查看所有分区
然后自己手动建立目录用来挂载排错
例mkdir /aaa --一定要手动新建的目录,否则不能挂载
mount /dev/sda1 /aaa
在/aaa目录下排错就可以了 ======================================================================================
具体排错实例(mbr丢失如何排错): mbr(master boot loader主引导记录,在硬盘最前面的512字节)446(启动设备)+64(分区信息)+2(结束位)
mbr丢失,现象:启动时候黑屏,左上角一个光标在闪(或者直接就进入到了第二或第三的启动顺序,由光驱或网络进入了系统安装界面) 最好使用一个虚拟机来做此实验
第一步:
dd if=/dev/vda of=/mbr.bak bs=1 count=512 --备份mbr 第二步:
把备份scp拷到别的机器或者移动存储设备(我这里使用scp拷贝到我的宿主机,过程省略) 第三步:
模拟干掉mbr
dd if=/dev/zero of=/dev/vda bs=1 count=512 --干掉mbr
干掉mbr后,reboot重启,然后就不能正常启动系统了,需要排错 第四步:
按前面总结的方法:先尝试单用户模式,再使用rescue模式.但现在mbr丢失的现象是grub都看不到,所以也不可能进入单用户模式了,只能使用rescue模式 进入方法(见笔记前面总结) 第五步:
选择continue,但这一次它不能把原系统挂载到临时系统的/mnt/sysimage,并且fdisk -l查看不到分区,;也就是说找不到以前的mbr备份,无法恢复 配置ip,与宿主机通迅,用scp将先前的mbr.bak这个备份文件拷到临时系统 然后dd if=/mbr.bak of=/dev/vda进行恢复 第六步:
重启后,选择硬盘启动,一切就正常了
============================================================================================================

centos7系统排错的更多相关文章

  1. 使用Xshell5连接虚拟机VMware中安装的CentOS7系统

    使用Xshell5连接VMware中安装的CentOS7系统 准备材料 Xshell 下载地址 VMware Workstation 12 Pro 下载地址 CentOS 7 64位系统 下载地址 安 ...

  2. GIT-Linux(CentOS7)系统部署git服务器

    GIT-Linux(CentOS7)系统部署git服务器 root账号登录 一. 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget ...

  3. centos7系统下搭建docker本地镜像仓库

    ## 准备工作 用到的工具, Xshell5, Xftp5, docker.io/registry:latest镜像 关于docker的安装和设置加速, 请参考这篇博文centos7系统下 docke ...

  4. centos7系统下配置jdk环境变量

    用到的工具, Xshell5, Xftp5 现在的jdk7下载链接不好找, 打开下载界面, 全是jdk8的, 我这里提供了一份百度云的下载地址http://pan.baidu.com/s/1jHF9m ...

  5. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  6. CentOS7系统 ansible自动化部署多台服务器部署

    CentOS7系统 ansible自动化部署多台服务器部署   Ansible工作机制  从图中可以看出ansible分为以下几个部份: 1> Control Node:控制机器2> In ...

  7. 阿里云ECS Centos7 系统安装图形化桌面

    阿里云官网默认的Linux Centos7系统镜像,都是没有安装桌面环境的,用户如果要使用桌面,需要自己在服务器上进行安装. 本教程以MATE桌面安装为例 1.登录服务器,执行命令安装桌面环境. 先安 ...

  8. centos7系统运行级别简介

    centos7系统运行级别简介我们知道,centos6及之前的版本中,系统运行级别通过/etc/inittab文件进行设置和控制,但在centos7中,对这个文件的设置将不会对系统运行级别产生影响,这 ...

  9. centos7系统下,配置学校客户端网络记录

    存在的情况 1.学校的网络客户端绑定了个人的电脑MAC地址.绑定了IP地址. 2.我有两台笔记本,一台用了4年多,想用这台(B)直接装centos7系统,然后新买的笔记本(A)做为经常用的,系统为wi ...

随机推荐

  1. ubuntu使用squid搭建代理

    安装squid //检查是否安装squid which squid // apt update sudo apt install squid 配置squid的配置文件squid.conf //备份sq ...

  2. array_column函数

    <?php $arr = [ [ 'id'=>1, 'name'=>'wang', 'age'=>10 ], [ 'id'=>2, 'name'=>'yong', ...

  3. MySQL — 优化之explain执行计划详解(转)

    EXPLAIN简介 EXPLAIN 命令是查看查询优化器如何决定执行查询的主要方法,使用EXPLAIN,只需要在查询中的SELECT关键字之前增加EXPLAIN这个词即可,MYSQL会在查询上设置一个 ...

  4. jQuery EasyUI 折叠面板accordion的使用实例

    1.对折叠面板区域 div 设置 class=”easyui-accordion” 2.在区域添加多个 div, 每个 div 就是一个面板 (每个面板一定要设置 title 属性). 3.设置面板属 ...

  5. Laravel渴求式加载(比较容易理解理解load与with关系)

    渴求式加载 当以属性方式访问 Eloquent关联关系的时候,关联关系数据是「懒惰式加载」的,这意味着关联关系数据直到第一次访问的时候才被加载.不过,Eloquent 还可以在查询父级模型的同时「渴求 ...

  6. 安装使用阿里云的yum源

    CentOS 1.备份(备份本地Yum源) mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 2.下 ...

  7. 莫烦sklearn学习自修第八天【过拟合问题】

    1. 什么是过拟合问题 所谓过拟合问题指的是使用训练样本进行训练时100%正确分类或规划,当使用测试样本时则不能正确分类和规划 2. 代码实战(模拟过拟合问题) from __future__ imp ...

  8. vue起步和模板語法

    vue構造器里有哪些內容: var a=new Vue({}) 模板語法: 文本插值: html: html的屬性里的值應該使用v-bind: 表達式: 指令; 參數:v-bind,v-on 雙向用戶 ...

  9. jedis单机版应用

    1.pom文件添加依赖: 2.创建配置文件 创建单机版redisClient 代码: package com.skymall.rest.dao.imp; import org.springframew ...

  10. java基础1之基本数据类型

    java的数据类型 整数型(byte.short.int.long) 编程过程中,默认是int类型.long类型的字面值后面需要加上L或l PS:java底层,byte.short是按照32位计算的. ...