easybcd误删Win10启动项,UFEFI恢复引导

原文链接:

https://blog.csdn.net/u010439582/article/details/79711875

一直想在本本上装个双系统(win + linux(deepin))。结果呢?到处碰壁,虽然安装完毕但是启动不了(找不到启动项)。上网一查,发现对于efi什么的完全不懂啊,百度一下教程,下载了easybcd这个软件用来编辑启动项(PS:这软件神坑,打死我也不用了)。结果一不小心手滑,给win10启动引导给删了,情急之中尝试用这个软件重新添加了一个win10的启动引导,蜜汁自信的重启,GG
 
 
 
DNMD,这可咋整linux没装成,windows也没了。这时,万能的百度他又来了,可以各种国产PE恢复,也可以用windows启动盘恢复。刚好手里有个win启动盘(随便找个中文瘟10镜像,用ultraiso和一个8GU盘就可以制作),而且国产pe你懂的,我就直接用靠谱的windows原厂的镜像帮忙恢复啦。
 
首先保证你的bios里的启动模式是UEFI模式(这不是废话么),插入U盘启动后手动选择启动项,选择你的win10启动U盘。顺利进入windows安装界面
 
选择好语言之后点击“修复计算机”,然后在出线的页面中依次选择 疑难解答->高级工具->命令提示符 然后就可以在管理员的模式下进入console啦(讲道理这是不是一个安全漏洞呢,我发现好像可以通过启动U盘随意拷贝别人电脑里的东西了)。
 
修复启动引导需要用到bcdboot命令以及diskpart工具,关于这两个命令具体是干什么的,我建议百度。
 
 在这里科普一下UEFI引导系统的工作原理
 首先什么是efi引导分区(esp或简称引导分区)?
该分区必须存在GPT磁盘中,用来存储efi引导文件,它采用fat32文件系统。
 
 efi长啥样(windows下)
主要文件的结构是这样的:
efi\boot\bootx64.efi
efi\microsoft\boot\bcd
 
 efi工作流程? (windows下)
uefi bios启动时,自动查找硬盘下引导分区的bootx64.efi,然后由bootx64.efi引导efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)
 
ok,既然是要修复启动引导,那么说明他以前是可以用的!因此需要找到以前的引导存放的位置(windows的efi分区),这里我使用diskpart工具。
用到的命令是list和sel,分别是列出和选择

   list disk
   
   
   列出所有挂载磁盘
   
  
   list par
   
   
   列出当前磁盘分区
   
  
   sel disk n
   
   
   选择磁盘 n是编号
   
  
   sel par n
   
   
   同理
   
  
找windows的引导分区,大小一般都是一两百MB,找到之后选择它。我电脑是双硬盘,一块256GSSD一块1THDD,系统是装在SSD上的,同时这块SSD也是GPT磁盘,因此EFI分区肯定在它上面,然后列出它的分区,找到引导分区位置。
 
 
找到之后用assign命令给这个分区分配一个盘符,以便修复它,我这里给他一个o,然后就可以退出diskpart工具啦。
 
引导的本质就是告诉电脑,要启动的系统在哪。修复它,要把启动需要的引导文件写到efi分区。前面已经知道efi分区的位置了,还给他分配了盘符o,因此要修复它还需要知道windows的系统在哪里,通常是c盘,也就是c:\windows
现在需要用bcdboot命令来修复这个分区
尝试复制启动文件失败?这又是怎么回事,命令执行出现了问题,开始排查。
首先假设我们的windows系统没有问题,u盘镜像也没有问题,那么bcdboot也没有问题。问题应该是在我给的参数上
 
首先第一个参数,难道系统位置不对?c盘难道不是我的系统盘?用dir命令看看里面有啥
 
嗯……..嗯!??? 这不是我的“D盘”么,那d盘有啥?
 
What the f**k?这不是我的“C盘”么?
 
破案了,凶手就是——不知道是什么原因,我的系统盘在这里的盘符其实是D而不是C
现在修改系统位置参数,重新执行一下看看
 
执行之后,提示 “成功创建启动文件” 就表示引导添加成功了,exit退出命令行,随后点击退出并继续。
 
重新开启,熟悉的画面~
 
到这里就结束修复啦,以后再编辑启动项的时候一定要先备份好啊!!!

猜你喜欢

转载自www.cnblogs.com/foxer-z/p/11869319.html
今日推荐