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

张开发
2026/4/20 0:37:03 15 分钟阅读

分享文章

银河麒麟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 bs512 count1这个命令会把磁盘前512字节包含MBR和分区表全部填零。执行后立即用sync命令写入磁盘然后强制重启sync reboot -f更温和的测试方式是仅删除/boot分区内容适合快速验证修复流程rm -rf /boot/*两种方式都会导致系统无法启动区别在于前者需要重建分区表后者只需恢复文件。我建议新手先用第二种方式练手。3. 进入救援模式的正确姿势当系统卡在grub rescue界面时你需要银河麒麟V10的安装U盘。制作启动盘推荐用Ventoy这类工具比传统刻录方式方便得多。插入U盘重启在BIOS界面狂按F12不同主板按键可能不同选择从U盘启动。关键步骤来了在安装界面选择Troubleshooting故障排查进入Rescue a Kylin Linux Advanced Server system看到提示符后按CtrlD继续输入数字1选择Continue继续连续按两次回车进入救援shell这时你会看到熟悉的命令行界面但注意当前环境是临时系统需要通过lsblk命令确认原系统的根分区位置。比如我的硬盘根分区在/dev/sda2就需要先挂载mkdir /mnt/sysmount mount /dev/sda2 /mnt/sysmount4. 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重装三连安装引导程序到磁盘grub2-install /dev/sda生成配置文件grub2-mkconfig -o /boot/grub2/grub.cfg检查EFI分区如果是UEFI启动mount /dev/sda1 /boot/efi grub2-install --targetx86_64-efi --efi-directory/boot/efi --bootloader-idKylin5. 内核与启动项修复技巧有时候GRUB2装好了但启动项丢失这是因为内核镜像损坏。这时需要手动安装内核mount /dev/cdrom /media # 挂载安装镜像 rpm -ivh /media/Packages/kernel-core-*.rpm --force检查/etc/fstab确保/boot挂载正确/dev/sda1 /boot xfs defaults 0 0最后执行exit退出chrootreboot重启。如果看到熟悉的银河麒麟登录界面恭喜你修复成功6. 避坑指南与应急方案实际修复中我遇到过几个坑坑1grub2-install报错failed to get canonical path。这是因为没正确挂载/boot分区先用mount /dev/sda1 /boot解决坑2重启后卡在loading initial ramdisk。尝试在grub界面按e编辑启动项在linux行末尾添加rd.break进入紧急模式坑3UEFI模式下修复后依然无法启动。需要检查BIOS里启动顺序确保选择的是Kylin引导项对于实在搞不定的情况可以尝试终极方案从同版本正常机器拷贝/boot分区所有内容注意保留原设备权限然后重新执行grub2-mkconfig。我备了台镜像服务器专门用于紧急恢复关键时刻真能救命。

更多文章