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界面,看来系统正常了。