基于Linux的系统排错
1.系统引导过程概述
2.系统异常及恢复
【1】grub系统引导
1)mbr上446字节丢失
模拟问题: dd if=/dev/zero? of=/dev/vda? bs=446? count=1?
开机提示错误信息
解决方法:
chroot /mnt/sysimaage ? ? ? ##切换到真实根环境
grub2-install /dev/vda ? ? ? ? ? ##安装硬盘?
具体实现方法如下:
1.打开虚拟机管理器,关闭虚拟机(force off)
2.加入镜像光盘,从光驱启动
3.在boot options中将IDE CDROM1设置为优先加载显示
4.重新开机,选择Troubleshooting
5.选择 Rescue a Red Hat Enterprise Linux system
重要的事情说三编:真实的系统挂载在/mnt/sysimage下
continue
ok
ok
6.切换到真实/环境,进行安装grub2磁盘引导
7.更改selinux状态为disabled
8.关闭虚拟机,在虚拟机管理器中将VirtlO Disk1再次设置为优先加载显示
9.再次打开虚拟机,系统成功引导
2)引导文件丢失
模拟问题:rm -rf
/boot/grub2/grub.cfg
1.当系统未重启
grub2-mkconfig >
/boot/grub2/grub.cfg ##grub2-mkconfig输出的就是/boot/grub2/grub.cfg的文件内容
2.当系统已经重启summary
grub> set root=’hd0,msdos1’?
##找boot分区的挂载点,第一块硬盘的第一个分区,此位置时不固定的,位置指定/boot所在分区
grub> linux16
/boot/vmlinuz-3.10.0-123.e17.x86_64 ro root=/dev/vda1
#内核文件只读挂载,根分区设备名称
grub> linitrd16
/boot/initramfs-3.10.0-123.e17.x86_64.img ##系统初始化镜像文件
grub>? boot
执行上述命令后,系统可正常启动,但是再次重启时又遇到相同的问题
此时需要grub2-mkconfig >
/boot/grub2/grub.cfg 生成引导文件
具体实现方法如下:
待开机后执行:
【2】内核文件丢失
模拟问题:rm -fr
/boot/vmlinuz-3.10.0-123.e17.x86_64 ##删除系统内核文件
Linux系统有7个运行级别(runlevel)
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
设定启动级别
systemctl set-default + 启动级别
模拟问题:
systemctl set-default
shutdown.target
解决方法:
1.开机按上下键停止读秒
2.按‘E’进入编辑模式
3.选择内核启动行,linux16
/vmlinuz-xxxxxxxx ro xxxxxxxxx? 后添加启动级别5
具体实现方法:
1.错误提示界面
2.重新启动
ctrl+x执行
3.恢复正常
基于Linux的系统排错的更多相关文章
- Linux图像系统框架-理解X11与Qt的层次结构
转:http://blog.csdn.net/kjfureone/article/details/52848550 1. 前言 图形子系统是linux系统中比较复杂的子系统之一:对下,它要管理形态各异 ...
- 基于busybox的Linux小系统制作 (initrd)
我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明.准备环境:1.一个Redhat完整系统的虚拟机,本次 ...
- 基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示)
基于Linux平台的Lotus Domino 8系统部署五部曲(全视频展示),学习就像看电影 第一部:安装部署 第二部:配置Domino 第三部:Notes8客户端配置 第四部:为Domino系统加装 ...
- 基于Linux系统的Nagios网络管理模块的实现
基于Linux 系统的Nagios网络管理模块的实现 1.引言 随着计算机网络的普及,网络管理已成为信息时代中最重要的问题之一.在现有的技术条件下,人们希望有一个更加稳定可靠的网络环境.计算机网络管理 ...
- 基于Linux系统geth的安装
转载地址 https://blog.csdn.net/qq_36124194/article/details/83658580 基于Linux系统geth的安装 安装ethereum sudo apt ...
- 基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记
基于Ubuntu14.04系统的nvidia tesla K40驱动和cuda 7.5安装笔记 飞翔的蜘蛛人 注1:本人新手,文章中不准确的地方,欢迎批评指正 注2:知识储备应达到Linux入门级水平 ...
- 基于Linux平台的libpcap源码分析和优化
目录 1..... libpcap简介... 1 2..... libpcap捕包过程... 2 2.1 数据包基本捕包流程... 2 2.2 libpcap捕包过程... ...
- Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台 Seesaw
负载均衡系统 Seesaw Seesaw是由我们网络可靠性工程师用 Go 语言开发的基于 Linux 虚拟服务器的负载平衡平台,就像所有好的项目一样,这个项目也是为了解决实际问题而产生的. Seesa ...
- 高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化
高性能Linux服务器 第10章 基于Linux服务器的性能分析与优化 作为一名Linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行.但硬件问题.软件问题.网络环境等 ...
随机推荐
- odoo12学习之javascript-----2
用例子:Creating a new field widget 这可能是一个非常常见的用例:我们希望以非常具体(可能依赖于业务)的方式在表单视图中显示一些信息. 例如,假设我们要根据某些业务条件更改文 ...
- 第七篇 -- 常用界面组件的使用(QSlider和QProgressBar)
首先画个图 ui_proBar.py # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'ui_ ...
- Linux下获取当前程序的绝对路径
在Linux开发应用时,我们常常需要在程序中获取当前程序绝对路径,我们可以通过readlink读取符号链接/proc/self/exe进行获取,这个符号链接代表当前程序,它的源路径就是当前程序的绝对路 ...
- 使用html2canvas.js将HTML生成图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SQL排序包含数字、字母和中文处理
--模拟数据 SELECT * INTO #temp FROM ( SELECT 1 AS id, 'C101' AS sort UNION ALL SELECT 2 AS id, 'B101' AS ...
- MySQL执行计划【explain】详解
本文已经收录到github仓库,仓库用于分享Java相关知识总结,包括Java基础.MySQL.Springboot.mybatis.Redis.rabbitMQ等等,欢迎大家提pr和star! gi ...
- getRawX、getRawY与getX、getY、getScrollX、getScrollY,getTop,getLeft区别
这篇文章写的不错,Mark一下 http://blog.csdn.net/sinat_29912455/article/details/51073537
- Sqli-labs 注入靶场(1-22)
Sqli-labs靶场1-22 Sql注入的本质是代码和数据的未分离,导致用户的输入可以对数据库产生恶意的输入或输出. 本篇博客旨在通过Sqli-labs的第1-22关,详细的描述Sql注入的相关场景 ...
- Solidity
起因是Xenc师傅给我截了张图,我日 居然看不懂 ,一搜才知道,之前学的版本有些老了.. 这次学下新一点的记录下 HelloWorld pragma solidity ^0.6.0; // versi ...
- Java知识复习回顾
1.MVC 三层架构: M:Model 数据模型层 V:View 视图层 C:Controller控制器层 目的:解耦 2.Spring Spring:轻量级的Java开源框架,容器,目的是解决企业级 ...