以下是自己在使用manjaro系统中遇到的错误和相应的解决方案
-
unable to initialize decompress status for section .debug_info
以及file not recognized: file format not recognized
- 进入
grub rescue
模式
1. unable to initialize decompress status for section .debug_info
以及file not recognized: file format not recognized
错误出处
在安装kenlm库以及allennlp时报的安装错误
报错截图
报的错误
解决方案
从arch包源下载旧版的bintools,然后降级安装,如图:
降级安装bintools
参考
2. 进入grub rescue
模式
错误出处
在系统启动过程中由于目录分区映射及挂载失败导致
解决方案
注意:我这里boot目录和根目录分别挂载在不同分区,所以后续路径可能和其他参考有所不同,在使用时视实际情况而定
- 确定boot目录和根目录位置
# ls查看一下设备状态,可使用tab键自动补全,并有各分区提示信息
grub rescue> ls
hd0, (hd0, gpt1), (hd0, gpt2), (hd0, gpt3)
grub rescue> ls (hd0,gpt3)/
./ ../ lost+found/
通过查看找到boot目录和root目录所在分区,比如分别为gpt1和gpt2
- 设置grub的启动分区和路径
grub rescue> set root=(hd0,gpt1) #设置grub启动分区
grub rescue> set prefix=(hd0,gpt1)/grub #设置grub启动路径
# 查看一下设置情况,直接输入set可以查看root和prefix的配置
grub rescue> set
prefix=(hd0,gpt1)/grub
root=hd0,gpt1
- 加载基本模块
grub rescue> insmod normal #加载基本模块
- 进入正常模式
grub rescue> normal #进入普通模式,出现菜单,如果加载grub.cfg(错误的)可能出现问题,按shift可以出现菜单,之后按c键进入控制台
进入正常模式后就会出现grub>这样的提示符,在这里支持的命令就非常多了。
- 引导系统
grub> set root=(hd0,gpt1) #设置正常启动分区
grub> linux /vmlinuz-4.19-x86_64 ro text root=/dev/sda2 #加载内核,进入控制台模式
grub> initrd /intel-ucode.img /initramfs-4.19-x86_64.img #加载initrd.img
grub> boot #引导
- 更新grub
# 进入系统后,先更新grub
update-grub #更新
# 修改grub.cfg后,再执行install
grub-install /dev/sda #安装
注意:注意上面的是sda,硬盘号,而不是具体某个分区号,如sda1