windows10 克隆系统后怎么重做 uefi 引导? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
baskice
V2EX    问与答

windows10 克隆系统后怎么重做 uefi 引导?

  • &nbs;
  •   baskice 2016-07-30 03:44:51 +08:00 22103 次点击
    这是一个创建于 3436 天前的主题,其中的信息可能已经有所发展或是发生改变。
    系统装在小硬盘里,现在需要格式化掉做其他用途。

    把系统用 分区助手 从小硬盘克隆到大硬盘的一个分区。结果没法从大硬盘启动进入系统

    dell 的 bios 里只有小硬盘的 Windows boot manger ,请问要怎么改才能完全从大硬盘引导启动大硬盘?
    13 条回复    2016-07-30 22:46:06 +08:00
    xupefei
        1
    xupefei  
       2016-07-30 03:57:08 +08:00
    正常来讲 .efi 所在的 FAT32 分区会被 BIOS 识别到,无需任何操作。
    你确定当初克隆那个 100MB 的 FAT32 EFI System Partition 了么?
    acess
        2
    acess  
       2016-07-30 05:06:13 +08:00   2
    有三个地方要注意:主板 NVRAM , ESP 分区里的 BCD 文件,还有注册表 MountedDevices 键(应该类似 Linux 下的 fstab 吧)

    在 WinPE ( Windows 安装程序也算, SHIFT+F10 可以调出命令提示符)环境里可以进行操作。

    NVRAM 里的启动项可以用 BOOTICE (作者博客: http://www.ipauly.com/)这个小工具管理,也可以参考微软的指南来清空 NVRAM 里的启动项,同时导入新的启动项,操作相对比较复杂:
    https://technet.microsoft.com/en-us/library/cc749510(v=ws.10).aspx

    ESP 分区里的 BCD 文件用 bcdboot 命令可以重建。可以先在 diskpart 里给 ESP 分区分配盘符(比如分配到 S 盘),然后使用这个命令重建 BCD ,并拷贝其他引导文件:
    bcdboot E:\Windows /s S: /f UEFI /l zh-CN
    这里 E 盘是 WinPE 里看到的,安装了 Windows 的分区,请根据现场状况自行调整。

    注册表的 MountedDevices 键可以用一个小脚本 osletter7.cmd 来处理。
    osletter7.cmd /currentos:E /targetletter:C
    这里 E 盘是 WinPE 里看到的,安装了 Windows 的分区,请根据现场状况自行调整。/targetletter:C 中的盘符 C 表示目标 Windows 启动后使用的盘符,也就是以前“正常开机”后看到的启动卷盘符。
    acess
        3
    acess  
       2016-07-30 05:13:53 +08:00
    UEFI 启动时,主板先根据 NVRAM 里的启动项顺序执行了 Windows Boot Manager , Windows Boot Manager 再根据 BCD 文件里的配置列出启动菜单( Win7 默认行为),或者继续启动 Windows ,进入 Metro 风格的图形界面启动菜单( Win8 以上默认行为)

    bcdboot 命令有一个 /d 参数,加上它就可以保留 BCD 文件里原来就存在的数据。如果你想让 Windows Boot Manager 同时列出多个可以启动的系统,可以使用 /d 参数。

    另外,注意一下,使用 bcdboot 命令(使用 /f ALL 或 /f UEFI 参数时)不仅会修改 BCD 文件,同时也会修改主板 NVRAM 里的启动项(添加 /更新 Windows Boot Manager 这一项)。
    acess
        4
    acess  
       2016-07-30 05:26:48 +08:00   1
    有很重要的一点忘了说了, UEFI 引导规范是需要一个 FAT32 分区做 ESP 分区的。既然你想彻底撇清小硬盘的关系,让系统只从大硬盘上引导,那么大硬盘上必须有一个 FAT32 的 ESP 分区。
    用 diskpart 就可以很方便地创建 ESP 分区,选择磁盘后,这个命令就可以创建一个 128MB 的 ESP 分区:
    create partition efi size=128
    创建完成后格式化为 FAT32 、分配盘符,然后再用 bcdboot 命令设置引导即可。
    msg7086
        5
    msg7086  
       2016-07-30 09:56:43 +08:00
    换个工具。我这里克隆分区完了直接启动一点问题都没。
    虚拟机里就直接两块硬盘从头 dd 完了删掉旧硬盘就行。
    wwqgtxx
        6
    wwqgtxx  
       2016-07-30 10:09:15 +08:00 via Android
    @acess 不过实际上,很多主板也能读取 ntfs 的 efi 引导文件。但是,最好是建立一个 fat16 的 esp 分区引导才是最好的
    jasontse
        7
    jasontse  
       2016-07-30 11:57:34 +08:00 via iPad
    你的大硬盘里需要有 FAT 格式的 ESP 分区,系统会从 \efi\boot\bootx64.efi 开始引导
    yexm0
        8
    yexm0  
       2016-07-30 12:10:38 +08:00 via Android
    同意,我装 win10 时用的 u 盘就是 ntfs 格式的,主板一样能读取到里面的 efi 文件并引导系统。
    seashell
        9
    seashell  
       2016-07-30 12:16:03 +08:00
    创建新的 ESP 分区,删除旧的 ESP 分区,为新 ESP 分区分配卷标令其可见,使用 BCDBOOT 命令写引导,
    例如 bcdboot c:\windows
    pimin
        10
    pimin  
       2016-07-30 12:53:17 +08:00 via Android
    给你推荐个软件, easyuefi
    找个绿色版在 pe 下运行也可以
    baskice
        11
    baskice  
    OP
       2016-07-30 21:26:48 +08:00
    谢谢大家回复,我终于弄明白 UEFI 会有个小引导表直接存在芯片里,指向名为 ESP 的大概几百 MB 的硬盘头部分区,里面的 bcd 文件再写明 windows 路径就可以了。

    但是发现 ssd 的全盘硬件加密兼容 bitlocker 要开启设定后,安全擦除,再完全重装系统才行,克隆的不行。所以最后还是完全重装了 orz
    lslqtz
        12
    lslqtz  
       2016-07-30 22:45:34 +08:00
    @acess 我用 FAT16...
    lslqtz
        13
    lslqtz  
       2016-07-30 22:46:06 +08:00
    用原版 pe 引导, bcdboot 完事。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5415 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 01:47 PVG 09:47 LAX 17:47 JFK 20:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86