ubuntu2004-服务器每次重启卡在grub界面的难题
解决远端项目上ubuntu2004-服务器每次重启卡在grub界面的难题
问题描述探索评价网上的教程1. 修改grub等待时间的2. 在grub命令行里直接修复的3. 我最终解决问题参考的博客
问题描述
正要部署AI服务时,由于服务器被同事在项目地重装后,出现每次重启卡在grub界面。
由于AI、javaweb业务系统都部署在这台服务器上,这台服务器涉及4、5个人使用,项目地距离北京跨域大半个中国,我心里知道,如果不解决,“仅仅”是每次重启都要叫甲方的人帮忙;“仅仅”是多名参与者只要涉及到重启,本来半天的活,可能因为甲方的人没空拖成一天;“仅仅”是如果日后再解决这个问题,即使有1/10的可能把系统搞崩溃了,都带来更大的多人重新部署的成本。
而我强行解决,最坏的可能是在北京把远程的ubuntu服务器搞崩溃,我来背锅出差去项目地重装服务器!!!
探索
grub 正常工作时,界面是这样的: 卡住后,是这样的 究其原因,大概是说,linux系统先把控制器给grub,GRUB 是目前 Linux 系统使用的系统引导程序,是计算机启动后运行的第一个程序(当然,BIOS除外),当grub准备启动默认的启动分区(EFI分区)时,结果找不到,可能是启动分区整个损坏,但大多数是启动分区配置出错,比如我这次,是重装ubuntu系统时出现了没有EFI分区选项的,就沿用了上一个系统的efi分区。
目前的 Linux 发行版使用的是 GRUB version 2。 对于grub的了解,这位作者说的还是不错的 https://zhuanlan.zhihu.com/p/662354966
评价网上的教程
1. 修改grub等待时间的
https://blog..net/Abrave_2007/article/details/124333556
```
1- sudo vim /etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=1
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
GRUB_HIDDEN_TIMEOUT=1
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_RECORDFAIL_TIMEOUT=1
2- sudo update-grub
3- reboot
————————————————
版权声明:本文为博主「Abrave_2007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog..net/Abrave_2007/article/details/124333556
```
这些等待时间,其实是我上面图中,正常进入ubuntu启动界面的等待时间 过程中大概有这些知识:
/boot/grub/grub.cfg这个文件里明确注释了,这个是自动生成的配置文件,需要手动修改的是/etc/default/grub这个文件
2. 在grub命令行里直接修复的
https://zhuanlan.zhihu.com/p/510476641
这些适用于完全进入不了系统的,而我的情况是,开机虽然卡在grub,但是执行exit命令退出后,又能自动进入ubuntu系统 所以我没有复现这种方法是否可行
3. 我最终解决问题参考的博客
通过百度搜索《ubuntu 工具修复efi分区》 参考 https://zhuanlan.zhihu.com/p/630578689 参考 https://blog..net/xufulin2/article/details/133966583
最终解决方案指向 sudo grub-install /dev/sda,(因为通过 sudo fdisk -l 命令查看我的 efi 分区在/dev/sda 的 /dev/sda1) 最终我通过以下命令解决 sudo parted /dev/sda set 1 bios_grub on 这句是参考 https://blog..net/zz2862625432/article/details/105293006/
好啦,重启自动进入系统成功,问题解决
时间紧张,以后再来续…