无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 55773|回复: 114
打印 上一主题 下一主题

[分享] 快速修复UEFI引导(Windows)

  [复制链接]
跳转到指定楼层
1#
发表于 2019-6-10 23:09:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hilsonma 于 2019-11-21 15:44 编辑

1.下载附件 引导修复_Win.7z (1.23 MB, 下载次数: 1497)
2.解压后双击运行脚本 重建Win引导.cmd
    脚本会新建bcd文件到第一个Windows分区 \Windows\Boot\EFI\bcd

在efi引导菜单中指定引导 (Windows分区)\Windows\Boot\EFI\bootmgfw.efi,如:
        search -s -f \Windows\Boot\EFI\bootmgfw.efi
        chainloader \Windows\Boot\EFI\bootmgfw.efi

如果是使用windows 本身引导作为UEFI的主引导,就将Windows分区这两个文件
        \Windows\Boot\EFI\bootmgfw.efi
        \Windows\Boot\EFI\bcd
    复制到 efi分区
        \efi\boot\bootx64.efi
        \efi\boot\bcd
    注意bootmgfw.efi复制后改名为bootx64.efi。

如果是使用xorboot引导,建议系统类型不要使用 Windows NT 6+ , 直接使用 EFI应用程序,指定文件名为任意磁盘上的 \Windows\Boot\EFI\bootmgfw.efi

如果是通过引导 (Windows分区)\Windows\Boot\EFI\bootmgfw.efi 来启动windows,bootmgfw.efi会先找同分区下的 \Windows\Boot\EFI\bcd ,找不到再找同分区下的 \efi\microsoft\boot\bcd 。
这样每次重装系统只需重建 (Windows分区)\Windows\Boot\EFI\bcd,不需要更新efi分区。
u盘拿到另一台电脑启动windows也是只需在该电脑Windows分区建立 \Windows\Boot\EFI\bcd,不需要更改u盘efi区。

之前所见的uefi引导修复工具大多是针对windows引导,大多是基于bcdboot或bcdedit 。其实主要就是更新bcd文件,因为windows的uefi引导失败基本都是bcd文件与系统不匹配导致的。

附件已更新,如果是MBR硬盘会自动更新bios平台下的BCD,如果新安装的镜像缺少bootmgr会自动补上。

以上附件名可以看出,这是一个引导修复系列,相关的还有:
引导修复_WEE   ---------重建硬盘bios引导(wee)
引导修复_EFI     ---------重建硬盘uefi引导


评分

参与人数 7无忧币 +27 收起 理由
cuicongyuan + 5 赞一个!
xiaojiejun + 1
kpw518 + 1 很给力!
sd3166 + 5 赞一个!
北冥有鱼 + 5
2012andyle113 + 5 很给力!
chishingchan + 5 赞一个!

查看全部评分

2#
发表于 2019-6-10 23:32:30 | 只看该作者
前排支持

点评

大神都在请教一个问题? MacBook Pro苹果笔记本安装了双系统,想分一个小区放pe系统(不是安装的) 1,怎么样添加pe系统启动项 2,怎么样把pe系统启动项放到苹果笔记本开机启动项上面 3,如图  详情 回复 发表于 2019-6-11 12:02

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 大大是真666666

查看全部评分

回复

使用道具 举报

3#
发表于 2019-6-11 00:17:27 | 只看该作者
后排支持

评分

参与人数 1无忧币 +5 收起 理由
朱玛12345678 + 5 666!

查看全部评分

回复

使用道具 举报

4#
发表于 2019-6-11 00:27:41 | 只看该作者
回复

使用道具 举报

5#
发表于 2019-6-11 08:17:55 | 只看该作者

尴尬!这贴你们俩玩了,各评5分!楼主没捞着好处。
回复

使用道具 举报

