无忧启动论坛

标题: CGI还原wim文件到电脑,修复引导会出现引导菜单 [打印本页]

作者: chenmaochun    时间: 2017-3-15 19:48
标题: CGI还原wim文件到电脑,修复引导会出现引导菜单
CGI还原wim文件到电脑,修复引导会出现引导菜单,也就是重启后会出现2个windows7的菜单,等待30秒,不管选择哪一个都可以启动,我自己实验了下,用CGI恢复影像不修复引导,就不会出现2个菜单的现象.然后我手动运行bcdboot C:\windows /s C: /f bios /l zh-cn,修复引导会出现2个引导菜单。系统是用es4封装的,经过试验,在封装的虚拟机上安装则不会出现,只有换一个电脑或者虚拟机才会出现这种现象。该如何解决呢?是CGI的问题吗
作者: helloman    时间: 2017-3-15 20:14
有点儿不明白,如果CGI还原后可以直接引导进入系统,为什么还要修复引导呢?
作者: helloman    时间: 2017-3-15 20:17
有点儿不明白,如果CGI还原后可以直接引导进入系统,为什么还要修复引导呢?
作者: chenmaochun    时间: 2017-3-15 20:24
helloman 发表于 2017-3-15 20:17
有点儿不明白,如果CGI还原后可以直接引导进入系统,为什么还要修复引导呢?

自动修复引导是默认选中的嘛,不选他的话可以直接进系统,选了他的话,也能进系统,只是bcd文件里面多了一个引导信息,也就是开机的时候会出现选择菜单
作者: chenmaochun    时间: 2017-3-15 20:29
frg521 发表于 2017-3-15 20:24
磁盘签名与系统盘位置变化,识别为不同系统。还有就是2个中一个是指定盘启动,一个是从boot目录所在盘启动 ...

你说对了,确实是要换电脑部署才会出现,不过用IT天空的EIX就不会,我封装的系统肯定是要部署到不同的电脑上使用,想统一不修复引导,但是如果遇到前面有100M隐藏分区的电脑,还是得修复才行,不修复没法引导的,是不是EIX对于这种情况没有执行修复引导,而对于有100M隐藏分区的电脑或者UEFI 的电脑才执行引导修复?
作者: fjzjk    时间: 2017-3-15 20:29
我也有碰到这种情况。我还以为是我用EIX打包wim导致的

作者: chenmaochun    时间: 2017-3-15 20:37
本帖最后由 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的源代码,修复引导确实是执行的上面的命令
作者: 无厘尾    时间: 2017-3-15 21:37
把ESP分区 格式化    ( 可以在pe下***格 格了后一般是fat16格式)    然后你再CGI还原 恢复引导就不会有了   不用你那个长长的命令行
作者: chenmaochun    时间: 2017-3-15 21:38
无厘尾 发表于 2017-3-15 21:37
把ESP分区 格式化    ( 可以在pe下***格 格了后一般是fat16格式)    然后你再CGI还原 恢复引导就不会有了 ...

我说的是在bios+mbr的模式下安装系统会出现,UEFI+GPT不会出现
作者: chenmaochun    时间: 2017-3-15 21:52
查阅了大量资料,做了大量实践,我现在基本可以确认是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文件
作者: chenmaochun    时间: 2017-3-15 22:15
本帖最后由 chenmaochun 于 2017-3-15 22:18 编辑


上面是修复前的bcd菜单

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

作者: 俊采星驰    时间: 2017-3-15 22:17
看需要了,非bootmgr直接引导的情况下,一修复还乱套。bios情况,一般在PE下先用bootoce观察下写入MBR的引导程序是啥,再决定修复与否。或者手动用bootice写引导,编辑bcd,有时可能要提前准备boot.sdi等启动文件以备复制。多手动试几次,比直接用工具更有助于理解启动机制。
作者: chenmaochun    时间: 2017-3-15 22:23
我目前的做法是在BIOS + mbr的模式下删除了CGI.wcz中bcdboot C:\windows /s C: /f bios /l zh-cn该命令的相关代码,保留bootsect /nt60相关代码,这么做就不会产生2个菜单,坏处就是遇到有100M引导分区的电脑程序没法自动修复引导了,还好现在这种电脑不多,看到了也能手工进行处理,编程方面,我也只略懂皮毛,看代码勉强能看懂,修复BUG确实没那实力
作者: SGZOU    时间: 2017-3-16 13:58
CGI的老毛病.一直就这样.现在基本不用了.最强的就是WINNTSETUP
作者: jqrung    时间: 2017-3-16 14:07
原来你也碰到了 ,我一直以为就我一个人有这个问题。 不过兄弟你现在咋解决这个问题的。
作者: chenmaochun    时间: 2017-3-16 15:37
jqrung 发表于 2017-3-16 14:07
原来你也碰到了 ,我一直以为就我一个人有这个问题。 不过兄弟你现在咋解决这个问题的。

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

