无忧启动论坛

标题: 2 [打印本页]

作者: zcex1986    时间: 2017-4-6 19:51
标题: 2
本帖最后由 zcex1986 于 2019-11-22 15:01 编辑


作者: mysxbg2000    时间: 2017-4-7 07:29
用grub4dos 自带的 dd命令  可以实现还原

title re_win7.vhd.bak
password=1234
find --set-root --devices=h /VHD/win7.vhd.bak
dd if=()/VHD/win7.vhd.bak of=()/VHD/win7.vhd
find --set-root /bootmgr
chainloader /bootmgr

作者: 不知    时间: 2017-4-7 08:26
mysxbg2000 发表于 2017-4-7 07:29
用grub4dos 自带的 dd命令  可以实现还原

title re_win7.vhd.bak

dd命令不能改变文件大小。实际还原之后,文件不会变小。
作者: wwwsdzsgov    时间: 2017-4-7 08:38
应该可以直接运行吧

我menu菜单里有个批处理,设置好路径和文件名是直接运行的。
你试试?


作者: zcex1986    时间: 2017-4-7 19:50
wwwsdzsgov 发表于 2017-4-7 08:38
应该可以直接运行吧

我menu菜单里有个批处理,设置好路径和文件名是直接运行的。

在哪儿呢大神!我找不到!
作者: zcex1986    时间: 2017-4-7 19:51
不知 发表于 2017-4-7 08:26
dd命令不能改变文件大小。实际还原之后,文件不会变小。

我擦,这么强大,大小不变都可以还原。这是什么原理?
作者: 有阴也有阳    时间: 2017-4-7 23:50
你的系统有ESP分区吗?
作者: 2013feng901012    时间: 2017-4-8 00:24
本帖最后由 2013feng901012 于 2017-4-13 13:52 编辑
不知 发表于 2017-4-7 08:26
dd命令不能改变文件大小。实际还原之后,文件不会变小。


更正,后续已经给出实际测试结果

楼上用的bootmgr引导vhd,我的是ntboot
菜单如下

title 启动1.vhd系统
find --set-root /efi/ntboot
/efi/ntboot nt6=/1.vhd
boot

title 启动1.vhd系统恢复模式
find --set-root /0.vhd
dd if=()/0.vhd of=()/1.vhd
find --set-root /efi/ntboot
/efi/ntboot nt6=/1.vhd
boot
作者: wwwsdzsgov    时间: 2017-4-8 07:23
zcex1986 发表于 2017-4-7 19:50
在哪儿呢大神!我找不到!

我给我用的menu菜单加了个批处理,目的是随机 选择启动背景图,这样每次启动都不一样。
这个批处理是放在menu菜单里直接运行的,没有其他命令,所以我猜批处理在grub4dos环境下是可以直接运行的。
你可以先直接运行你的批处理试试,不行的话再找其他方法。
作者: 不知    时间: 2017-4-8 10:08
2013feng901012 发表于 2017-4-8 00:24
实测dd命令可以替换文件,也会改变大小。前提是输入和输出文件都存在。

楼上用的bootmgr引导vhd,我 ...

用dd还原后,试一下不进vhd系统,到pe去看才知道大小改变没,不过还原效果应该是有的。
作者: 2013feng901012    时间: 2017-4-8 10:31
不知 发表于 2017-4-8 10:08
用dd还原后,试一下不进vhd系统,到pe去看才知道大小改变没,不过还原效果应该是有的。


你的意思是,dd还原后,拆分备份,和使用的拆分,文件大小都没变吗
这个还没没还原后进pe去看,不过还原的效果是有的
自用的vhd是固定大小8g,拆分备份89k,使用中的拆分,进vhd显示8g。
grub4dos菜单用dd还原后,可以达到恢复备份的目的,一般我就直接进vhd了。然后再进pe,拆分vhd显示实际使用大小
作者: 不知    时间: 2017-4-8 11:33
2013feng901012 发表于 2017-4-8 10:31
你的意思是,dd还原后,拆分备份,和使用的拆分,文件大小都没变吗
这个还没没还原后进pe去看,不过还 ...