6#
发表于 2019-6-11 08:20:31 | 只看该作者
编写似我的风格
  1. @echo off
  2. rem 获取管理员权限
  3. %1 mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",1)(window.close)&& exit

  4. rem 设置当前目录为脚本所在目录
  5. cd /d %~dp0

  6. echo.
  7. echo ==================================================
  8. echo  本脚本会删除原bcd菜单!!!
  9. echo.
  10. echo  如果你原本使用bcd菜单进行多系统引导,请注意备份。
  11. echo.
  12. echo  要取消本脚本请关闭此窗口
  13. echo.
  14. echo  要继续更新bcd请按任意键...
  15. echo ==================================================
  16. pause>nul

  17. rem 删除旧bcd文件
  18. del bcd

  19. rem 创建新bcd文件
  20. set bcd1=bcd
  21. bcdedit /createstore %bcd1%

  22. rem 创建主菜单入口
  23. bcdedit /store %bcd1% /create {bootmgr}

  24. rem 不显示菜单
  25. bcdedit /store %bcd1% /set {bootmgr} displaybootmenu 0

  26. rem 创建一个菜单项并获取菜单项id
  27. for /f "delims={,} tokens=2" %%a in ('bcdedit /store %bcd1% /create /d "Windows" /application osloader ') do set Guid={%%a}

  28. rem 设置菜单显示顺序
  29. bcdedit /store %bcd1% /displayorder %Guid%

  30. rem 设置引导文件所在分区
  31. bcdedit /store %bcd1% /set %Guid% device partition=c:

  32. rem 设置系统所在分区
  33. bcdedit /store %bcd1% /set %Guid% osdevice partition=c:

  34. rem 设置系统所在文件夹
  35. bcdedit /store %bcd1% /set %Guid% systemroot \windows

  36. rem 操作完成暂停一下以便查看是否出错
  37. pause
复制代码

评分

参与人数 2无忧币 +10 收起 理由
879792799 + 5 赞一个!
dfw9 + 5 很给力!

查看全部评分

回复

使用道具 举报

7#
发表于 2019-6-11 08:22:32 | 只看该作者
我也分享一个:双系统菜单修正 XP->10
  1. @echo off
  2. title 修改项目:
  3. echo 修改启动菜单界面(传统文本模式)
  4. echo bcdedit /set {default} bootmenupolicy legacy
  5. echo.
  6. echo 修改项目显示名称:早期版本的 Windows =^> Windows XP
  7. echo bcdedit /set {ntldr} Description "Windows XP"
  8. echo.
  9. echo 修改默认启动项目:Windows 10 =^> Windows XP
  10. echo bcdedit /set {bootmgr} default {ntldr}
  11. echo.
  12. echo 修改菜单显示顺序:最前
  13. echo bcdedit /displayorder {ntldr} /addfirst
  14. echo.
  15. echo 修改菜单默认启动时间:30 =^> 5
  16. echo bcdedit /timeout 5
  17. echo.
  18. echo 按 任意键 开始修改!按 Ctrl+C 取消!&&echo. &&pause>nul 2>nul
  19. bcdedit /set {default} bootmenupolicy legacy
  20. bcdedit /set {ntldr} Description "Windows XP"
  21. bcdedit /set {bootmgr} default {ntldr}
  22. bcdedit /displayorder {ntldr} /addfirst
  23. bcdedit /timeout 8
  24. title 修改完成!
  25. echo.&&echo 按 任意键 退出!&&pause>nul 2>nul
复制代码

点评

求大大详细教程  详情 回复 发表于 2019-6-11 23:09

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 赞一个!

查看全部评分

回复

使用道具 举报

8#
发表于 2019-6-11 08:35:50 | 只看该作者
谢谢楼主的分享
回复

使用道具 举报

9#
发表于 2019-6-11 09:25:13 | 只看该作者
楼书用心,支持了
回复

使用道具 举报

10#
发表于 2019-6-11 12:02:11 | 只看该作者

大神都在请教一个问题?
MacBook Pro苹果笔记本安装了双系统,想分一个小区放pe系统(不是安装的)
1,怎么样添加pe系统启动项
2,怎么样把pe系统启动项放到苹果笔记本开机启动项上面
3,如图

56ab9c421fcd490d6f832817b5f3651.jpg (161.48 KB, 下载次数: 588)

56ab9c421fcd490d6f832817b5f3651.jpg
回复

