Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3650396
  • 博文数量: 880
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 6155
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-11 09:12
个人简介

To be a better coder

文章分类

全部博文(880)

文章存档

2022年(5)

2021年(60)

2020年(175)

2019年(207)

2018年(210)

2017年(142)

2016年(81)

分类: LINUX

2020-04-30 09:40:54

https://blog.csdn.net/Jane_Jessica/article/details/100104172
==========================================================
前段时间重装了系统,导致Grub2的引导消失,所以现在需要进行恢复。

首先需要使用livecd或者是其它工具进入rescure环境,然后按默认操作chroot到/mnt/sysimage

我首先尝试使用经典方法:grub2-install /dev/sdb1

sdb1是我的/boot/efi分区,这里要注意不要装到/boot下

然后系统报错grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory

手动去/usr/lib/grub目录下发现的确没有x86_64-efi这个目录

使用Ctrl+D退出chroot的环境重新进入rescure的bash,然后使用cp命令将/usr/lib/grub/x86_64-efi/下的所有文件拷贝到/mnt/sysimage/usr/lib/grub/x86_64-efi/

# cp -R /usr/lib/grub/x86_64-efi/* /mnt/sysimage/usr/lib/grub/x86_64-efi/

然后使用chroot切换到/mnt/sysimage环境,继续运行

# grub2-install /dev/sdb1,即可成功安装grub2

然后我们还需要重新生成配置文件:

# grub2-mkconfig -o /boot/grub2/grub.cfg

为了保险起见我重新运行了一次

# grub2-install /dev/sdb1

重起之后即可正常引导进入Linux系统
————————————————
版权声明:本文为CSDN博主「ytingone」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ytingone/java/article/details/59209526
==========================================================
源码编译grub2
官网
下载

./configure  make  make install(yum install bison flex -y)
默认安装路径[root@arm-centos /]# ls usr/local/lib/grub/arm64-efi/

或指定路径
./configure --disable-werror --prefix=/usr/local/xxx
./configure --with-platform=efi --target=x86_64 --disable-werror --prefix=/usr/local/xxx
在选择解决方案上,方案1是个弯路,按照通用的编译原理,如果一个源码支持多个平台,不应该是通过“在不同平台的环境上进行编译来获得不同的产品”,这样的思路成本太高,而应该是“一个编译环境,通过不同的编译参数来进行”,这样才能一份代码,多种产品编译支持。
阅读(6063) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~