当前位置: 首页 > news >正文

银河麒麟V10下grub2修复实战:从破坏到恢复的全过程

1. 银河麒麟V10下GRUB2故障模拟与修复全攻略

上周我在测试环境里手滑执行了一个错误的dd命令,直接把GRUB2引导分区给干掉了。当时心跳直接飙到120,毕竟这是台正在跑业务的银河麒麟V10服务器。不过经过两个小时的折腾,不仅成功恢复了系统,还整理出这套保姆级修复方案。下面我就用最直白的语言,带你完整走一遍从破坏到恢复的全过程。

GRUB2作为银河麒麟V10的默认引导加载程序,就像系统的"门卫"。当这个门卫突然消失时,你会发现连系统大门都进不去——屏幕上只剩下冷冰冰的"grub rescue>"提示。别慌,只要硬盘数据还在,用LiveCD启动盘就能让它起死回生。整个过程主要分三步:进入救援模式→重建引导分区→重新安装GRUB2。我建议准备个8GB以上的U盘,提前下载好银河麒麟V10的ISO镜像,关键时刻能救命。

2. 故意破坏GRUB分区(谨慎操作)

先声明:这部分操作会彻底摧毁引导分区,请在虚拟机或测试环境进行!我在物理机上翻过车,血的教训啊。

最彻底的破坏方式是用dd命令清空分区表。打开终端执行:

dd if=/dev/zero of=/dev/sda bs=512 count=1

这个命令会把磁盘前512字节(包含MBR和分区表)全部填零。执行后立即用sync命令写入磁盘,然后强制重启:

sync reboot -f

更温和的测试方式是仅删除/boot分区内容(适合快速验证修复流程):

rm -rf /boot/*

两种方式都会导致系统无法启动,区别在于前者需要重建分区表,后者只需恢复文件。我建议新手先用第二种方式练手。

3. 进入救援模式的正确姿势

当系统卡在grub rescue界面时,你需要银河麒麟V10的安装U盘。制作启动盘推荐用Ventoy这类工具,比传统刻录方式方便得多。插入U盘重启,在BIOS界面狂按F12(不同主板按键可能不同)选择从U盘启动。

关键步骤来了:

  1. 在安装界面选择"Troubleshooting"(故障排查)
  2. 进入"Rescue a Kylin Linux Advanced Server system"
  3. 看到提示符后按Ctrl+D继续
  4. 输入数字1选择"Continue"(继续)
  5. 连续按两次回车进入救援shell

这时你会看到熟悉的命令行界面,但注意当前环境是临时系统,需要通过lsblk命令确认原系统的根分区位置。比如我的硬盘根分区在/dev/sda2,就需要先挂载:

mkdir /mnt/sysmount mount /dev/sda2 /mnt/sysmount

4. chroot环境搭建与GRUB2重装

现在进入最关键的chroot环节,这步相当于"穿越"回原系统环境:

mount --bind /dev /mnt/sysmount/dev mount --bind /proc /mnt/sysmount/proc mount --bind /sys /mnt/sysmount/sys chroot /mnt/sysmount

如果/boot是独立分区(建议生产环境都这么配置),需要额外挂载:

mount /dev/sda1 /boot

接下来是GRUB2重装三连:

  1. 安装引导程序到磁盘:
grub2-install /dev/sda
  1. 生成配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
  1. 检查EFI分区(如果是UEFI启动):
mount /dev/sda1 /boot/efi grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Kylin

5. 内核与启动项修复技巧

有时候GRUB2装好了但启动项丢失,这是因为内核镜像损坏。这时需要手动安装内核:

mount /dev/cdrom /media # 挂载安装镜像 rpm -ivh /media/Packages/kernel-core-*.rpm --force

检查/etc/fstab确保/boot挂载正确:

/dev/sda1 /boot xfs defaults 0 0

最后执行exit退出chroot,reboot重启。如果看到熟悉的银河麒麟登录界面,恭喜你修复成功!

6. 避坑指南与应急方案

实际修复中我遇到过几个坑:

  • 坑1:grub2-install报错"failed to get canonical path"。这是因为没正确挂载/boot分区,先用mount /dev/sda1 /boot解决
  • 坑2:重启后卡在"loading initial ramdisk"。尝试在grub界面按e编辑启动项,在linux行末尾添加rd.break进入紧急模式
  • 坑3:UEFI模式下修复后依然无法启动。需要检查BIOS里启动顺序,确保选择的是"Kylin"引导项

对于实在搞不定的情况,可以尝试终极方案:从同版本正常机器拷贝/boot分区所有内容(注意保留原设备权限),然后重新执行grub2-mkconfig。我备了台镜像服务器专门用于紧急恢复,关键时刻真能救命。

http://www.jsqmd.com/news/641835/

相关文章:

  • 数字传感护华为数字能源大厦,控制加固施工安全风险!
  • DeOldify云原生部署:基于Docker和Kubernetes构建弹性伸缩服务
  • MATLAB代码:基于Stackelberg博弈的光伏用户群优化定价模型 关键词
  • 4月14日成都地区柳钢产热轧卷(Q335B;厚度5.75-15.75mm)现货报价 - 四川盛世钢联营销中心
  • 11(十一)Jmeter设置全局变量
  • MongoDB GridFS的默认MD5计算在集群中消耗CPU怎么办
  • 多模态大模型幻觉防控的7个致命盲区(第4条90%团队仍在踩坑)
  • 从仿真到实践:3T4R毫米波雷达阵列信号建模与MVDR超分辨算法验证
  • Android 音视频编解码(三) -- MediaCodec 实战:同步与异步解码性能对比
  • Go语言的Docker容器化实践
  • RPG Maker Decrypter:新手也能轻松解密的游戏资源提取神器
  • 两级三相光伏并网仿真手札
  • Chrome浏览器下HackBar_v2.2.6插件的安装与破解指南
  • 手把手教你为STM32F407添加USB2.0高速支持(含PHY选型与ULPI接线详解)
  • 从POG到EPG:探索类脑计算系统层次结构的软件与硬件桥梁
  • 不同散热设计对HTML函数工具稳定性影响大吗_温控指南【指南】
  • 一次性看懂Lua热更新原理与演示
  • Hello Data:为物理AI采集“真物理”行为
  • 【词汇专栏】具身智能:当AI拥有身体
  • 异步电动机变频调速系统设计:仿真分析与文献综述,探讨两个仿真方案与技术应用
  • 2026届学术党必备的六大降AI率网站横评
  • 告别繁琐工作流:深度解析「椒图AI」如何用多模型聚合驱动高效图像创作
  • 汇川PLCeasy320轴控指令使用。使能、读位置、设置位置、相对位移、停止指令
  • 杭州中西医结合医院肿瘤科好不好
  • 四旋翼仿真模型:高精度非线性建模,支持ADRC与PID控制器灵活切换及纯姿态角控制模式
  • 4月14日成都地区攀钢产热轧卷(Q335B;厚度5.75-15.75mm)现货报价 - 四川盛世钢联营销中心
  • Windows下PostgreSQL 17便携版安装与权限配置全流程(含PSQL连接神坑详解)
  • 如何快速部署VideoSrt:面向初学者的完整实战指南
  • Docker + Kubernetes 生产环境部署:从容器化到自动扩缩容完整方案
  • 手把手教你部署HY-MT1.5-7B翻译模型:支持33语种,实战教程