我以前用dd做字符拷贝时就要考虑文件大小。不过vhd还原效果达到了就行。
作者: 有阴也有阳    时间: 2017-4-8 12:20
        对grub4dos调用批处理我是一窍不通,从没用过,不知该怎样调用,想了一变通的法子:

        用grub4dos调用MS—DOS,用MS—DOS执行AUTOEXEC.BAT,AUTOEXEC.BAT的内容:

XCOPY bak\WIN10_VHD_CHILD.VHDX /h /y
PAUSE

        但启动U盘里没有WIN10_VHD_CHILD.VHD文件——只是大概试一下,下面是运行效果图:

        


         不知这个思路可否能帮到楼主?

作者: zcex1986    时间: 2017-4-10 13:32
有阴也有阳 发表于 2017-4-8 12:20
对grub4dos调用批处理我是一窍不通,从没用过,不知该怎样调用,想了一变通的法子:

        用 ...

哇塞,大神太厉害了。快教教我怎么弄!我不知道怎么调用!
作者: zcex1986    时间: 2017-4-10 13:33
有阴也有阳 发表于 2017-4-7 23:50
你的系统有ESP分区吗?

没有esp分区
作者: zcex1986    时间: 2017-4-10 13:39
mysxbg2000 发表于 2017-4-7 07:29
用grub4dos 自带的 dd命令  可以实现还原

title re_win7.vhd.bak

哇塞,厉害了我的大神!还可以带密码!
这些个命令我都不太懂什么意思!
能帮我注释下吗?谢谢了!
作者: zcex1986    时间: 2017-4-10 13:44
2013feng901012 发表于 2017-4-8 00:24
实测dd命令可以替换文件,也会改变大小。前提是输入和输出文件都存在。

楼上用的bootmgr引导vhd,我 ...

/efi/ntboot nt6=/1.vhd
这是UEFI启动的方式吗?
我不太懂啊大神,小弟菜鸟!

作者: zcex1986    时间: 2017-4-10 13:45
wwwsdzsgov 发表于 2017-4-8 07:23
我给我用的menu菜单加了个批处理,目的是随机 选择启动背景图,这样每次启动都不一样。
这个批处理是放 ...

快教教我怎么随机改壁纸的!你太牛了大神!
作者: 2013feng901012    时间: 2017-4-10 14:33
zcex1986 发表于 2017-4-10 13:44
/efi/ntboot nt6=/1.vhd
这是UEFI启动的方式吗?
我不太懂啊大神,小弟菜鸟!

这个是调用ntboot来引导vhd,是bios引导的。
如果是uefi引导,那么修改\efi\microsoft\boot\bcd文件来引导vhd即可
如果是用bootice修改上述路径的bcd,添加完vhd引导选项后,注意引导文件要手动
修改exe为efi,图是我手动修改后的,

1.png (46.7 KB, 下载次数: 145)

1.png

作者: wwwsdzsgov    时间: 2017-4-10 15:03
zcex1986 发表于 2017-4-10 13:45
快教教我怎么随机改壁纸的!你太牛了大神!

menu文件夹都给你
这个不是我原创的,是很多年前 抄别人的。


timeout 30
default 5
()/MENU/MESS ()/MENU/MESSAGE/MESSAGE
configfile ()/MENU/MENU.LST

mess文件就是那个批处理
message文件放在message文件夹里

MENU.haozip01.7z (3 MB, 下载次数: 44)

MENU.haozip02.7z (902.42 KB, 下载次数: 41)






作者: 有阴也有阳    时间: 2017-4-10 16:16
zcex1986 发表于 2017-4-10 13:32
哇塞,大神太厉害了。快教教我怎么弄!我不知道怎么调用!

你是在启动U盘中运行G4D,还是在本地硬盘中运行G4D?
作者: zcex1986    时间: 2017-4-12 23:10
有阴也有阳 发表于 2017-4-10 16:16
你是在启动U盘中运行G4D,还是在本地硬盘中运行G4D?

我是在本地硬盘中运行G4D!
作者: zcex1986    时间: 2017-4-12 23:15
wwwsdzsgov 发表于 2017-4-10 15:03
menu文件夹都给你
这个不是我原创的,是很多年前 抄别人的。

打不开!提示压缩文件损坏!
作者: 有阴也有阳    时间: 2017-4-13 00:42
zcex1986 发表于 2017-4-12 23:15
打不开!提示压缩文件损坏!

