linux修复uefi启动文件,修复启动
介绍
如果GRUB接管MBR,那么GRUB安装分为三部分:
第一部分(一般情况下)写在了MBR上
第二部分是将core.img嵌入到MBR之后的保留扇区部分
第三部分才是/boot/grub下面的各种模块和文件(如果/boot单独分区,则直接写在对应分区的/grub目录)里面。
注意:本条目只针对GRUB2.0。
显示GRUB
一般情况下,GRUB菜单是直接显示的。
有时候用户会将GRUB等待时间设为0,若想临时显示GRUB菜单,开机时,在GRUB加载前按住Shift键不放即可,部分主板可能需要多重启一次才会生效。
若能进入深度操作系统,也可以到 控制中心->启动菜单 调整相应选项。
GRUB错误
deepin15.3启动失败(UEFI)
报错与分析
GRUB loading Minimal BASH-like line editing is supported.For the first word...(后面省略) grub >
与旧版教程中的报错不同,这种情况下标识符是grub>而不是grub rescure>。这个时候直接输入normal并回车不会执行任何操作,说明是normal.mod出错导致的,grub正常识别了deepin的/boot分区,但是加载了出错的normal.mod,导致无法引导系统。出错的原因可能是由于easybcd与grub之间存在兼容性问题导致的,也可能是因为之前重复安装其他操作系统系统但是删除旧系统后没有清理efi分区甚至是直接在旧系统上安装deepin15.3。
解决办法
使用liveUSB、liveCD或者设备上的另一个linux发行版打开gparted查看引导出错的deepin15.3的根目录挂载点,例如/dev/sda1,具体的值与你的分区有关,为了描述方便下面均以/dev/sda1为例,实际操作时记得改为你的系统的挂载点,下文的系统分区也是,以你的实际显示为准;
选择deepin引导,进入grub命令行后(也就是这个报错界面),输入set然后回车;
一般这种报错并不是因为路径识别出错,如果你希望验证是否是grub没有正确识别系统路径,可以参照这个链接的“查找正确分区”部分(后面的不需要看,因为错误不同),所以可以直接查看prefix=行的显示(一般在set输出的末尾几行),示例:
未知对象
其中(hd2,gpt1)代表系统所在分区。为了描述方便下面均以(hd2,gpt1)为例。
输入 linux (hd2,gpt1)/boot/vmlinuz,然后按tab按键(Q键左边的那个按键)补全名字。补全之后不要按回车,而是输入空格,然后继续输入root=/dev/sda1 foo bar,之后才回车。这一步是加载系统内核。注意,(hd2,gpt1)和/boot之间没有空格。
输入initrd (hd2,gpt1)/boot/init,然后按tab按键补全名字,补全之后回车。
输入boot,回车,就可以引导进入系统了。
进入系统之后,在终端下输入sudo update-grub,之后在控制中心打开启动菜单选项,等待它自动更新,更新完毕后就完成修复工作了,可以正常引导deepin15.3了。欢呼吧!
鸣谢:@mattd
旧版教程
开机显示:
未知对象
已经发现下面几种操作会导致这种问题:
想删除Linux,于是直接在windows下删除/格式化了Linux所在的分区。
调整磁盘,利用工具合并/分割/调整/删除分区,使磁盘分区数目发生了变化。
重新安装系统,把linux安装到了新分区,原有分区已经格式化,但是没有重新安装GRUB2。
用Linux备份工具/衍生版制造工具等,把主分区恢复成了8.X的老版本,结果老版本的GRUB是GRUB1,于是把GRUB2破坏掉了。
重装GRUB
1.使用深度操作系统启动盘引导电脑启动,待进入安装界面后,按下Ctrl+Alt+F1,执行以下命令:
sudo service lightdm stop
startx
稍等片刻,进入Live CD模式。
2.进入Live CD系统后打开终端,挂载需要修复系统的 / 挂载到/mnt,可以利用Gparted或者sudo fdisk -l命令查看,例如需要修复系统的/分区为/dev/sda1,那么终端执行:
sudo mount /dev/sda1 /mnt
如果需要修复系统的/boot单独分了出来(假设为/dev/sda2),也要挂上,终端执行:
sudo mount /dev/sda2 /mnt/boot
另外,将Live CD系统的/dev目录同时挂在/mnt下,终端执行:
sudo mount --bind /dev /mnt/dev
然后使用chroot命令,将Live CD的 / 设为以前的/,终端执行:
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
安装并刷新GRUB设置(主板为BIOS引导),请终端执行:
grub-probe -t device /boot/grub
sudo grub-install /dev/sda
sudo grub-install --recheck /dev/sda
sudo update-grub
安装并刷新GRUB设置(主板为UEFI引导),请终端执行:
grub-probe -t device /boot/grub
sudo grub-install --target=$(ls /usr/lib/grub/ | grep efi)
sudo grub-install --recheck /dev/sda
sudo update-grub
挂载efi分区到/boot/efi
安装grub-efi这个包grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Deepin
sudo grub-mkconfig -o /boot/grub/grub.cfg
至此,修复完成,重启电脑生效。
删除GRUB
删除GRUB可能会导致电脑无法引导deepin,请谨慎操作。
如果需要彻底删除GRUB2(卸载深度操作系统),请查看 卸载系统。
参考链接
如何修复GRUB2
ubuntu中文论坛:Grub Rescue修复方法
最新修复双系统grub的方法
Windows硬盘安装linux deepin及引导修复,安全删除
如何在Ubuntu12.04/12.10中重装或修复GRUB2引导
linux修复uefi启动文件,修复启动相关推荐
- ipxe无盘服务器,ipxe uefi pxe HTTP启动文件及启动菜单的个人体会
ipxe 中的wimboot新完善了UEFI HTTP方式启动PE,经过测试成功,在制作启动文件和启动菜单中费了一番周折,一点体会和各位分享. 将wimboot复制到HTTP启动根目录,ipxe.kr ...
- mysql库文件修复_mysql数据库文件修复
多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少.大多数形式的数据库破坏的的修复相当简单. 和前面的校验一样,修复的方式也有三种. 下面讲的方法只对MyISAM格式的表 ...
- 索尼RSV视频修复方法论视频文件修复时样本文件的三同
索尼RSV类的文件修复案例有很多,程序操作也很简单没什么可说的,这次这个索尼ILCE-7SM3的案例就是为了让大家更好的认识视频修复中我称之为"三同"的重要性,想要恢复的效果好必须 ...
- python启动文件_Python启动文件配置
#-*- coding:utf-8 -*- ''' python一键启动服务器--所有部署的项目 ''' import paramiko import configparser import time ...
- 固件类型bios好还是uefi好_uefi启动是什么意思 UEFI启动对比Bios启动优势在哪里
UEFI是一种详细描述类型接口的标准.这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上.通俗的说,UEFI是一种新的主板引导初始化的标注设置.那么UEFI启动和Bios启动之间有何区别 ...
- keil创建无启动文件及自定义.sct文件的工程
需求背景:在Cortex-M0/M4处理器中实现主程序常驻ROM,子程序动态加载到RAM中运行. 由于Cortex-M0/M4处理器没有MMU,很难像带MMU的处理器那样给程序划分虚拟地址,实际上只能 ...
- uefi启动适合什么计算机,uefi启动是什么意思 UEFI启动对比Bios启动优势在哪里
UEFI启动是一种新的主板引导项,正被看做是有近20多年历史的BIOS 的继任者.顾名思义,快速启动是可以提高开机后操作系统的启动速度.由于开机过程中UEFI的介入,使得Windows 8的开机进入系 ...
- UEFI启动与Bios启动
uefi启动盘制作工具,UEFI相比传统的Bios启动方式,UEFI除了启动方便,还有一个最大的可见特点就是UEFI支持图形化操作,相信大家也发现了,现在很多BIOS都是图形界面,而且支持鼠标操作,这 ...
- UEFI启动是什么意思 UEFI启动对比Bios启动优势在哪里
新型UEFI,全称"统一的可扩展固件接口"(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准.这种接口用于操作系统自动从 ...
最新文章
- 回归分析中的“回归”
- 讲解知识图谱成体系文章 (魔图互联知识图谱写的质量比较高的)
- 利用Eventlog Analyzer分析日志
- ctime库函数的使用
- poj1015 Jury Compromise
- java反射构造函数_【译】3. Java反射——构造函数
- 内部结构透视XRAY
- 以太坊Sharding FAQ
- python37安装opencv41_Vs2019+opencv4.1.0+python3.7,包安装,vs2019opencv410python37,程序包
- wind试用版 matlab,免费产品试用 - MATLAB Simulink
- Asp.net生成工作流、审批流的解决方案
- json.dumps loads 终于区分出来了
- c语言复杂数据类型存储,C语言基础-复杂数据类型
- 购物车项目 复杂版本.待简化
- 如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路
- 手把手教你写CSS行内样式与内联样式
- 上海图书馆e卡通阅读器差强人意
- Duilib介绍-3
- 怎样修改管家婆服务器密码,管家婆辉煌版如何设置权限和修改操作员密码口令...
- MS17010(永恒之蓝)漏洞复现