今天在windows 10系统收到系统更新通知,没看清楚就手贱点了马上更新。以为只是像那些普通更新一样重启一下更新就完了,万万没想到这个是覆盖更新,也就是说这是一个全新的系统更新而不是系统补丁。在安装的过程中我就在心中默念 “完了,这安装完成linux的系统的引导肯定是要手动修复了。”,果然安装完之后默认是用windows启动引导,F2设置切换到deepin linux的引导后依然没法正常启动linux。要修复这个问题并不复杂,下面这篇文章记录了修复引导的全过程。

错误信息

error: file '/boot/grub/x86_64-efi/normal.mod' not found.
Entering rescue mode...
grub rescue> _

进入系统

从错误信息上可以看出,问题出现在grub找不到文件normal.mod,我们现在要做的就通过grub的rescue终端设置linux的引导分区和grub文件路径并重新引导系统。

  • 查找系统引导所在的分区:

用ls命令列出所有的分区

grub rescue> ls
(hd0) (hd1) (hd1,gpt8)....

根据你自己的记忆大概定位系统引导所在的分区(如果不记得那就只能逐个去试了)并用ls定位引导所在的分区(输出包含boot/)

如下图可以看出(hd1,gpt7)就是我们要找的分区:

grub rescue> ls (hd1,gpt6)/
./ ../ lost+found/
grub rescue> ls (hd1,gpt7)/
./ ../ lost+found/ bin/ boot/ dev/...
  • 配置grub引导
grub rescue> set root=(hd1,gpt7)
grub rescue> set prefix=(hd1,gpt7)/boot/grub
  • 切换到normal模式
grub rescue> insmod normal
grub rescue> normal

如果上面设置没有错的话,就可以正常进入系统的grub菜单了。

安装grub到efi分区

正常进入系统后,如果不先修复grub的引导的话,重启电脑之后还是会进入刚刚那个rescue模式。

  • 找出你的efi分区挂载点

运行df命令:

df

如下图可看出efi挂载点是:/dev/sdb2

  • 重新安装grub

用grub-install命令安装grub:

如果提示找不到某个命令,尝试把你的/usr/sbin添加到环境变量PATH中:

打开:vim /etc/profile

添加: export PATH=$PATH:/usr/sbin

应用配置: source /etc/profile

sudo grub-install /dev/sdb2

如果得到如下输出,恭喜你grub成功安装了!

转载请注明出处:http://www.cnblogs.com/keitsi/p/6229005.html

最新文章

  1. 使用PreApplicationStartMethodAttribute
  2. ThinkPHP 3.2.3 数据缓存与静态缓存
  3. memcached与.NET的融合使用(二)
  4. 浅谈VC++中预编译的头文件放那里的问题分析
  5. 左偏树(DP)问题
  6. Ov
  7. layout相关
  8. 推荐5个应用 jQuery 特效的精美特效
  9. iOS----------禁止输入汉字
  10. SQL Server数据库(时间戳timestamp)类型 (转载)
  11. C++:STL vector:sizeof(vector)
  12. MySQL 内存溢出
  13. Charles抓包https
  14. ScoketTimeout Exception浅析
  15. swift UITextfield 添加点击方法 - 简单实现
  16. Django的路由层(1)
  17. spring1 注册value与ref的区别
  18. PostgreSQL操作数据表
  19. HDU 6047 Maximum Sequence (贪心+单调队列)
  20. Linux expect 用法

热门文章

  1. Short与Integer互转
  2. 十分钟使用ionic Framework开发一个跨平台移动应用
  3. 如何使用angularjs实现表单验证
  4. git push --set-upstream origin
  5. AngularJS模块具体解释
  6. C语言中函数和指针的參数传递
  7. :not() 选择器选取除了指定元素以外的所有元素
  8. LaTex幻灯片制作
  9. Repository与UnitOfWork引入
  10. C#光盘刻录