HCRM博客

CentOS黑屏GRUB Rescue引导重建指南

CentOS开机黑屏只显示grub rescue,手把手重建引导

CentOS黑屏GRUB Rescue引导重建指南-图1

机器一按电源,屏幕亮了一下就只剩一行白字:grub rescue>,键盘噼啪乱敲,光标纹丝不动。别急着拔电源,也别急着重装系统,数据还在,只是启动路标被踢飞,咱们把它重新插回去就行。下面这套流程,从找分区到写引导,每一步都踩实,手残党也能一次过。

CentOS黑屏GRUB Rescue引导重建指南-图2

先搞清楚:grub rescue为啥蹦出来

CentOS用GRUB2当家引导,开机时它要去/boot/grub2找模块和配置文件。要是硬盘分区表动了、/boot被误删、磁盘UUID变了,GRUB2就迷路,只能退到救援壳里等你发号施令。屏幕停在这一行,说明内核和initramfs还没加载,系统没挂,引导断了。

准备工作:一张同版本启动盘

找个空U盘,用Rufus或者Fedora Media Writer把同大版本的CentOS ISO写进去,插上机器,BIOS里选U盘启动,进“Troubleshooting”→“Rescue a CentOS system”。等提示符出现,选“1”继续,系统会把原根分区挂到/mnt/sysimage,咱们直接chroot进去,环境变量和原系统一模一样,省心。

第一步:在救援模式里找到丢失的分区

grub rescue下先输入ls,列出来的都是GRUB2能认到的设备,比如(hd0) (hd0,msdos1) (hd0,msdos2)。凭记忆肯定记不住哪个是/boot,挨个试:

CentOS黑屏GRUB Rescue引导重建指南-图3

ls (hd0,msdos1)/

看到vmlinuz、initramfs或者grub2目录,说明找对了。如果系统用了LVM,路径可能是(hd0,msdos2)/dev/centos/root,继续往下翻,直到出现/boot。

第二步:手动把引导根目录立起来

假设(hd0,msdos1)是/boot,(hd0,msdos2)是根分区,在grub rescue里依次敲:

set root=(hd0,msdos1)

set prefix=(hd0,msdos1)/grub2

insmod normal

normal

最后一下回车,熟悉的启动菜单就该回来了。这只是临时救急,硬盘里的引导扇区还是空的,重启还会掉回救援壳,得继续把引导写进磁盘。

第三步:chroot回原系统,重装grub2

启动盘救援模式里执行:

chroot /mnt/sysimage

先确认/boot和/etc/fstab里的UUID对得上:

blkid

如果发现UUID变了,用vi把/etc/fstab里对应行改过来,保存退出。接着重装GRUB2到硬盘MBR:

grub2-install /dev/sda

注意是整盘sda,不是分区sda1。看到“Installation finished.No error reported.”才算写完。然后重新生成主配置文件:

grub2-mkconfig -o /boot/grub2/grub.cfg

屏幕刷出“Found CentOS Linux”字样,说明内核和initramfs都被扫进去了。

第四步:UEFI机器别忘EFI分区

新机器基本都是UEFI,引导写到EFI分区才算完。确认/boot/efi已经挂载:

df -h | grep efi

若没挂载,手动挂上去:

mount /dev/sda1 /boot/efi

然后执行:

grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=centos

提示“Installation finished”后,再跑一遍grub2-mkconfig,确保efi路径写进grub.cfg。最后退出chroot,重启拔U盘,系统应该直接滚到登录界面。

常见坑:重装完仍然黑屏

1. 分区表格式不对:MBR硬盘却用UEFI引导,或者GPT硬盘却用Legacy启动,BIOS里改回对应模式即可。

2. /boot空间爆满:旧内核没删,grub2-mkconfig写配置时半途卡住,进系统后dnf remove旧内核再重来。

3. 硬盘插口变动:SATA线换槽,磁盘编号从sda变sdb,grub2-install时写错盘,重装时看准磁盘型号。

懒人一条龙命令汇总

救援壳里直接复制,回车即可:

chroot /mnt/sysimage

mount -a

grub2-install /dev/sda

grub2-mkconfig -o /boot/grub2/grub.cfg

exit

reboot

数据优先:先备份再动手

虽然重建引导不会动用户数据,但手一抖把分区表刷掉也不是没发生过。救援模式下先把重要目录打包到外接硬盘:

tar czpf /run/media/usb/backup.tgz /home /var/lib/mysql /etc

确认tar包能解压再往下走,心里踏实。

CentOS开机黑屏只显示grub rescue,说白了就是启动路标被风吹跑,咱们先让GRUB2临时找到家,再进系统把路标重新钉死。记住四步:找分区→立环境→写MBR/EFI→生成配置。一套组合拳下来,十分钟完事,系统原封不动,数据安然无恙。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/41780.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~