无忧启动论坛

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

[已解决] 如何用G4D替换文件。。。

[复制链接]
跳转到指定楼层
1#
发表于 2010-12-23 15:45:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因为想加个还原菜单到BCD里面,想法是这样的:

电脑启动,选还原菜单,自动替换某个文件,比如:C:\My_BOOT\WIN7_X86.VHD_BAK替换掉C:\My_BOOT\WIN7_X86.VHD,替换完后找bootmgr启动WIN7,这样就可以不用进PE来进行还原了。

自己对G4D的命令实在是一窍不通,所以请大大们给个实例,先多谢了!

[ 本帖最后由 0cat0 于 2010-12-24 12:45 编辑 ]
2#
发表于 2010-12-23 17:10:02 | 只看该作者
如果是FAT文件系统,直接用FAT的COPY命令,其它的就不行了.
回复

使用道具 举报

3#
 楼主| 发表于 2010-12-23 17:18:01 | 只看该作者
多谢C大来解答,安装VHD版的WIN7系统用的是NTFS格式的,不知道还有没有其它能行得通的方法?
回复

使用道具 举报

4#
 楼主| 发表于 2010-12-23 17:26:16 | 只看该作者
C大,另外看了WENV的帮助文件,想到如果把整个文件保存成变量然后写到指定的文件不知道可行否?看了一下帮助文件WENV的变量大概30K,可一个空的VHD就要100多K,不知道还有没有其它的办法?
回复

使用道具 举报

5#
发表于 2010-12-23 17:41:27 | 只看该作者
目前除了FAT外命命令以外,GRUB4DOS的写文件都是在原有文件的基础上改写的.....
如果文件大小一样的话可以用DD直接写入.否则就没有什么用处了..
你可以试试类似如下的命令..
把bcd.bak写入到bcd中.
dd if=(hd0,0)/boot/bcd.bak of=(hd0,0)/boot/bcd

注意两个文件要一样大小,否则可能导致系统启动失败.目标文件比来源文件大应该也行,你可以试一下.
回复

使用道具 举报

6#
 楼主| 发表于 2010-12-23 18:04:27 | 只看该作者

回复 #5 chenall 的帖子

多谢C大提供用dd的方法,等有时间的时候我试试,可能我没说明白,我要替换的不是BCD文件,而是VHD文件,一个空的文件就100多K,已有的VHD可能会有十几个G,按你说的“目标文件来源文件大应该可以”,这样就可以试试了。。。
回复

使用道具 举报

7#
 楼主| 发表于 2010-12-23 19:01:31 | 只看该作者