用好压打开。
作者: 有阴也有阳    时间: 2017-4-13 01:07
本帖最后由 有阴也有阳 于 2017-4-13 01:10 编辑
zcex1986 发表于 2017-4-12 23:10
我是在本地硬盘中运行G4D!


        解压后把解压文件夹里面的所有文件都复制、粘贴到G4D所在的分区,要解决2点难题:

        1.要保证AUTOEXEC.BAT在MS-DOS启动后能够自动运行——在启动U盘里不成问题,在本地硬盘分区里

似乎有一点问题。

        2.还原VHD的DOS命令要符合MS-DOS的语法,你原来的那个命令不行,估计要改。

        现在的AUTOEXEC.BAT是运行ghost11.5的,是为了测试用的,如果你一运行MS-DOS就能成功地打开

ghost11.5,那么你再修改AUTOEXEC.BAT,把它修改成还原VHD的命令。

        菜单:

title 运行批处理
find --set-root /ghost115.exe
chainloader /io.sys

pichuli.part1.rar

2 MB, 下载次数: 13, 下载积分: 无忧币 -2

pichuli.part2.rar

256.17 KB, 下载次数: 8, 下载积分: 无忧币 -2


作者: wwwsdzsgov    时间: 2017-4-13 07:39
有阴也有阳 发表于 2017-4-13 00:42
用好压打开。

用好压打开了吗,不行的话我上传百度云。
作者: zcex1986    时间: 2017-4-13 13:15
2013feng901012 发表于 2017-4-8 10:31
你的意思是,dd还原后,拆分备份,和使用的拆分,文件大小都没变吗
这个还没没还原后进pe去看,不过还 ...

dd还原可以直接拆分吗?拆分把原来的文件替换了吗?
作者: zcex1986    时间: 2017-4-13 13:18
有阴也有阳 发表于 2017-4-13 01:07
解压后把解压文件夹里面的所有文件都复制、粘贴到G4D所在的分区,要解决2点难题:

         ...

不行大神,好像是运行不了AUTOEXEC.BAT!
作者: zcex1986    时间: 2017-4-13 13:21
mysxbg2000 发表于 2017-4-7 07:29
用grub4dos 自带的 dd命令  可以实现还原

title re_win7.vhd.bak

title re_win7.vhd.bak(这个win7.vhd.bak是不是差分盘的备份文件?)
password=1234
find --set-root --devices=h /VHD/win7.vhd.bak
dd if=()/VHD/win7.vhd.bak of=()/VHD/win7.vhd  (这里是什么意思?不懂!!)
find --set-root /bootmgr
chainloader /bootmgr
作者: 2013feng901012    时间: 2017-4-13 13:21
zcex1986 发表于 2017-4-13 13:15
dd还原可以直接拆分吗?拆分把原来的文件替换了吗?

grub4dos的dd命令,需要源文件以及目的文件都存在。
不知道你所指的是怎么个方式拆分。

用dd还原的话,父vhd,拆分vhd,拆分vhd备份,要都存在。
然后通过菜单执行dd,结果就是用拆分vhd备份,覆盖拆分vhd,grub4dos执行的显示是覆盖文件,大小是按照拆分备份的大小,可以达到还原的目的。

(拆分vhd指的是只用的拆分vhd)
作者: zcex1986    时间: 2017-4-13 13:25
2013feng901012 发表于 2017-4-8 00:24
实测dd命令可以替换文件,也会改变大小。前提是输入和输出文件都存在。

楼上用的bootmgr引导vhd,我 ...

title 启动1.vhd系统恢复模式      (这里的1.vhd就是差分盘吧?)
find --set-root /0.vhd               (这里的0.vhd应该是父盘吧?)
dd if=()/0.vhd of=()/1.vhd       (这一个0一个1,意思是什么?)
find --set-root /efi/ntboot
/efi/ntboot nt6=/1.vhd
boot
作者: zcex1986    时间: 2017-4-13 13:26
2013feng901012 发表于 2017-4-10 14:33
这个是调用ntboot来引导vhd,是bios引导的。
如果是uefi引导,那么修改\efi\microsoft\boot\bcd文件来引 ...

嗯嗯,懂了大神!
作者: 2013feng901012    时间: 2017-4-13 13:40
本帖最后由 2013feng901012 于 2017-4-13 13:58 编辑
zcex1986 发表于 2017-4-13 13:25
title 启动1.vhd系统恢复模式      (这里的1.vhd就是差分盘吧?)
find --set-root /0.vhd             ...


