UEFI和GPT下硬盘克隆后的BCD引导修复
UEFI和GPT下硬盘克隆后的BCD引导修复-Storm_Center http://www.stormcn.cn/post/1901.html
当硬盘引导换成GPT,系统启动也变成UEFI后,如果直接通过克隆方式来更换硬盘,有可能新硬盘无法启动,需要修复启动文件BCD。BCD可放在单独的ESP分区(FAT格式,用光盘文件正常安装就有),也可放在C盘,UEFI启动的BCD文件在efi\microsoft\boot\下。即使是MBR和BIOS启动且同样拥有ESP单独分区的话,BCD则是在BOOT文件夹中,所以即使是MBR格式,如果同样引导文件未放在C盘,也需要在克隆后修复对应位置的BCD,修复则同前者一样,都是要把引导文件的路径指向对应分区和路径下的BCD。还有恢复环境recovery,也是需要指向指定的分区或位置(如果没有设置专门的NTFS分区,则放在C盘也可)。
如果不修复引导,则在克隆后用新硬盘启动,会出现0xc0000225的错误(顺便说一下,MBR格式硬盘且有ESP分区的,可能出现的错误代码是0Xc000000e),也可能直接黑屏没有反应,如果修复失败,还有可能出现黑屏但还有鼠标光标,剩下的鼠标光标也能动,这绝不是丢失或损坏了什么dwmapi.dll文件的问题,也调不出什么任务管理器去运行explorer.exe,都是引导与启动修复失败的结果。
而修复BCD,一般都有工具,有智能自动修复的,只要指定windows目录所在地,或者在PE中要先给ESP指一个盘符,让修复工具能自己找得到它,只要硬盘修复成功启动,ESP还是会回到无盘符状态,不会影响什么的,唯一要注意的是随着WIN10以后的更新版本系统的出现,修复工具最好选用最新版本的,虽然win7时代的工具可能也能用。另外自动修复工具其实与命令修复(如bcdboot c:\windows /s z: /f uefi /l zh-cn,这里/s后的z:是预先指定的ESP分区的盘符,如果引导文件在C盘,这里也得指定为c:,/f后面也可以用ALL,具体参数参考bcdboot/?)都是往BCD文件里添加一条新的启动引导项,而不是在旧有条目上进行修改。
如果要对BCD引导文件里旧有条目手动进行修改,这些工具(如EasyBCD、BOOTICE)也都有手动修改的功能。不过我在虚拟机中尝试克隆硬盘后手动修改BCD是成功,但在一台实机上却一直失败,被修改的路径应该是正确的,但却无法被识别成正确的C盘(而是加装双硬盘后的H盘,即使前一块硬盘在取掉的情况下仍然如此),以至于虽然能启动,但最后出现如上面说过的黑屏上只剩下一个鼠标光标。所以在实机上我采用的方法是用PE启动,然后运行DG,用DG里的克隆硬盘进行克隆,克隆后,在PE计算机管理中的磁盘管理里,新硬盘的状态是脱机的,这不是仅仅由于权限策略限制而脱的机,而是由于两块硬盘上的签名一样(即盘符设置相同)而造成的脱机,这时不能在磁盘管理里随便就点联机进行让其恢复联机状态,如果此时联了机,新硬盘的签名就改变了,克隆的作用就没了,新硬盘上各分区将按顺序在旧硬盘后分配到盘符,这样即使用新硬盘进行启动,就会出现找不到系统,所以必须在保持其脱机状态下关机,然后取走旧硬盘,再用新硬盘进启动,这样就能顺利进入系统,一切如常,然后再考虑处理旧硬盘,如果还想用的话。
注意自动修复BCD也仅仅是修复引导启动,而BCD里还有windows的恢复环境,那个WinRE,在克隆后这个恢复环境也有可能遭到破坏,但修复工具们一般不管它,需要手动修复,就是指定恢复环境WinRE在哪,可以手动指定,也有命令可用于修复,就是 reagentc命令,具体参数就不说了,因为在上面即使是引导修复成功的虚拟机上,我用命令也无法修复恢复环境,最后还是手动用BOOTICE工具来修改,没做成功的就不说了,以后再琢磨。
>> 除非说明均为原创,如转载请注明来源于http://www.stormcn.cn/post/1901.html
UEFI和GPT下硬盘克隆后的BCD引导修复的更多相关文章
- windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;
之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中:我首先通过磁盘精灵 ...
- centOS和windows7双系统下重装windows后恢复centOS引导
电脑原本是windows7和centOS双系统,后来重装windows系统后,发现没有centOS引导,于是重新恢复centOS引导. 1.官网下载centos系统镜像CentOS-7-x86_64- ...
- 基于UEFI和GPT模式下U盘安装windows8.1和Linux双启动教程
首先作以下准备: 1.一个8G以上的U盘,用的时候会格式化,建议为空 2.分区助手软件,官网下载链接 3.一个linux系统,这里用同学推荐的Fedora 26,官网下载链接 4.rufus 创建U盘 ...
- UEFI+GPT下安装Win10+Ubuntu16.04双系统
安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu. 自行百度你的主板是否支持UEFI启动方式. Win10 下载Win10安装镜像.烧盘等步骤就不说了,重启后 ...
- 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统
本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...
- UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统
转载请注明出处:http://www.cnblogs.com/willnote/p/6725594.html 安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu ...
- GPT WIN 换硬盘 硬盘克隆或复制 无法确定的问题,硬盘大小不一致换系统。
当你购买了一个新硬盘,希望换掉旧硬盘的时候.发现 GPT + EFI 要求硬盘上的前两个分区必须和旧的一样,否则就无法启动. 这就是你用 分区大师(PartAssist)硬盘克隆完了,也无法启动的原因 ...
- 在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导
转载自:在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导 https://www.linuxidc.com/Linux/2016-07/133717.htm
- mac+win10:UEFI分区方式下安装windows 10
小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...
随机推荐
- Sumo生成数据
1.生成input_net.net.xml文件 参数解释:http://www.sumo.dlr.de/userdoc/NETGENERATE.html#Grid_Network 1).生成grid ...
- DFS 之 全排列
题目描述输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 我们可以模拟出n个盒子和n张卡片,我们需要将n张卡片分别放到n个盒子里,且每个盒子只能放1张卡 ...
- matplotlib各图形绘制
2D图形 import numpy as np import pandas as pd from pandas import Series,DataFrame import matplotlib.py ...
- 1022. Sum of Root To Leaf Binary Numbers从根到叶的二进制数之和
网址:https://leetcode.com/problems/sum-of-root-to-leaf-binary-numbers/ 递归调用求和,同时注意%1000000007的位置 /** * ...
- js 数组的pop(),push(),shift(),unshift()方法小结
关于数组的一些操作方法小结: pop(),push(),shift(),unshift()四个方法都可改变数组的内容以及长度: 1.pop() :删除数组的最后一个元素,并返回被删除的这个元素的值: ...
- mongoose手动生成ObjectId
用mongoose驱动保存数据,如果_id没有定义,那么在save的时候,mongoose驱动会自己生成一个_id.那么如果需要手动生成可以用mongoose.Types.ObjectId()方法. ...
- PHP+ffmpeg+nginx的配置实现视频转码
最近项目中需要实现上传视频过程中自动转码MP4格式的功能,想到了用FFmpeg来实现它,但从来没有操作过,查阅了很多资料,遇到了好多问题,现在终于安装成功,觉得应该写下来与人分享一下,以免有人遇到和我 ...
- nopcommerce 4.1 学习2 -插件之挂件
先了解下nop4.1的一些插件有哪些类型: 1.支付插件 Nop.Plugin.Payments.PayPalStandard Nop.Plugin.Payments.CheckMoneyOrd ...
- Echarts tooltip 坐标值修改
tooltip: { trigger: 'axis', position:function(p){ //其中p为当前鼠标的位置 console.log(p); ] + , p[] - ]; } },
- FOR XML PATH 简单介绍
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...