无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: zcex1986

[求助] 2

[复制链接]
 楼主| 发表于 2017-4-13 13:25:48 | 显示全部楼层
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

点评

0.vhd是拆分备份,1.vhd是拆分文件,是日常使用中的vhd 父vhd,只需要安装系统的时候弄好一次即可,或者需要改动的时候才用,保存改动到父vhd 可以用bootice来合并拆分文件和父文件,或者直接在grub4dos的菜单,  详情 回复 发表于 2017-4-13 13:40
回复

使用道具 举报

 楼主| 发表于 2017-4-13 13:26:55 | 显示全部楼层
2013feng901012 发表于 2017-4-10 14:33
这个是调用ntboot来引导vhd,是bios引导的。
如果是uefi引导,那么修改\efi\microsoft\boot\bcd文件来引 ...

嗯嗯,懂了大神!
回复

使用道具 举报

发表于 2017-4-13 13:40:41 | 显示全部楼层
本帖最后由 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有这个功能,可以修复意外损坏的拆分链
回复

使用道具 举报

发表于 2017-4-13 13:44:18 | 显示全部楼层
不知 发表于 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命令不能直接改变文件大小

点评

太牛了,我懂了大神。谢谢!  详情 回复 发表于 2017-4-14 23:23
回复

使用道具 举报

发表于 2017-4-13 13:54:56 | 显示全部楼层
不知 发表于 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,需要输入和输出文件都存在。

点评

grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善多了。  详情 回复 发表于 2017-4-13 14:35
回复

使用道具 举报

发表于 2017-4-13 14:35:43 | 显示全部楼层
2013feng901012 发表于 2017-4-13 13:54
是的,正常linux中的dd命令只需要制定写入扇区数的,例如
创建一个100M的空文件

grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善多了。

点评

编写grub4dos的人真**!  详情 回复 发表于 2017-4-14 23:34
恩恩,grub4dos已经很棒了,这么多年来,方便了很多,虽然现在的电脑支持uefi,一般都是测试才开启。日常使用还是喜欢用grub4dos做主引导  详情 回复 发表于 2017-4-13 15:35
回复

使用道具 举报

发表于 2017-4-13 15:35:35 | 显示全部楼层
不知 发表于 2017-4-13 14:35
grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善 ...


恩恩,grub4dos已经很棒了,这么多年来,方便了很多,虽然新买的电脑支持uefi,一般都是测试才开启。日常使用还是喜欢用grub4dos做主引导
回复

使用道具 举报

发表于 2017-4-13 16:17:53 | 显示全部楼层
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

点评

谢谢大神!  详情 回复 发表于 2017-4-14 23:25
回复

使用道具 举报

发表于 2017-4-13 16:36:54 | 显示全部楼层
用grub4dos 的fat外部命令
回复

使用道具 举报

发表于 2017-4-13 17:07:03 | 显示全部楼层
[GRUB4DOS] 外部命令FAT(在FAT分区上复制创建文件)http://chenall.net/post/grub4dos_fat/

不过必须是FAT分区
回复

使用道具 举报

发表于 2017-4-13 17:38:26 | 显示全部楼层
本帖最后由 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

点评

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=()/WIN  详情 回复 发表于 2017-4-15 02:07
真详细,谢谢大神!  详情 回复 发表于 2017-4-14 23:26
回复

使用道具 举报

 楼主| 发表于 2017-4-14 23:21:12 | 显示全部楼层
2013feng901012 发表于 2017-4-13 13:21
grub4dos的dd命令,需要源文件以及目的文件都存在。
不知道你所指的是怎么个方式拆分。

哦哦,明白了大神!
回复

使用道具 举报

 楼主| 发表于 2017-4-14 23:23:24 | 显示全部楼层
2013feng901012 发表于 2017-4-13 13:44
实测结果
环境,win7usb x86
父vhd  8g固定

太牛了,我懂了大神。谢谢!
回复

使用道具 举报

 楼主| 发表于 2017-4-14 23:25:08 | 显示全部楼层
有阴也有阳 发表于 2017-4-13 16:17
建议还是用grub4dos的dd命令,请参考:

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

谢谢大神!
回复

使用道具 举报

 楼主| 发表于 2017-4-14 23:26:49 | 显示全部楼层
mysxbg2000 发表于 2017-4-13 17:38
是的
win7.vhd是差分
win7.vhd.bak 是 win7.vhd 差分的备份文件 一般只有 几十KB 或者 过百KB

真详细,谢谢大神!
回复

使用道具 举报

 楼主| 发表于 2017-4-14 23:34:02 | 显示全部楼层
本帖最后由 zcex1986 于 2017-4-14 23:35 编辑
不知 发表于 2017-4-13 14:35
grub4dos只是一个引导程序,对文件系统的支持不完善也是正常的。linux作为一个完整的系统,支持也就完善 ...


编写grub4dos的人真牛!
回复

使用道具 举报

 楼主| 发表于 2017-4-15 02:07:23 | 显示全部楼层
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

提示找不到文件     这路径怎么制定呢大神!

点评

找不到哪个文件呢,可能你的文件路径和菜单不符合。 菜单的意思大概是 输入密码1234否则不能运行该选项 然后找到并且用/boot/bcd7来替换/boot/bcd (bcd7为备份) 然后找到并且用/win10end2-child-bak.vhdx替  详情 回复 发表于 2017-4-15 03:04
回复

使用道具 举报

发表于 2017-4-15 03:04:31 | 显示全部楼层
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文件。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 19:35

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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