使用道具 举报

11#
 楼主| 发表于 2019-6-11 12:20:35 | 只看该作者
995070995 发表于 2019-6-11 12:02
大神都在请教一个问题?
MacBook Pro苹果笔记本安装了双系统,想分一个小区放pe系统(不是安装的)
1, ...

能不能分享一下把你的启动软件?
回复

使用道具 举报

12#
发表于 2019-6-11 12:43:33 | 只看该作者
hilsonma 发表于 2019-6-11 12:20
能不能分享一下把你的启动软件?

以前用个XorBootUx64
没有其他的启动软件
回复

使用道具 举报

13#
 楼主| 发表于 2019-6-11 12:59:26 | 只看该作者
本帖最后由 hilsonma 于 2019-6-11 13:01 编辑
995070995 发表于 2019-6-11 12:43
以前用个XorBootUx64
没有其他的启动软件


就你上传的那个图的,貌似还可以鼠标操作的。
如果你不清楚的话,就把efi分区打包上传,当然如果有镜像文件就不要,只要相关启动文件结构,或者先上传efi分区文件结构图
像我的:(cmd窗口切换到efi分区根目录,输入tree /f >a.txt 再把a.txt的内容贴上来)
文件夹 PATH 列表
卷序列号为 00000087 0C01:107A
F:.
│  wepe.wim
│  a.txt
│  
└─efi
    ├─boot
    │      bootx64.efi
    │      
    ├─grub
    │  │  grub.cfg
    │  │  grubfm.cfg
    │  │  
    │  └─wimboot
    │          bcd
    │          boot.efi
    │          boot.sdi
    │         
    └─microsoft
            bcd
            bootx64.efi
            
回复

使用道具 举报

14#
发表于 2019-6-11 13:16:54 | 只看该作者
hilsonma 发表于 2019-6-11 12:59
就你上传的那个图的,貌似还可以鼠标操作的。
如果你不清楚的话,就把efi分区打包上传,当然如果有镜 ...

ESP分区的,文件大于2m不好上传

2019-06-11_131451.png (12.34 KB, 下载次数: 442)

2019-06-11_131451.png
回复

使用道具 举报

15#
 楼主| 发表于 2019-6-11 13:24:48 | 只看该作者
放到百度网盘再分享链接
回复

使用道具 举报

16#
发表于 2019-6-11 13:26:15 | 只看该作者
cmd窗口切换到efi分区根目录,这个怎么操作?
回复

使用道具 举报

17#
 楼主| 发表于 2019-6-11 13:33:09 | 只看该作者
995070995 发表于 2019-6-11 12:43
以前用个XorBootUx64
没有其他的启动软件

我听说有个CLOVER,没有去了解,不知道你的是不是,因为你的是MACBOOK,我想应该是clover,看了你的图片我感兴趣
回复

使用道具 举报

18#
 楼主| 发表于 2019-6-11 13:35:06 | 只看该作者
本帖最后由 hilsonma 于 2019-6-11 13:38 编辑
995070995 发表于 2019-6-11 13:26
cmd窗口切换到efi分区根目录,这个怎么操作?


输入 cd /d f:\
假如ESP是F盘的话。是哪个盘就输入哪个字母

既然打包了就上传到百度网盘分享出来吧,有了这两个压缩包我应该可以学到
回复

使用道具 举报

19#
发表于 2019-6-11 13:49:07 | 只看该作者
hilsonma 发表于 2019-6-11 13:35
输入 cd /d f:\
假如ESP是F盘的话。是哪个盘就输入哪个字母

是这个盘吗?

2019-06-11_134618.png (19.92 KB, 下载次数: 437)

2019-06-11_134618.png
回复

使用道具 举报

20#
 楼主| 发表于 2019-6-11 13:50:39 | 只看该作者

是的
回复

使用道具 举报

21#
发表于 2019-6-11 13:52:16 | 只看该作者
回复

使用道具 举报

22#
发表于 2019-6-11 14:05:40 | 只看该作者

你看一下我这个esp是什么盘,你给一个完整的命令路径
回复

