zoukankan      html  css  js  c++  java
  • centos7系统排错

    系统排错  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进行恢复
    
    第六步:
    重启后,选择硬盘启动,一切就正常了
    ============================================================================================================
  • 相关阅读:
    Maven 梳理
    Maven 梳理
    Maven 梳理-自动创建Maven项目(非web)
    Maven 梳理-手动创建Maven项目(非web),使用Maven编译、测试、打包、安装、引用
    Maven 梳理 -目录结构
    Maven 梳理-安装配置
    Spring 梳理-数据访问-DB
    JNDI数据源的配置
    Spring 梳理-JdbcTemplate简介
    Docker常用命令
  • 原文地址:https://www.cnblogs.com/yanjieli/p/7502513.html
Copyright © 2011-2022 走看看