0.vhd是拆分备份,1.vhd是拆分文件,是日常使用中的vhd    命名随意,路径也一样随意,不过需要跟你自己的菜单一致即可。我这里图方便,有时候自己会在grub4dos手动来引导某一文件,所以命名一般采用最简单的,方便输入而已

父vhd,只需要安装系统的时候弄好一次即可,或者需要改动的时候才用,保存改动到父vhd
可以用bootice来合并拆分文件和父文件,或者直接在grub4dos的菜单,按e,来编辑菜单,引导父vhd,直接修改。不过如果修改父vhd,拆分vhd需要修复拆分链接,bootice有这个功能,可以修复意外损坏的拆分链

作者: 2013feng901012    时间: 2017-4-13 13:44
不知 发表于 2017-4-7 08:26
dd命令不能改变文件大小。实际还原之后,文件不会变小。

实测结果
环境,win7usb x86
父vhd  8g固定
拆分备份0.vhd  89k
使用的拆分1.vhd 2.27g

使用grub4dos的dd还原后,直接进pe查看大小,均没有改变。
接着引导dd还原后的拆分vhd ,1.vhd,可以正常进入系统,且已经达到还原目的。

然后重启进pe,查看大小,
已经改变
父vhd还是8g,(当然,不可能变,没改动它)
拆分备份0.vhd  89k
拆分vhd  ,1.vhd   大小为220m  

就是说grub4dos的dd命令不能直接改变文件大小
作者: 2013feng901012    时间: 2017-4-13 13:54
不知 发表于 2017-4-8 11:33
我以前用dd做字符拷贝时就要考虑文件大小。不过vhd还原效果达到了就行。

是的,正常linux中的dd命令只需要制定写入扇区数的,例如
创建一个100M的空文件

dd if=/dev/zero of=o.txt bs=100M count=1

不过linux中目标文件可以不存在而用dd命令来建立
可是grub4dos中的dd,需要输入和输出文件都存在。
作者: 不知    时间: 2017-4-13 14:35
2013feng901012 发表于 2017-4-13 13:54
是的,正常linux中的dd命令只需要制定写入扇区数的,例如
创建一个100M的空文件

grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善多了。
作者: 2013feng901012    时间: 2017-4-13 15:35
不知 发表于 2017-4-13 14:35
grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善 ...


恩恩,grub4dos已经很棒了,这么多年来,方便了很多,虽然新买的电脑支持uefi,一般都是测试才开启。日常使用还是喜欢用grub4dos做主引导
作者: 有阴也有阳    时间: 2017-4-13 16:17
zcex1986 发表于 2017-4-13 13:18
不行大神,好像是运行不了AUTOEXEC.BAT!

建议还是用grub4dos的dd命令,请参考:

1.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=380891

2.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=205708
作者: jianliulin    时间: 2017-4-13 16:36
用grub4dos 的fat外部命令
作者: 有阴也有阳    时间: 2017-4-13 17:07
[GRUB4DOS] 外部命令FAT(在FAT分区上复制创建文件)http://chenall.net/post/grub4dos_fat/

不过必须是FAT分区
作者: mysxbg2000    时间: 2017-4-13 17:38
本帖最后由 mysxbg2000 于 2017-4-13 17:47 编辑

是的
win7.vhd是差分
win7.vhd.bak 是 win7.vhd 差分的备份文件 一般只有 几十KB 或者 过百KB
dd if=()/VHD/win7.vhd.bak of=()/VHD/win7.vhd就是 复制 win7.vhd.bak 替换掉 win7.vhd 这样子就能达到秒还原效果
然后 下面 那条 /bootmgr 什么的  是直接 启动 该差分系统(前提是 BCD里的启动文件是该差分)
所以 可以无视 上面说的 dd 命令复制替换后 文件大小不变的问题...

当然 也可以 再加2条命令

title re_win75_02.vhd.bak
password=1234
find --set-root --devices=h /boot/BCD
dd if=()/boot/bcd7 of=()/boot/BCD