额 我打算换DISM++试试。。。
作者: chenmaochun    时间: 2017-3-16 19:46
frg521 发表于 2017-3-16 16:49
修复前删除所有菜单,不就可以放心修复了?反正你只要一个功能,就是添加nt6菜单,但是你要安到vhd虚拟硬盘 ...

默认的菜单是通用的啊
作者: chenmaochun    时间: 2017-3-16 20:12
frg521 发表于 2017-3-16 19:57
如果通用那你还怕100M?
说明只是能启动bcd所在盘系统

启动分区和系统分区不在一起的情况,你再通用也启动不了啊
作者: chiannet    时间: 2017-3-17 13:12
本帖最后由 chiannet 于 2017-3-17 13:15 编辑
chenmaochun 发表于 2017-3-16 20:12
启动分区和系统分区不在一起的情况,你再通用也启动不了啊


一招制胜:

在windows 部署某阶段某批处理运行一次:“BCDEdit /timeout 0”,就看不到启动菜单了。给人的感觉就是直接引导Windows,不管你修复不修复。

理由:

1、还在使用 封装再部署型OS的人,根本就是不挑剔或不懂的人,别人给他/她装个啥玩意,他/她就用啥玩意,退一万步说,这也没啥恶意或明显的坏处。

2、实在有高级需求的用户,自己绝对也会编辑BCD,该删除的会自己删,不麻烦装机师傅操碎这个心。
作者: weichushu    时间: 2017-3-20 14:59
ddddddddddddd
作者: yangguangtus    时间: 2017-4-21 16:33
本帖最后由 yangguangtus 于 2017-4-21 16:36 编辑

我用CGI装过多次系统,出现过不格式化系统分区的情况,不知道是不是BUG。

另外,请教楼主,在CGI编程中是如何实现自动选择系统分区的?系统分区指的是安装系统的分区。
作者: chenmaochun    时间: 2017-4-21 17:46
yangguangtus 发表于 2017-4-21 16:33
我用CGI装过多次系统,出现过不格式化系统分区的情况,不知道是不是BUG。

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

用代码搜索主分区(GPT)或者主分区+活动分区,自动选择啊。这种一般不是100%准确,主要是双硬盘的情况下不准确。另外我自己写了一个安装软件,没有CGI修复引导这个BUG,你可以下载试用下。
作者: yangguangtus    时间: 2017-4-21 18:05
chenmaochun 发表于 2017-4-21 17:46
用代码搜索主分区(GPT)或者主分区+活动分区,自动选择啊。这种一般不是100%准确,主要是双硬盘的情况下 ...

谢谢。。。
下载试试。。。
作者: jmjmbj    时间: 2017-8-21 22:32
看来还是GHO通用,对于没有100M的来说

不过,也要琢磨备份成WIM。 用WINNTSETUP好像也能安装吧?
作者: linkin129    时间: 2017-8-22 20:57
BIOS + mbr 为什么还会有100M隐藏引导分区?
作者: vaf    时间: 2017-8-22 22:07
老问题, 所以, 我不修复.
作者: 江南一根葱    时间: 2017-8-27 18:33
老问题了,刚用cgi就试出来了。。
现在我是efi安装,要勾修复,bios的,不勾,
所以其实,解决访问就是cgi默认不要选中修复
作者: 527104427    时间: 2017-11-26 18:51
试试这个:

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


作者: 2012zhd    时间: 2017-11-26 21:20
527104427 发表于 2017-11-26 18:51
试试这个:

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

5帅又更新了,辛苦了。
作者: chenmaochun    时间: 2017-12-5 19:25
527104427 发表于 2017-11-26 18:51
试试这个:

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

确实修复了这个问题




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3