EC2的GRUB引导程序问题

EC2死机,ssh无法连接。在管理控制台中重启,起不来了,从监控界面中可以看到界面。

[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[0m[35m[40m[2J[01;01H[=3h[2J[01;01H[0m[37m[40m[0m[30m[40m[2J[01;01H[0m[37m[40m[02;30HGNU GRUB version 2.12

Minimal BASH-like line editing is supported. For the first word, TAB

lists possible command completions. Anywhere else TAB lists possible

device or file completions. To enable less(1)-like paging, "set

pager=1".

系统卡在了 GRUB 命令行界面,意味着 GRUB 引导程序无法找到或加载其配置文件(grub.cfg),因此无法继续启动操作系统。

发起case找客服不知道什么时候可以联系上,现在有了AI,还是尝试自己解决。

使用EC2控制台,串口连接,进入了gure界面:
1.查看磁盘分区

grub>ls

(hd0) (hd0,gpt1) (hd0,gpt2)(hd0,gpt3).....

2.找到/boot 目录或内核文件的分区

一个个试,终于找到了(hd0,gpt3)带了boot目录

grub>ls (hd0,gpt3)/boot/

./ ../ bin/ boot/ dev/ etc/ home/ lib/ lib64/ mnt/ opt/ proc/ root/ run/ sbin/

selinux/ srv/ sys/ tmp/ usr/ var/ config.partids

3.设置根分区

grub>set root=(hd0,gpt3)

4.查找内核文件

grub>ls /boot/

.vmlinuz-6.4.0-150700.53.31-default.hmac System.map-6.4.0-150700.53.31-default

config-6.4.0-150700.53.31-default initrd-6.4.0-150700.53.31-default mbrid

symvers-6.4.0-150700.53.31-default.gz sysctl.conf-6.4.0-150700.53.31-default

vmlinux-6.4.0-150700.53.31-default.gz vmlinuz-6.4.0-150700.53.31-default

这个里面vmlinuz-6.4.0-150700.53.31-default是内核文件,内核版本是 6.4.0-150700.53.31-default

5.加载内核

grub>linux /boot/vmlinuz-6.4.0-150700.53.31-default root=/dev/???? ro

这里到底用哪个磁盘名称呢?我在EC2控制台中看到的设备名称是sda1,但是AI建议我不能用这个,我觉得不确定,所以试试用UUID

grub>cat /etc/fstab

LABEL=ROOT / xfs defaults

0 1-150700.53.31-default.hmac System.map-6.4.0-150700.53.31-default

LABEL=EFI /boot/efi vfat defaults

0 0150700.53.31-default.gz sysctl.conf-6.4.0-150700.53.31-default

UUID=a38ec4c0-0f8a-4ca2-b0f0-15abca47f07c /ek/log xfs defaults

0 0

UUID=5d0dd0a6-31a8-48dc-9620-75d5138f57f9 BLOCK_SIZE=4096 TYPE=xfs PARTLABEL

=primary 0 0

UUID=3388468c-3a14-4c40-bad3-d3b4028390a7 /ek/shared xfs defaults

0 0

UUID=150fcad5-43d3-4d86-afac-aef89565e178 /ek/data xfs defaults

不过AI建议我用LABEL,听它的。

grub>linux /boot/vmlinuz-6.4.0-150700.53.31-default root=LABEL=ROOT ro

6.启动

grub>boot

看到串口界面没有任何反应,Grub中输入任何都无反应,敲回车也无用。但是看到EC2控制台中机器在正常启动,后面用ssh可以连接了。

7.重新生成 GRUB 配置文件

ec2-user@ekdb01:~>sudo grub2-install /dev/sda

ec2-user@ekdb01:~> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-6.4.0-150700.53.31-default

Found initrd image: /boot/initrd-6.4.0-150700.53.31-default

Warning: os-prober will not be executed to detect other bootable partitions.

Systems on them will not be added to the GRUB boot configuration.

Check GRUB_DISABLE_OS_PROBER documentation entry.

Adding boot menu entry for UEFI Firmware Settings ...

done

8.重新启动服务器

ec2-user@ekdb01:~>sudo reboot

原以为问题解决,结果重启后,系统又回到了grub界面了,进不了Linux系统。

9.重新修复

grub>set root=(hd0,gpt3)

grub>linux /boot/vmlinuz-6.4.0-150700.53.31-default root=LABEL=ROOT ro

grub>initrd /boot/initrd-6.4.0-150700.53.31-default

grub>boot

完成启动后,ssh可以连接服务器。

一直怀疑问题还是在磁盘标识上,这次用lsblk查看到的标识。

ec2-user@ekdb01:~>lsblk

nvme1n1 259:2 0 100G 0 disk

├─nvme1n1p1 259:7 0 2M 0 part

├─nvme1n1p2 259:8 0 20M 0 part /boot/efi

└─nvme1n1p3 259:9 0 100G 0 part /

ec2-user@ekdb01:~> sudo grub2-install /dev/nvme1n1

Installing for x86_64-efi platform.

Installation finished. No error reported.

ec2-user@ekdb01:~> sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...

Found linux image: /boot/vmlinuz-6.4.0-150700.53.31-default

Found initrd image: /boot/initrd-6.4.0-150700.53.31-default

Warning: os-prober will not be executed to detect other bootable partitions.

Systems on them will not be added to the GRUB boot configuration.

Check GRUB_DISABLE_OS_PROBER documentation entry.

Adding boot menu entry for UEFI Firmware Settings ...

done

10.重启服务器验证

ec2-user@ekdb01:~>sudo reboot

看到了系统一直忙碌,屏幕日志滚动飞快,一会儿系统成功启动。再重启一次还是能正常启动,不再卡grub界面,看来系统正常了。

相关推荐
ITKEY_3 分钟前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Elastic 中国社区官方博客30 分钟前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
xixixi777771 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
筱白爱学习1 小时前
SpringAI完整学习指南(四)
ai·spring ai
Tim_Van2 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
孫治AllenSun2 小时前
【Nginx】配置参数和使用案例
运维·nginx
啵啵鱼爱吃小猫咪3 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu
Piko6144 小时前
锐捷 VSU 虚拟化堆叠配置
运维·网络·笔记
ljs6482739514 小时前
Linux运维实操:vi编辑器永久配置静态IP(CentOS系列)
linux·运维·编辑器
2301_780303904 小时前
网络安全、自动化运维、ERP、CRM、MES
运维·web安全·网络安全·自动化·安全威胁分析