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,如需转载请自行联系原作者
目录
相关文章
|
9天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
124 78
|
12天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
48 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
132 48
|
8天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
61 13
|
1月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
36 3
|
9天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
28 0
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
38 1
|
1月前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
91 1
|
1月前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
20天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。