linux系统之牛刀小试(grub修复)

简介:

grub全称在为GRand Unified Bootloader,它的核心功能是引导内核,但是如果grub出了问题,内核无法找到,那岂不是万劫不复了,下面就介绍一下常用的修复方式。如果想了解grub是什么在系统中启到什么作用,详细介绍请参阅http://essun.blog.51cto.com/721033/1366045

第一种情况:

是由于grub中的grub.conf文件损坏,开机后直接进入到了grub>命令行模式下。下面将图解此过程

wKiom1MXKoyjpCjVAADEN5fwqXw987.jpg

这时可以使用help看一下grub可支持命令有那些,以便供修复时使用。

wKiom1MXKsbjB6baAAJ1Xc42J9M621.jpg

第二个使用的命令是find (hd0,0)/按tab如果能补全就表示系统在此分区上。

wKiom1MXK36DvDoGAAIbiHuUi88649.jpg

各个参数说明:

wKioL1MXK-eThXRFAAKnDDyJR_Y288.jpg

这时要注意,当你指定内核后,但未指定内核后面的参数(ro root=(此处未指定的话))将无法正常启动,报:请给root参数,一般情况下是系统是可以自动探测到,但这个功能并不靠谱,那么只能靠备份或你的记忆将参数补上(所以定期备份/etc/fstab、与grub.conf、是多么重要的事情,原因你懂的。)

如下图:

wKioL1MXLBeizgyoAAKVMterepY227.jpg

而这时就看到你平时的习惯了,备份相当重要

wKioL1MXLJXwsz4nAAEpT8AtNxQ079.jpg

当正常登录系统后,将grub.conf文件重新写就可以了。(上图的完整路径是root=/dev/mapper/vg_www-lv_root,写全了就看不到了,所以在此特别说明)

wKiom1MXLYCyjSxIAADAJHyLQUs934.jpg

看到title了吧

wKioL1MXLfOwX7fNAAB9R82I784906.jpg

过了下面这张图就说明系统是可以正常启动了

wKioL1MXLlWAuDu3AAFHH-wWsQo362.jpg

第一种情况顺利解决!a_c

第二种情况:

grub损坏(最明显的提示为:Operating System not found)

如mbr数据损坏(注仅是bootloader损坏,分区表是好的),如果没有重新启动还可能修复,但是如果是重启后发现grub损坏,那么只能挂载光盘进入紧急救援模式。(以下将以挂载光盘说明)

wKiom1MXNcTCmwTFAADsm7LBJOU882.jpg

dd执行之后的景象,是不是好惊悚a_c

wKioL1MXLm3Q_71jAADt30SMzuA822.jpg

挂载光盘进入紧急救援模式,在BIOS中将光盘设置为第一引导设备。

wKiom1MXLsyjvrM6AADCUR4Jh1U127.jpg

在菜单中选择"Rescue installed system"

wKioL1MXLtDBLcnFAAC8ueZ0qjg965.jpg

之后将对:语言----》键盘设置

wKioL1MXLzXg49moAADFHAkco-o077.jpg

是否启用网络(不需要,则No,如果选择了Yes将要求选择获取IP地址的方式)

wKiom1MXL3Ci_1ITAACM0ZGAkIA079.jpg

正式进入救援模式

wKioL1MXMBXh_cz1AAJG4RTs3mM693.jpg

原系统己经挂载的位置,如何切换到原系统下

wKiom1MXMKyyyaEBAAEpg-DTDcs633.jpg

开启一个shell

wKioL1MXMN2RUKWbAACJ4NoiYuc323.jpg

切换到原系统

wKioL1MXMP3iVQdAAADB18Dyz5U401.jpg

这时可以直接输入grub命令进入grub中(这个grub是光盘中的)

wKiom1MXMWnxkwqgAAD40fddNuc703.jpg

直接使用 help  setup会显示setup的使用方法。

设置root(root默认分区)如(hd0,0),此分区一定要root所在的系统分区,之后使用setup安装,命令是setup(hd0)(由于mbr并属于分区,所以将grub安装到hd0设备即可),如果是成功了会有succeeded提示。quit退出即可

wKiom1MXM1TTuJYDAAHdrvIlI_c478.jpg

重启系统,取出光盘,有如下信息就表示修复完成

wKioL1MXM3jTAMqdAADzkCznYyw370.jpg

如果grub目录都损坏,无法正常启动。则可以在此模式使用grub-install --root-directory=/  /dev/sda(设备是什么就写什么)手写配置文件grub.conf即可

总结:

   以上都是在虚拟机上试验,可能与真正的生产环境遇到的情况有所不同,通过此次试验,进一步了解了bootloader的工作原理。为以后的学习打下基础。

=========================================完============================================










本文转自 jinlinger 51CTO博客,原文链接:http://blog.51cto.com/essun/1368904,如需转载请自行联系原作者
目录
相关文章
|
6天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
25 5
linux系统服务二!
|
6天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
25 3
linux系统服务!!!
|
14天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
132 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
15天前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
63 3
Linux系统之部署Linux管理面板1Panel
|
6天前
|
网络协议 Linux
linux系统重要文件目录
本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。
24 2
|
8天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
11天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
58 3
|
12天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
14天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
16天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
153 2