无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
12
返回列表 发新帖
楼主: chenmaochun
打印 上一主题 下一主题

[求助] CGI还原wim文件到电脑,修复引导会出现引导菜单

  [复制链接]
31#
 楼主| 发表于 2017-12-5 19:25:27 | 只看该作者
527104427 发表于 2017-11-26 18:51
试试这个:

http://blog.sina.com.cn/s/blog_6fd804fe0102wtow.html

确实修复了这个问题
回复

使用道具 举报

32#
发表于 20 小时前 | 只看该作者
本帖最后由 jbz85 于 2025-9-18 01:34 编辑
chenmaochun 发表于 2017-3-15 21:52
查阅了大量资料,做了大量实践,我现在基本可以确认是CGI的一个BUG了,因为CGI在BIOS+mbr的情况下,修复引 ...

_SUB FixMBRBCD
     //如果硬盘MBR分区时划分引导分区和系统分区两个分区,则引导分区必定是活动分区,系统分区不是活动分区才能引导系统启动
     //判定还原时选择的盘符与活动分区是否一致,一致则表示引导和系统在一个分区, 不一致则表示引导和系统在不同分区
     //引导文件和系统文件在<同一个分区>时执行
     FIND $%&PARTSEL2%=%&ActiveDrv%,!
      {
       EXEC =!BOOTSECT.EXE /nt60 %&ActiveDrv%
       EXIT _SUB
      }
     //引导文件和系统文件在<不同分区>时执行
     FIND $%&PARTSEL2%=%&ActiveDrv%,!
      {
       EXEC =!BCDBOOT.EXE %&PARTSEL2%\Windows /s %&ActiveDrv% /f BIOS /l zh-CN
       EXEC =!BOOTSECT.EXE /nt60 %&ActiveDrv%
       EXIT _SUB
      }
_END
可以试一下,我这边还没测试,应该没问题...这种适合简单情况,多硬盘看情况了,多硬盘必须把不要需要的分区取消激活和主分区...如果是多硬盘有引导分区和系统分区同时存在一个分区和两个分区的复杂情况,除了手动选择盘符外,别的基本没什么好办法,自动识别有点难
回复

使用道具 举报

33#
发表于 20 小时前 | 只看该作者
chenmaochun 发表于 2017-3-15 22:23
我目前的做法是在BIOS + mbr的模式下删除了CGI.wcz中bcdboot C:\windows /s C: /f bios /l zh-cn该命令的相 ...

本来想上传图片的,还得上传到别的网站....贴源码算了
//WIM/ESD还原-修复引导-获取激活系统的分区
_SUB GetActivePartition
    TEAM ENVI &&vln=|ENVI &&A1=|ENVI &&A2=|ENVI &&A9=|ENVI &&E1=|ENVI &&E2=
    FORX *NL &vFORM,&vln,
     {
      MSTR* &A1,&A2,&A9=<1><2><9>%&vln%
      IFEX $%&A9% = 1,
       {
        LPOS &E1=:,1,%&A1%
        CALC #&E1 = %&E1% - 1
        LSTR &E2=%&E1%,%&A1%
        IFEX $%&E2% = %&TDrvNum%, TEAM ENVI &ActiveDrv=%&A2%|EXIT _SUB
       }
     }
_END

//WIM/ESD还原-开始修复Win7/8/10/11系统Boot引导
_SUB FixMBRBCD
     //如果硬盘MBR分区时划分引导分区和系统分区两个分区,则引导分区必定是活动分区,系统分区不是活动分区才能引导系统启动
     //判定还原时选择的盘符与活动分区是否一致,一致则表示引导和系统在一个分区, 不一致则表示引导和系统在不同分区
     //引导文件和系统文件在<同一个分区>时执行
     FIND $%&PARTSEL2%=%&ActiveDrv%,!
      {
       EXEC =!BOOTSECT.EXE /nt60 %&ActiveDrv%
       EXIT _SUB
      }
     //引导文件和系统文件在<不同分区>时执行
     FIND $%&PARTSEL2%=%&ActiveDrv%,!
      {
       EXEC =!BCDBOOT.EXE %&PARTSEL2%\Windows /s %&ActiveDrv% /f BIOS /l zh-CN
       EXEC =!BOOTSECT.EXE /nt60 %&ActiveDrv%
       EXIT _SUB
      }
_END

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-9-18 21:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表