所以几天前我的 Centos 7 安装...决定停止工作。
我已经把电脑开着一个多周末了。在我离开之前它没有任何问题。当我回来时,显示器和电脑仍然打开,但屏幕只是黑色(但有电源,所以没有关闭)。我重新启动,以为问题就会消失。进入戴尔启动屏幕,然后...同样的问题,没有 grub 引导加载程序。只是黑色。
我运行了戴尔内置的硬件诊断工具,CPU、GPU、Ram 和 HDD 都没有问题。所以那里不太可能成为问题。我想一定是周末停电了,造成了问题。我使用 rufus 将 CentOS-7-x86_64-DVD-2003.iso 放入我的 32GB USB 记忆棒上,尝试根据此站点修复我的安装https://www.thegeekdiary.com/centos-rhel-7-how-to-reinstall-grub2-from-rescue-mode/。
运行df -h
状态:
/dev/sda2/ mounted on /boot
/dev/sda1/ mounted on /boot/efi
我假设 sda2 用于 Legacy/BIOS,而 sda1 用于 uefi。
起初,我尝试以传统模式安装(USB 配置为 BIOS 和 UEFI)。我得到之后grub2-install /dev/sda2
:
install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory
我想,好吧,我可能需要使用 uefi。所以我重新启动,并再次尝试。我得到之后grub2-install /dev/sda1
:
安装:错误:/usr/lib/grub/x86_x64-pc/modinfo.sh 不存在。请指定 --target 或 --directory
所以我想“很明显这不是 modinfo.sh 所在的地方”,所以我试图找到它。注意这个回答,也不这个答案有效,但仍然找不到 modinfo.sh。所以我输入:
find / -name modinfo.sh
几分钟后……什么也没有。所以显然这个文件在我的计算机上不存在。所以我被难住了。我检查了 usr/lib/grub 文件夹。什么也没有,空荡荡的。ls -lrt = total 0
。
所以我想我的最终选择是尝试使用 yum:
yum reinstall grub2-efi grub2-efi-modules shim
但这有一个大问题。尽管我在计算机上设置了证书,但我的计算机位于工作代理后面。但我似乎能够“登录”网络的唯一方法是打开 Firefox 并在提示中输入我的用户名和密码来访问它。我不知道如何从命令行启用此功能,尽管我相信以前是如何提示我的。如果我不“登录”,我就无法访问互联网。因此,可以预见的是,当重新安装尝试访问互联网时,它会失败并显示“ could not resolve host: mirror.genesisadaptive.com; unknown error
”之类的内容,并且每个镜像都会失败。
所以我似乎被困住了。有什么办法可以拧开这个安装吗?
答案1
第 1 步:运行
find / -name modinfo.sh
知道文件是否存在。
步骤2:如果文件存在,找到其父文件夹并将其所有内容复制到系统用errorr指定的文件夹,例如
/usr/lib/grub/x86
...第三步:运行
grub2-install