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引导修复的更多相关文章

  1. windows10 双系统安装后,grub2 引导修复(亲自实验);grub2 命令行 手动加载内核;fedora 29 系统grub2引导修复;

    之前在本机有fedora 29的系统,但是由于错误安装,把windows10 启动安装到 linux 所在的硬盘中,导致原来的 efi中的grub启动被破坏,不能进入到linux中:我首先通过磁盘精灵 ...

  2. centOS和windows7双系统下重装windows后恢复centOS引导

    电脑原本是windows7和centOS双系统,后来重装windows系统后,发现没有centOS引导,于是重新恢复centOS引导. 1.官网下载centos系统镜像CentOS-7-x86_64- ...

  3. 基于UEFI和GPT模式下U盘安装windows8.1和Linux双启动教程

    首先作以下准备: 1.一个8G以上的U盘,用的时候会格式化,建议为空 2.分区助手软件,官网下载链接 3.一个linux系统,这里用同学推荐的Fedora 26,官网下载链接 4.rufus 创建U盘 ...

  4. UEFI+GPT下安装Win10+Ubuntu16.04双系统

    安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu. 自行百度你的主板是否支持UEFI启动方式. Win10 下载Win10安装镜像.烧盘等步骤就不说了,重启后 ...

  5. 【教程】在UEFI启动方式下,通过GRUB2引导,直接从硬盘ISO文件安装Windows10和Ubuntu双系统

    本文为作者原创,允许转载,但必须注明原文地址: https://www.cnblogs.com/byronxie/p/9949789.html 动机 最近在自学MIT6.828 Operating S ...

  6. UEFI+GPT双硬盘安装Win10+Ubuntu16.04双系统

    转载请注明出处:http://www.cnblogs.com/willnote/p/6725594.html 安装环境 SSD+HDD双盘,Win10安装在SSD里,HDD分出来60G安装Ubuntu ...

  7. GPT WIN 换硬盘 硬盘克隆或复制 无法确定的问题,硬盘大小不一致换系统。

    当你购买了一个新硬盘,希望换掉旧硬盘的时候.发现 GPT + EFI 要求硬盘上的前两个分区必须和旧的一样,否则就无法启动. 这就是你用 分区大师(PartAssist)硬盘克隆完了,也无法启动的原因 ...

  8. 在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导

    转载自:在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导 https://www.linuxidc.com/Linux/2016-07/133717.htm

  9. mac+win10:UEFI分区方式下安装windows 10

    小编,最近通过在远景论坛上寻找教程--安装双系统(win10+mac os).经过一天努力,成功安装win10.为此,特地分享给各位正在需求教程的朋友,我在UEFI分区方式下安装windows 10的 ...

随机推荐

  1. python入门-基础语法

    一.变量 定义字符串要加单引号‘’ 变量命名规范: 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 变量名不能用关键字 变量名不要用中文 变量名不要太长,区分大小写 面就用单引 ...

  2. tensorflow中命名空间、变量命名的问题

    1.简介 对比分析tf.Variable / tf.get_variable | tf.name_scope / tf.variable_scope的异同 2.说明 tf.Variable创建变量:t ...

  3. Aircrack-ng破解WPA/WPA2加密WiFi教程(Kali)

    一.说明 以前学Kali,很多人都笑赞“WiFi破解神器”.我很烦,一是我不会破解二是我觉得他们也不会破解三是我隐约觉得所谓的WiFi破解不是什么技术性的操作. 后来基础知识充分了然后弄了个无线网卡, ...

  4. Python日期的加减等操作

    1. 日期输出格式化 所有日期.时间的api都在datetime模块内. 1. datetime => string now = datetime.datetime.now() now.strf ...

  5. php7 数据导出Excel office 2011中文乱码问题

    public function test(){ $data = array( array( 'name' => '对对对', 'score' => 80, 'grade' => '急 ...

  6. (淘宝无限适配)手机端rem布局详解

    从网易与淘宝的font-size思考前端设计稿与工作流 本文结合自己对网易与淘宝移动端首页html元素上的font-size这个属性的思考与学习,讨论html5设计稿尺寸以及前端与设计之间协作流程的问 ...

  7. [HDU6146]Pokémon GO

    Problem 有一个2n的方格矩阵 在一个格子上可以往旁边8个方向走(如果有格子),求有多少方案把2n走完 Solution 我们用Fi表示从一个角出发走遍所有格子回到这一列另外一点的方案数 显然, ...

  8. Julia安装以及使用扩展包package(ERROR: UndefVarError: Pkg not defined)

    刚刚安装好Julia1.0,想进行第一步尝试: Pkg.add("PyPlot") 却出现错误:ERROR: UndefVarError: Pkg not defined 问题描述 ...

  9. 解决jmeter乱码

    1. 解决响应数据乱码的方法:     在jemter文件下找到bin\jmeter.properties添加下面一句话:    sampleresult.default.encoding=UTF-8 ...

  10. 前端修炼の道 | <div> 标签简介

    <div> 标签是最基本的,同时也是最常用的标签. 该标签是一个双标签,出现在主体区域中,主要作为一个容器标签来使用,在 <div> 标签中可以包含除 <body> ...