使用道具 举报

23#
 楼主| 发表于 2019-6-11 15:16:39 | 只看该作者
995070995 发表于 2019-6-11 14:05
你看一下我这个esp是什么盘,你给一个完整的命令路径

esp分区一般是隐藏的,没有盘符。需要运行showdrive.exe或mountesp.exe之类的挂载工具后才会分配盘符。
所以在分配盘符之前也没有完整的路径。
回复

使用道具 举报

24#
发表于 2019-6-11 23:09:54 | 只看该作者
chishingchan 发表于 2019-6-11 08:22
我也分享一个:双系统菜单修正 XP->10

求大大详细教程
回复

使用道具 举报

25#
 楼主| 发表于 2019-6-12 10:06:31 | 只看该作者
本帖最后由 hilsonma 于 2019-6-12 10:18 编辑


看了,大概了解如下:

\EFI\APPLE\EXTENSIONS\Firmware.scap 这个是Clover引导生成的

其余的都是引导windows的相关文件,其实可以简化为这两个:
\EFI\Microsoft\Boot\bootmgfw.efi (这个可能需要复制改名存放一份为 \efi\boot\bootx64.efi)
\EFI\Microsoft\Boot\BCD

由于没有clover的实例,我也没有接触过mac os x ,所以没办法做到你要的引导效果。

我能想到的就是拿 \efi\microsoft\boot\bcd 修改,添加一个引导PE的菜单项。这样每次进windows需要多一次二级菜单等待所以并不令人满意,最好还是象你要求的修改clover添加PE引导,这个我现在做不到。
回复

使用道具 举报

26#
发表于 2019-6-12 12:21:32 | 只看该作者
hilsonma 发表于 2019-6-12 10:06
看了,大概了解如下:

\EFI\APPLE\EXTENSIONS\Firmware.scap 这个是Clover引导生成的

非常感谢,热心回答
但是用优盘pe系统时,在启动界面有U盘的启动项和图标
回复

使用道具 举报

27#
 楼主| 发表于 2019-6-12 14:10:27 | 只看该作者
wintoflash 发表于 2019-6-12 12:30
不是clover。那个是水果电脑uefi的设备选择界面。

哦,原来是水果的uefi 自身呀,没有见过,谢谢告知。
回复

使用道具 举报

28#
 楼主| 发表于 2019-6-12 14:18:10 | 只看该作者
995070995 发表于 2019-6-12 12:21
非常感谢,热心回答
但是用优盘pe系统时,在启动界面有U盘的启动项和图标

经过wintoflash 的提醒才清楚你的回答是什么情况。
你可以尝试bootice或xorboot之类的工具,用其中的uefi启动序列管理功能,添加uefi启动项。
当然,需要试先准备好启动文件放在esp分区
回复

使用道具 举报

29#
发表于 2019-6-13 08:56:43 | 只看该作者
hilsonma 发表于 2019-6-12 14:18
经过wintoflash 的提醒才清楚你的回答是什么情况。
你可以尝试bootice或xorboot之类的工具,用其中的uef ...

没那么复杂,搞定了。

9ea51c502bfa56f719047bc94fa4b8b.jpg (61.89 KB, 下载次数: 390)

9ea51c502bfa56f719047bc94fa4b8b.jpg
回复

使用道具 举报

30#
 楼主| 发表于 2019-6-13 12:59:15 | 只看该作者
本帖最后由 hilsonma 于 2019-6-13 13:02 编辑
995070995 发表于 2019-6-13 08:56
没那么复杂,搞定了。


分享一下你是怎么做的呀

象我的电脑,插个U盘当然会多个选项,如果不插U盘,好象esp区只认 efi\boot\bootx.efi,不知是不是多做一个fat分区就会多一个选项,我没有再试。

点评

MacBook后来生产的本本,就两个接口,其中一个是电源接口,而且不好直接插U盘,所以一直就想用本地磁盘分一个小区, 放上pe文件,然后添加启动项,再放到开机启动选项。这样就脱离优盘启动了。  详情 回复 发表于 2019-6-13 14:04
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 09:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表