admin 管理员组文章数量: 887007
【疑难杂症爆破委员会】
UEFI Linux、Windows双系统,丢失Windows的efi文件导致找不到启动项,导致无法进入Windows系统
状况说明
状况是这样的:我本来好好的装着Linux和Windows的双系统(还是先装的Linux后装的Windows,想想自己真能折腾…)。然后不知搞了什么错误操作,导致Linux系统(Manjaro)特别慢,包括像Chrome、火狐等这样的应用的启动速度,还有npm编译js的速度等,都十分的慢,所以就索性重装了一下系统。
然后我在装系统的时候,一个不小心(手贱)就把efi分区给格了
这以下可了不得了,windows的efi文件没了,是肯定引导不了的,所以就千方百计地找恢复efi文件的方法,还真在这儿找到了:
https://superuser/questions/1110644/reconstructing-windows-efi-files-in-boot-partition-linuxwindows-dual-boot : Reconstructing Windows EFI files in /boot partition (Linux+Windows dual boot) 回复者:Manoj Sawai
所需条件
- Windows的UEFI启动盘
这应该很好弄,烧个Win10的启动盘就好了(iso格式的原装系统,不是什么老毛桃之类的)
操作步骤
-
(通过UEFI启动方式)启动这个系统安装盘
-
在跳出让你选择语言和输入法的对话框的时候,按
Shift + F10
启动控制台 -
输入
diskpart
进入这个命令行程序。
然后输入list disk
找到你efi分区所在的硬盘,
输入select disk #
(#
表示磁盘序号) 选中目标磁盘 -
然后输入
list partition
列出这个磁盘的所有分区,
找到efi分区,输入select partition #
(#
表示efi分区的序号)。
然后我们需要给这个分区指派一个盘符,可以随便取,我们不妨用G
,
所以,输入assign letter=G
-
到这里,前期的准备工作基本做好了。
我们可以输入list vol
检查一下,准备工作是不是真的做好了
如果你能找到刚才指派的盘符为G
分区类型为FAT32
的分区,说明OK了 -
现在我们可以退出diskpart这个命令行程序了(不是点关闭按钮!)
输入exit
来退出diskpart这个命令行程序,然后现在你应该在X:\Sources
这个目录下 -
然后我们需要进入efi分区的这个目录
G:\EFI\Microsoft\Boot\
如果没有,则手动创建他们。然后cd /d G:\EFI\Microsoft\Boot\
进入这个目录
然后我们只需要以依次行如下命令即可:
bootrec /scanos
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
bcdboot C:\Windows /l en-us /s G: /f ALL
注意! 上文中的,C:\ Windows 要根据实际情况填写,比如我的就不是C,而是D。具体信息会在你输入第一行命令后有所显示,届时注意观察
当最后一个命令成功执行后,就大功告成了!
其他说明
-
这个过程确实会保证Windows的efi引导得到正确设置,不过也有可能会覆盖你Linux的引导(只是有可能,我的就没被覆盖)。但是这不打紧,因为用grub-mkconfig、efibootmgr等工具添加Linux的引导要比整出一个Windows的efi文件来简单的多的多。
-
记得一切都弄好后,及时把指派的那个盘符(我们这里是
G
)及时的取消掉,否则他会一直出现在你的我的电脑里,不仅烦的一批还比较危险。
版权声明:本文标题:【疑难杂症爆破委员会】UEFI Linux、Windows双系统,丢失Windows的efi文件导致找不到启动项(恢复Windows的efi文件) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732150159h1523739.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论