GRUB与Linux系统修复(第二版)

简介: GRUB配置解析配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来]软链接保存在 /etc/grub.

GRUB配置解析

配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来]

软链接保存在 /etc/grub.conf

 

1、grub.conf文件分析


default #缺省启动系统

timeout #缺省等待时间,单位秒s

splashimage #定义GRUB启动背景图片

#(hd0,0) #指定/boot所在的分区 -> 第一块硬盘,第一个分区

hiddenmenu #隐藏菜单

title CentOS (2.6.32-358.el6.i686) #菜单项名称,其内容可修改

root (hd0,0) #定义了GRUB的根设备即内核所在分区,即/boot目录,代表所有启动设备所在的分区

kernel /vmlinuz-2.6.32-358.el6.i686 ro root=UU... #定义内核所在位置,注意:此处的/并不代表是根分区,而是表示/boot目录

initrd /initramfs-2.6.32-358.el6.i686.img #载入镜像文件,详细信息请参照<CentOS 6.X启动流程>这篇博客

 

单用户模式应用

案例:忘记root密码,系统异常断电

1.系统启动时,按Esc键进入GRUB菜单

GRUB功能键: 

e: 编辑当前的启动菜单项 //edit 

c: 进入GRUB的命令行方式 //command  

b: 启动当前的菜单项 //boot 

d: 删除当前行 //delete 

Esc: 返回GRUB启动菜单界面,取消对当前单项所做的的任何修改

 

2.点选kernel一行,按e编辑启动级别,在行末加上相应的启动运行级别,如:1或s,回车,b键进入单用户模式

passwd root #即可更改root密码

#还可作其他的设置,如异常断电之后,文件系统修复等。

 

设置GRUB密码

第一步:设置密文,并拷贝密文

法1.使用GRUB自带的grub-md5-crypt命令 

 

法2.在GRUB交互命令行界面中使用md5crypt命令 

 


第二步:修改配置文件/boot/grub/grub.conf

加入:password --md5 $1$EszU60$Mc2BwxeWUH/8q3iqbRknz0  #--md5 表示是用md5加密的。[最好将password写在全局模式,如下图]

 

重启之后


OK,大功告成!



GRUB修复

案例:当开机后进入grub界面但没有菜单,只剩下一个grub>提示符

 

解决方法:

grub>cat /grub/grub.conf  #发现错误

 

手工引导Linux系统:

grub>root (hd0,0) 

grub>kernel /vmlinuz-2.6.18-14 ro root=LABEL=/ 3 #如果此时敲错,请留意提示信息

grub>initrd /initrd-2.6.18-14.img 

grub>boot #此时可以使用Tab命令补全

 


Linux终极修复模式

案例:/etc/inittab文件损坏或丢失,或其他非常严重的损害,导致系统根本无法启动

 

修复过程

1.把安装盘放到光驱,重启系统,F2进入BIOS,在BIOS中把系统设置为光驱引导。

 

[安装界面出来后,按[F5]键进入linuxrescue模式说明]

2.boot提示符下输入:

linux rescue

3.回车,进入修复模式。


按照提示进入系统之后:

4.键入chroot /mnt/sysimage #改变根分区

5、然后根据前面的提示信息,进行修复即可

6、修复完成,exit,重新引导,完成!

 

注意:

无论Linux有多么严重的损坏,都可以进入光盘Linux的修复环境进行修复,像重要文件被删除,root跟GRUB密码全忘了,几乎所有的错误;此时,虽然运行的是光盘上的Linux,但是可以对现有的系统上的数据进行修改.

目录
相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
96 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
81 2
|
12天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
133 78
|
16天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
53 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
140 48
|
12天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
68 13
|
1月前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
43 3
|
13天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
35 0
|
1月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
68 4
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
39 1