Grup配置文件修复和恢复grup文件

本文介绍了两种常见的GRUB故障:配置文件错误导致的加载失败及Bootloader损坏,并提供了详细的修复步骤,包括通过命令行手动指定内核和初始化映像位置的方法。

系统一般关于grup的报错分为两种,一种是grup配置文档错误,导致开机加载文件失败。另一种情况测试bootloader顺坏。
针对第一种现象可以通过grup配置解决,针对第二种故障现象,主要通过系统引导盘来修需
1.
GRUB文档配置错误,导致无法加载内核。

 

2.开机选择“C”进入grub模式

 

3.通过“help”命令查看boot的根目录kernel(内核)的路径以及vmlinuz(虚拟内存)的路径

 

 

 

 

4.寻找boot目录分,这个时候就需要有耐心一个一个的尝试了。使用find命令,后接分区,按Tab键补齐。

找到目录后,接下来当然是制定根目录了

5.需要kernel目录,操作方法如步骤四

 

 

6.接着就是initrd虚拟内存了

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

 

 

8.经过以上设置就可以引导启动了。

 

9.不要以为这样就大功告成了,进入系统后,快去grub.conf文件修复吧!

10.如果直接找不到系统了,不只是grub.conf文件配置这么简单了可以初步判断为grub引导文件受损,这个时候就需要通过系统盘来修复了。

第二种情况:

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

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

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

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

在菜单中选择"Rescue installed system"

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

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

正式进入救援模式

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

开启一个shell

切换到原系统

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

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

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

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

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

总结:

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

 

 \

<think>好的,我现在需要解决用户关于麒麟操作系统中GRUB文件为空的问题。首先,我需要理解用户的具体情况。用户提到GRUB文件为空,可能是指/boot/grub/grub.cfg文件不存在或内容丢失,导致系统无法正常启动或配置引导选项。 根据提供的引用资料,用户之前询问过如何取消GRUB密码、设置密码以及忘记密码的应对方法,还有修改字体大小的内容。现在的问题不同,是GRUB文件为空,这可能发生在系统更新失败、磁盘错误、误删除或权限问题等情况下。 接下来,我需要参考已有的引用信息,寻找可能的解决方案。引用3提到通过挂载镜像进入救援模式修改grub密码,这可能涉及到系统恢复文件重建。如果GRUB配置文件丢失,可能需要重新生成。通常,在Linux系统中,可以使用grub-mkconfig命令来生成新的grub.cfg文件。 步骤可能包括:进入LiveCD环境或救援模式,挂载原系统的根分区,重新安装GRUB并生成配置文件。需要确保正确的分区挂载命令执行。此外,检查文件系统是否有错误,可能导致文件丢失,可能需要运行fsck命令。 另外,引用1引用3提到了使用LiveCD或救援模式,这可能在这里适用。用户需要启动到Live环境,挂载原系统的分区,然后执行必要的命令来修复GRUB。可能需要安装或重新配置GRUB软件包,确保依赖项完整。 还需要考虑权限问题,确保在修复过程中有足够的权限修改系统文件。如果grub.cfg文件被误删除,重新生成是主要步骤。同时,用户可能需要更新GRUB,以确保引导加载程序正确识别操作系统内核初始化ramdisk。 最后,验证修复后的系统是否能正常启动,并检查GRUB菜单是否恢复。如果问题依然存在,可能需要进一步检查硬件问题或考虑系统重新安装作为最后手段。 总结可能的解决步骤:1. 使用LiveCD进入救援模式;2. 挂载系统分区;3. 重新安装GRUB并生成配置文件;4. 检查文件系统错误;5. 更新GRUB配置。需要详细说明每个步骤的具体操作,确保用户能跟随执行。</think>### 麒麟操作系统 GRUB 文件为空的解决方案 若在麒麟操作系统中发现`/boot/grub/grub.cfg`文件为空或丢失,可能是由于系统更新异常、手动误删、磁盘错误或权限问题导致。以下是分步解决方案: --- #### **1. 使用LiveCD进入救援模式** - **步骤说明** 1. 准备麒麟系统LiveCD或安装U盘,从该介质启动系统[^3]。 2. 选择“试用系统”或“救援模式”(不同版本名称可能略有差异)。 3. 进入Live环境后,打开终端。 --- #### **2. 挂载原系统分区** - **关键命令** ```bash sudo -i # 获取root权限 fdisk -l # 查看原系统根分区(如/dev/sda1) mount /dev/sda1 /mnt # 挂载根分区到/mnt mount --bind /dev /mnt/dev # 挂载设备文件 mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt # 切换到原系统环境 ``` --- #### **3. 重新生成GRUB配置文件** - **操作流程** 1. 安装或修复GRUB工具(如需): ```bash apt install --reinstall grub2-common ``` 2. 生成新的`grub.cfg`文件: ```bash grub-mkconfig -o /boot/grub/grub.cfg ``` 3. 若提示`grub-efi`相关错误,需额外指定EFI分区(如`/dev/sda2`): ```bash grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Kylin grub-mkconfig -o /boot/grub/grub.cfg ``` --- #### **4. 检查文件系统与权限** - **验证步骤** 1. 检查磁盘错误: ```bash fsck /dev/sda1 # 替换为实际分区 ``` 2. 确保`/boot/grub`目录权限正确: ```bash chmod 755 /boot/grub chown root:root /boot/grub/grub.cfg ``` --- #### **5. 退出并重启系统** - **执行命令** ```bash exit # 退出chroot环境 umount /mnt/{dev,proc,sys} # 卸载绑定目录 umount /mnt reboot ``` --- ### **可能原因与预防措施** | 原因 | 解决方案 | 预防建议 | |---------------------|------------------------------|------------------------------| | 误删除文件 | 从备份恢复或重新生成配置 | 定期备份系统关键文件 | | GRUB软件包损坏 | 重装`grub2-common`包 | 避免强制中断系统更新 | | 文件系统错误 | 运行`fsck`修复磁盘 | 配置定期磁盘检查任务 | --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值