原帖由 chenall 于 2010-12-23 17:41 发表
目前除了FAT外命命令以外,GRUB4DOS的写文件都是在原有文件的基础上改写的.....
如果文件大小一样的话可以用DD直接写入.否则就没有什么用处了..
你可以试试类似如下的命令..
把bcd.bak写入到bcd中.
dd if=(h ...



回C大,实验不成功,小的往大的地方写,显示成功,但目标文件的大小不变,截图:

2010-12-23_190045.png (6.38 KB, 下载次数: 279)

2010-12-23_190045.png

2010-12-23_185923.png (32.01 KB, 下载次数: 268)

2010-12-23_185923.png
回复

使用道具 举报

8#
 楼主| 发表于 2010-12-23 19:06:11 | 只看该作者
大的往小的写也跟楼上的效果一样,目标文件的大小不变,不知道C大还有没有什么好方法?
回复

使用道具 举报

9#
发表于 2010-12-23 19:40:23 | 只看该作者
本来就不变的啊,但是你可以试试启动它也许可以直接使用。
回复

使用道具 举报

10#
 楼主| 发表于 2010-12-24 09:38:03 | 只看该作者
原帖由 <i>chenall</i> 于 2010-12-23 19:40 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=2119160&ptid=183850" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open(this.src);}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
本来就不变的啊,但是你可以试试启动它也许可以直接使用。
<br />


多谢C大,实验成功,小的往大的写可以引导成功,大的往小的写不行。

但现在有个问题,小的往大的写成功了,但目标文件的大小不会变小,这样即使替换成功也没有意义了,有什么办法能实现1:1的替换吗?
回复

使用道具 举报

11#
 楼主| 发表于 2010-12-24 09:47:43 | 只看该作者
又试了几次,原来目标文件会变小,呵呵,太感谢C大了,这回可以不用进PE就能还原WIN7的VHD版了,呵呵。。。
回复

使用道具 举报

12#
 楼主| 发表于 2010-12-24 11:52:21 | 只看该作者
最后,附上自己的G4D菜单:

timeout 0
default 0

title
find --set-root --ignore-floppies --ignore-cd /My_BOOT/WIN7_X86.VHD
dd if=()/My_BOOT/WIN7_X86.VHD_DD of=()/My_BOOT/WIN7_X86.VHD
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /BOOTMGR


下面是BCD截图:

2010-12-24_115122.png (33.25 KB, 下载次数: 269)

2010-12-24_115122.png
回复

使用道具 举报

13#
发表于 2010-12-24 13:31:10 | 只看该作者
太好了,昨天晚上我还在整IFS来解决这个问题,用了两个软盘镜像一,
也希望GRUB能有NTFS下文件复制及删除命令
现在就用这样的方法也能达到要求了,很好!   
回复

使用道具 举报

14#
发表于 2010-12-24 14:13:17 | 只看该作者
原帖由 0cat0 于 2010-12-24 09:47 发表
又试了几次,原来目标文件会变小,呵呵,太感谢C大了,这回可以不用进PE就能还原WIN7的VHD版了,呵呵。。。


GRUB4DOS不会主动改变原文件大小(用FAT命令除外)

自动变小是因为系统自动处理的.
回复

使用道具 举报

15#
 楼主| 发表于 2010-12-24 14:31:42 | 只看该作者

回复 #14 chenall 的帖子

这个知道,替换后的文件大小是不变的,进入系统后,因为做的是差分系统,所以系统会自己处理,变相的达到了我想要的效果了,呵呵。。。

如果给别人装机,我会直接给他们加个这种秒还原的菜单,这样就方便了。。。

对了,C大还想问个问题,我上面的菜单是替换后直接还回启动菜单,如果不想返回菜单而是直接启动NT6.X,要怎么改呢???
回复

使用道具 举报

16#
发表于 2010-12-24 15:47:26 | 只看该作者
原帖由 0cat0 于 2010-12-24 14:31 发表
这个知道,替换后的文件大小是不变的,进入系统后,因为做的是差分系统,所以系统会自己处理,变相的达到了我想要的效果了,呵呵。。。

如果给别人装机,我会直接给他们加个这种秒还原的菜单,这样就方便了。 ...



启动BOOTMGR不启动NT6吗?那是你的BCD顺序问题把BCD也备份/恢复一下就可以了.
回复

使用道具 举报

17#
 楼主| 发表于 2010-12-24 16:49:41 | 只看该作者

回复 #16 chenall 的帖子

又是我没说明白,我现在这个是替换VHD后返回菜单,因为菜单会显示9秒才启动NT6,我是想直接替换后不返回菜单(也就是不显示那9秒)直接进入NT6系统,不知道要怎么改才可以?
回复

使用道具 举报

18#
发表于 2010-12-24 16:56:33 | 只看该作者
我还是没看明白,只要启动了BOOTMGR其它的就不是GRUB4DOS所能控制的了.

这个是你自己处理的问题.
回复

使用道具 举报

19#
 楼主| 发表于 2010-12-24 16:59:41 | 只看该作者

回复 #18 chenall 的帖子

呵呵,因为之前C大你不是出品过NTBOOT吗,用NTBOOT启动NT6都是直接进入的,但NTBOOT里面的菜单我看过,看不懂,所以想问一下C大,怎么改我上面的菜单才能像NTBOOT一样,不显示原来BCD的菜单,进入NT6系统
回复

使用道具 举报

20#
发表于 2010-12-24 17:06:24 | 只看该作者
原帖由 0cat0 于 2010-12-24 16:59 发表
呵呵,因为之前C大你不是出品过NTBOOT吗,用NTBOOT启动NT6都是直接进入的,但NTBOOT里面的菜单我看过,看不懂,所以想问一下C大,怎么改我上面的菜单才能像NTBOOT一样,不显示原来BCD的菜单,进入NT6系统


NTBOOT里面的BCD是特别处理过的,也只能用于NTBOOT.

要么你调用NTBOOT进入,否则除了上面的就没有其它办法了.
回复

使用道具 举报

21#
 楼主| 发表于 2010-12-24 17:10:39 | 只看该作者

回复 #20 chenall 的帖子

多谢C大解答,这回明白了,那就先放弃这个想法了,呵呵。。。
回复

使用道具 举报

22#
发表于 2010-12-25 00:37:58 | 只看该作者
title 1 Rebuild Your VHD SYSTEM
WENV set name=$input,Enter Your name : || fallback --go 3
WENV get name || fallback --go 3
WENV run find --set-root --ignore-cd --ignore-floppies /${name}.vhd || fallback --go 2
dd if=()/win7bak.vhd of=()/${name}.vhd
fallback --go 3

提示dd找不到文件
dd命令中不支持参数么

点评

大侠 你菜单的意思-----是不是在G4D菜单 中完成 备份VHD直接覆盖即将启动的vhd????? 求指教!!!!  详情 回复 发表于 2020-3-28 10:51

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

回复

使用道具 举报

23#
发表于 2010-12-25 08:26:21 | 只看该作者
从来就不曾支持变量参数...........

使用变量是外部命令WENV的功能.你必须使用WENV调用才可以和变量.
回复

使用道具 举报

24#
发表于 2010-12-25 08:57:20 | 只看该作者
谢谢指点
前面加上wenv run就可以了
回复

使用道具 举报

25#
发表于 2011-1-1 13:57:04 | 只看该作者
正在研究VHD,呵呵,LZ问的问题也是我想解决的问题,不过,请楼主改一下题目,要明确是VHD还原的问题。

你们的讨论似乎结束了,我来“升温”吧。

1. 替换完文件直接启动差分VHD的问题,这个可以通过修改BOOTMGR(使用时将其改名),让其调用"BDC",而非BCD,这样就可以了,如何修改请找相关贴子(搜索关键字"BOOTMGR").

2. 如果不用这个方法可以考虑用omnifs工具,不过这要进G4D再进IMG,操作起来麻烦。对比用DD命令,此方法可抛弃。

昨天想通过启动WINRE.WIM来进行恢复了,后来感觉太麻烦。

[ 本帖最后由 victor888 于 2011-1-1 14:24 编辑 ]
回复

使用道具 举报

26#
发表于 2011-1-25 00:14:56 | 只看该作者
我就是用的OMNIFS配合G4D NTBOOT来操作  快速还原 快速复制一个子VHD  让不同的用户用不同的子VHD来启动电脑 真正的一机多用户  不知道别人的VHD的名字就不能启动别人的系统  安全 独立  全部放到隐藏分区   硬盘不坏 引导不丢失 就没系统出问题的烦恼  非常完美了
DD命令只能输出到存在的文件上,经多次测试在NTFS上不稳定 偶尔会造成文件出错或丢失
回复

使用道具 举报

27#
发表于 2020-3-28 10:51:05 | 只看该作者
xiaoy 发表于 2010-12-25 00:37
title 1 Rebuild Your VHD SYSTEM
WENV set name=$input,Enter Your name : || fallback --go 3
WENV get ...

大侠 你菜单的意思-----是不是在G4D菜单 中完成 备份VHD直接覆盖即将启动的vhd?????
求指教!!!!

点评

是的 很多年前的玩意 早就没有用了  详情 回复 发表于 2020-3-28 22:08
回复

使用道具 举报

28#
发表于 2020-3-28 22:08:23 | 只看该作者
879792799 发表于 2020-3-28 10:51
大侠 你菜单的意思-----是不是在G4D菜单 中完成 备份VHD直接覆盖即将启动的vhd?????
求指教!!! ...

是的  很多年前的玩意   早就没有用了

点评

嗯嗯 谢谢 大大指点 !!!! 我正好需要这技术!!!  详情 回复 发表于 2020-3-30 08:00

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

回复

使用道具 举报

29#
发表于 2020-3-30 08:00:52 | 只看该作者
xiaoy 发表于 2020-3-28 22:08
是的  很多年前的玩意   早就没有用了

嗯嗯 谢谢 大大指点 !!!!  我正好需要这技术!!!
回复

使用道具 举报

30#
发表于 2020-6-25 14:48:40 | 只看该作者
xiaoy 发表于 2020-3-28 22:08
是的  很多年前的玩意   早就没有用了

大神,弄一个在UEFI中可以秒还原vhd的应用吧。小白跪求。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 18:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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