无忧启动论坛

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

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

  [复制链接]
跳转到指定楼层
1#
发表于 2017-3-15 19:48:59 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
CGI还原wim文件到电脑,修复引导会出现引导菜单,也就是重启后会出现2个windows7的菜单,等待30秒,不管选择哪一个都可以启动,我自己实验了下,用CGI恢复影像不修复引导,就不会出现2个菜单的现象.然后我手动运行bcdboot C:\windows /s C: /f bios /l zh-cn,修复引导会出现2个引导菜单。系统是用es4封装的,经过试验,在封装的虚拟机上安装则不会出现,只有换一个电脑或者虚拟机才会出现这种现象。该如何解决呢?是CGI的问题吗
2#
 楼主| 发表于 2017-3-15 20:24:30 | 显示全部楼层
helloman 发表于 2017-3-15 20:17
有点儿不明白,如果CGI还原后可以直接引导进入系统,为什么还要修复引导呢?

自动修复引导是默认选中的嘛,不选他的话可以直接进系统,选了他的话,也能进系统,只是bcd文件里面多了一个引导信息,也就是开机的时候会出现选择菜单
回复

使用道具 举报

3#
 楼主| 发表于 2017-3-15 20:29:36 | 显示全部楼层
frg521 发表于 2017-3-15 20:24
磁盘签名与系统盘位置变化,识别为不同系统。还有就是2个中一个是指定盘启动,一个是从boot目录所在盘启动 ...

你说对了,确实是要换电脑部署才会出现,不过用IT天空的EIX就不会,我封装的系统肯定是要部署到不同的电脑上使用,想统一不修复引导,但是如果遇到前面有100M隐藏分区的电脑,还是得修复才行,不修复没法引导的,是不是EIX对于这种情况没有执行修复引导,而对于有100M隐藏分区的电脑或者UEFI 的电脑才执行引导修复?
回复

使用道具 举报

4#
 楼主| 发表于 2017-3-15 20:37:46 | 显示全部楼层
本帖最后由 chenmaochun 于 2017-3-15 20:40 编辑


如图所示,ES4封装后,BCD已经变成VHD了,这个BCD其实可以引导任何的计算机,如果执行bcdboot C:\windows /s C: /f bios /l zh-cn这个命令的话,就会自动再建立一个windows7的条目,设备类型变成第一个,也就是分区,这样重启后就会出现引导菜单了,这个是CGI的BUG吧?只要选择了修复引导,CGI都会执行bcdboot C:\windows /s C: /f bios /l zh-cn这个命令,因为我开了开源的CGI3.0.2的源代码,修复引导确实是执行的上面的命令
回复

使用道具 举报

5#
 楼主| 发表于 2017-3-15 21:38:53 | 显示全部楼层
无厘尾 发表于 2017-3-15 21:37
把ESP分区 格式化    ( 可以在pe下***格 格了后一般是fat16格式)    然后你再CGI还原 恢复引导就不会有了 ...

我说的是在bios+mbr的模式下安装系统会出现,UEFI+GPT不会出现
回复

使用道具 举报

6#
 楼主| 发表于 2017-3-15 21:52:08 | 显示全部楼层
查阅了大量资料,做了大量实践,我现在基本可以确认是CGI的一个BUG了,因为CGI在BIOS+mbr的情况下,修复引导是粗暴的执行了bcdboot C:\windows /s C: /f bios /l zh-cn和bootsect /nt60两个命令(我看了开源的代码,里面确实是执行的这两个命令),他没有判断分区里面是否有100M隐藏分区,实际上有100M 隐藏分区的话,还是得执行两个命令才行,如果没有隐藏分区的话,则只需要执行bootsect /nt60就行了,我没有勾选自动修复引导,也能成功引导,是因为那个计算机以前就是安装的WIN7系统,如果原来系统是XP的话,装了WIN7,没有执行bootsect /nt60这个的话,应该也是不能引导的。个人能力有限,修复不了这个BUG,不知道有没有大大能够给出修复后的CGI.wcz文件
回复

使用道具 举报

7#
 楼主| 发表于 2017-3-15 22:15:43 | 显示全部楼层
本帖最后由 chenmaochun 于 2017-3-15 22:18 编辑


上面是修复前的bcd菜单

上面是修复后的菜单一和菜单二
下面是被修复后的bcd文件
BCD.rar (4.25 KB, 下载次数: 27)
回复

使用道具 举报

8#
 楼主| 发表于 2017-3-15 22:23:24 | 显示全部楼层
我目前的做法是在BIOS + mbr的模式下删除了CGI.wcz中bcdboot C:\windows /s C: /f bios /l zh-cn该命令的相关代码,保留bootsect /nt60相关代码,这么做就不会产生2个菜单,坏处就是遇到有100M引导分区的电脑程序没法自动修复引导了,还好现在这种电脑不多,看到了也能手工进行处理,编程方面,我也只略懂皮毛,看代码勉强能看懂,修复BUG确实没那实力
回复

使用道具 举报

9#
 楼主| 发表于 2017-3-16 15:37:19 | 显示全部楼层
jqrung 发表于 2017-3-16 14:07
原来你也碰到了 ,我一直以为就我一个人有这个问题。 不过兄弟你现在咋解决这个问题的。

删除了CGI.wcz中bcdboot C:\windows /s C: /f bios /l zh-cn该命令的相关代码,保留bootsect /nt60相关代码,这么做就不会产生2个菜单,坏处就是遇到有100M引导分区的电脑程序没法自动修复引导了

点评

额 我打算换DISM++试试。。。  详情 回复 发表于 2017-3-16 17:04
回复

使用道具 举报

10#
 楼主| 发表于 2017-3-16 19:46:27 | 显示全部楼层
frg521 发表于 2017-3-16 16:49
修复前删除所有菜单,不就可以放心修复了?反正你只要一个功能,就是添加nt6菜单,但是你要安到vhd虚拟硬盘 ...

默认的菜单是通用的啊
回复

使用道具 举报

11#
 楼主| 发表于 2017-3-16 20:12:05 | 显示全部楼层
frg521 发表于 2017-3-16 19:57
如果通用那你还怕100M?
说明只是能启动bcd所在盘系统

启动分区和系统分区不在一起的情况,你再通用也启动不了啊

点评

一招制胜: 在windows 7 部署某阶段某批处理运行一次:“BCDEdit /timeout 0”,就看不到启动菜单了。给人的感觉就是直接引导Windows,不管你修复不修复。 理由: 1、还在使用 封装再部署型OS的人,根本就  详情 回复 发表于 2017-3-17 13:12
回复

使用道具 举报

12#
 楼主| 发表于 2017-4-21 17:46:35 | 显示全部楼层
yangguangtus 发表于 2017-4-21 16:33
我用CGI装过多次系统,出现过不格式化系统分区的情况,不知道是不是BUG。

另外,请教楼主,在CGI编程中 ...

用代码搜索主分区(GPT)或者主分区+活动分区,自动选择啊。这种一般不是100%准确,主要是双硬盘的情况下不准确。另外我自己写了一个安装软件,没有CGI修复引导这个BUG,你可以下载试用下。

点评

谢谢。。。 下载试试。。。  详情 回复 发表于 2017-4-21 18:05
回复

使用道具 举报

13#
 楼主| 发表于 2017-12-5 19:25:27 | 显示全部楼层
527104427 发表于 2017-11-26 18:51
试试这个:

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

确实修复了这个问题
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-1 06:56

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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