find --set-root --devices=h /VHD/win7/win75_02.vhd.bak
dd if=()/VHD/win7/win75_02.vhd.bak of=()/VHD/win7/win75_02.vhd
find --set-root /bootmgr
chainloader /bootmgr

下面的 是我的memu  菜单
我的菜单 是适合 多系统 使用的  仅供参考


default        0
timeout      3
gfxmenu /grub/message

title 从上次进的系统启动...
find --set-root /bootmgr
chainloader /bootmgr

title 进入win 7
find --set-root --devices=h /boot/BCD
dd if=()/boot/bcd7 of=()/boot/BCD
find --set-root /bootmgr
chainloader /bootmgr

title 进入win 10
find --set-root --devices=h /boot/BCD
dd if=()/boot/bcd10 of=()/boot/BCD
find --set-root /bootmgr
chainloader /bootmgr


title re_win75_02.vhd.bak
password=1234
find --set-root --devices=h /boot/BCD
dd if=()/boot/bcd7 of=()/boot/BCD
find --set-root --devices=h /VHD/win7/win75_02.vhd.bak
dd if=()/VHD/win7/win75_02.vhd.bak of=()/VHD/win7/win75_02.vhd
find --set-root /bootmgr
chainloader /bootmgr

作者: zcex1986    时间: 2017-4-14 23:21
2013feng901012 发表于 2017-4-13 13:21
grub4dos的dd命令,需要源文件以及目的文件都存在。
不知道你所指的是怎么个方式拆分。

哦哦,明白了大神!
作者: zcex1986    时间: 2017-4-14 23:23
2013feng901012 发表于 2017-4-13 13:44
实测结果
环境,win7usb x86
父vhd  8g固定

太牛了,我懂了大神。谢谢!
作者: zcex1986    时间: 2017-4-14 23:25
有阴也有阳 发表于 2017-4-13 16:17
建议还是用grub4dos的dd命令,请参考:

1.http://bbs.wuyou.net/forum.php?mod=viewthread&tid=380891
...

谢谢大神!
作者: zcex1986    时间: 2017-4-14 23:26
mysxbg2000 发表于 2017-4-13 17:38
是的
win7.vhd是差分
win7.vhd.bak 是 win7.vhd 差分的备份文件 一般只有 几十KB 或者 过百KB

真详细,谢谢大神!
作者: zcex1986    时间: 2017-4-14 23:34
本帖最后由 zcex1986 于 2017-4-14 23:35 编辑
不知 发表于 2017-4-13 14:35
grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善 ...


编写grub4dos的人真牛!
作者: zcex1986    时间: 2017-4-15 02:07
mysxbg2000 发表于 2017-4-13 17:38
是的
win7.vhd是差分
win7.vhd.bak 是 win7.vhd 差分的备份文件 一般只有 几十KB 或者 过百KB

title re_Windows10end2_CHILD_BAK
password=1234
find --set-root --devices=i /boot/BCD
dd if=()/boot/bcd7 of=()/boot/BCD
find --set-root --devices=i /WIN10/Windows10end2_CHILD_BAK.vhdx
dd if=()/WIN10/Windows10end2_CHILD_BAK.vhdx of=()/WIN10/Windows10end2_CHILD.vhdx
find --set-root /bootmgr
chainloader /bootmgr

提示找不到文件     这路径怎么制定呢大神!
作者: 2013feng901012    时间: 2017-4-15 03:04
zcex1986 发表于 2017-4-15 02:07
title re_Windows10end2_CHILD_BAK
password=1234
find --set-root --devices=i /boot/BCD

找不到哪个文件呢,可能你的文件路径和菜单不符合。

菜单的意思大概是
输入密码1234否则不能运行该选项
然后找到并且用/boot/bcd7来替换/boot/bcd  (bcd7为备份)
然后找到并且用/win10end2-child-bak.vhdx替换 /win10end2-child.vhdx  
(win10end2-child-bak.vhdx)是拆分备份vhdx  (win10end2-child.vhdx )是使用的拆分vhdx
然后引导bootmgr,接着根据/boot/bcd来运行拆分vhdx,接着进vhdx系统。

楼主可以按照自己的使用环境修改菜单,文件名,和路径,与自己实际环境一致即可。

如果不需要多系统的话,可以不用替换bcd文件,修改好一份bcd即可。当然,也可以用ntboot来直接引导vhdx或者vhd文件。




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