(转)win10 UEFI修复--本人win10,想装个Ubuntu双系统,结果破坏开机引导的修复方法

写在前面:

如果想装win10和Ubuntu的双系统,那么:
1.一定先装win10,再装Ubuntu。
2.一定用Ubuntu来做开机引导。
别觉得Ubuntu的开机引导丑,win10的好看。 等你把电脑整的开不了机,就要炸了。我因为这个差点就准备要重装系统。

怎么修复UEFI引导呢?

当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。

UEFI引导基本原理:

  1、esp引导分区
  esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat格式磁盘分区代替
  2、efi文件结构
  efi\boot\bootx64.efi
  efi\microsoft\boot\bcd
  3、efi启动过程
  uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)

修复方法:

  一、用bcbboot自动修复
  我们建议大家启动64位8PE,用它带的bcdboot来修复。(我使用的大白菜的PE修复成功的)
  (一)指定esp分区修复
  环境为64位8PE,bios/uefi启动进入下都可以
  1、启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区
  打开cmd命令行,输入以下命令并运行
  bcdboot c:\windows /s o: /f uefi /l zh-cn
  其中:c:\windows 硬盘系统目录,根据实际情况修改
  /s o: 指定esp分区所在磁盘,根据实际情况修改
  /f uefi 指定启动方式为uefi
  /l zh-cn 指定uefi启动界面语言为简体中文
  注:64位7PE不带/s参数,故7PE不支持bios启动下修复
  (二)不指定esp分区修复
  环境为64位Win7或Win8PE,只有uefi启动进入Win PE才可以
  不用挂载esp分区,直接在cmd命令行下执行:
  bcdboot c:\windows /l zh-cn
  其中 c:\windows 硬盘系统目录,根据实际情况修改
  /l zh-cn 指定uefi启动界面语言为简体中文
  注:在Win8 PE中,我们也可以在uefi启动进入Win pe后,挂载esp分区用方法(一)修复
 

  二、用bootice手动修复
  从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在各Win pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就完成efi引导修复。
  1、启动任一Win pe,用esp分区挂载器或diskgenuis挂载esp分区
  2、查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。
  3.在esp分区中建立如下空文件夹结构
  \efi\boot\ (bootx64.efi等复制)
  \efi\microsoft\boot\ (bcd等建立)
  4、复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\下,并重命名为bootx64.efi
  5、打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,
  打开并编辑bcd文件,添加“windows vista\7\8启动项,指定磁盘为硬盘系统盘在的盘,指定启动分区为硬盘系统分区(一般为c:)
  指定启动文件为:\Windows\system32\winload.efi, 是.efi,不是.exe,要手工改过来
  最后保存当前系统设置并退出。

  注:Winxp PE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就可以让xpPE也能识别gpt磁盘格式分区
  指定启动分区不是esp分区所在分区,就是硬盘64位Win7、Win8 系统所在分区
  指定启动文件为:\Windows\system32\winload.efi, 是.efi,不是.exe,要手工改过来
  

其它问题

  1、手工运行ghost并不会修复esp分区
  2、用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就自带esp分区uefi引导修复
  3、用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。

@echo off
:1
title BIOS+UEFI引导修复工具1.1
color 03
echo *******************************************************************************              
echo *                           BIOS+UEFI引导修复工具1.1                          *
echo *                                                                             *
echo *******************************************************************************
echo *                                                                             *
echo *          此工具主要用于修复Windows引导,兼容BIOS启动和UEFI启动。            *
echo *          同时也可以用于修复多系统引导                                       *
echo *                                                                             *
echo *******************************************************************************
echo.
set /p A=请输入Windows所在盘符:
echo.
set /p B=请输入引导文件所在盘符:
echo.
echo Windwos所在盘符为%A%,引导文件所在盘符为%B%。确定要修复吗?
pause
if exist "%HOMEDRIVE%\Program Files (x86)" (
   goto x64
) else (
   goto x86
)

:x64
echo 正在修复引导。。。
bcdboot64 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修复
pause
cls
goto 1

:x86
echo 正在修复引导。。。
bcdboot32 %A%:\windows /s %B%: /f all /l zh-cn
echo 已完成修复
pause
cls
goto 1

猜你喜欢

转载自blog.csdn.net/gsp1004/article/details/100673828
今日推荐