Arch Linux 启动始终显示reboot to firmware

Arch Linux 启动始终显示reboot to firmware,第1张

固态硬盘多次断电重启后,里面的arch linux系统启动不了,启动总是显示reboot to firmware,显然是找到了esp分区,能启动efi应用程序,但是找不到linux系统。

这可折腾了我好久,一开始我始终一位是esp分区安装有错误,或者esp中引导文件的配置有误。重装课了N多次esp分区之后,我心灰意冷。

办法总比困难多,虽然不能boot进入系统,但是使用启动盘挂载硬盘,然后 arch-chroot 能够成功chroot进入我原有的系统,甚至能启动X环境,这说我原来的系统至少没有严重损坏。

但是efi程序找不linux系统也证明了我的系统至少是无法被引导的,那么我只要修复我系统中用于引导的部分就好。

可惜我并不了解/root根目录下哪部分是用于引导的,当然也很简单,直接上手 更新系统 就完了呗,反正arch 每周基本都会出更新,理论上讲,新系统会重新build被引导的部分。

首先通过 pacman -Syu 更新系统,注意不要用 pacman -Syyu ,因为当你系统是旧的时候,(貌似)获取到的包资源都是404

pacman -Syu 时会有大量的交互,问你yes or no,因为一般都是yes所以太烦人,就直接使用 yes | pacman -Syu 提供足量 yes 供应。

在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9X或MS Windows NT并存的。

由于重新安装其他的 *** 作系统,经常会导致原有的Linux不能启动。这主要是因为,这些 *** 作系统默认为计算机中没有其他的 *** 作系统,因而改写了硬盘的主引导记录(MBR),覆盖掉了Linux的LILO系统引导程序。

如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录,再次开机即可。

最先应该想到,也许也是最简单的办法,就是当boot loader—通常都是grub—开始执行时,通过它调整系统运行级别。

在出现菜单项后,按下键盘上的“e”按键,这样,菜单项能显示一个或者多个启动命令,找到有关内核的这一行,将光标移到上面,高亮这一行,再按下“e”,grub就会将这行内容用一个简单的编辑器环境打开,让我们能够对其做出改变。

很简单,只需要告诉init程序,我们希望通过那个级别启动即可。

做一个GRUB引导修复吧就好了。这个情况叫恢复模式,在恢复模式下,可以用命令行引导进入系统,然后你在图形界面下,慢慢折腾修复去吧。进入系统一般是先搜索内核,然后加载内核开始引导。搜索内核并设为根路径,一般是:find --set-root /boot/vmlinuz-X.X.XX-XX-generic当然也有不一般的情形,折腾多了你自己就会明白了。然后加载内核:kernel /boot/vmlinuz-X.X.XX-XX-generic ro quiet splash locale=zh_CN vga=0x318然后再初始化内核:initrd /boot/initrd.img-X.X.XX-XX-generic接着启动它:boot一般到这里系统就已经可以启动了,如果还有二般的情况发生,你再密我吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8538792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存