无忧启动论坛

标题: grub4dos dd命令 [打印本页]

作者: 2013feng901012    时间: 2016-9-17 00:27
标题: grub4dos dd命令
本帖最后由 2013feng901012 于 2016-10-18 01:24 编辑

本意是打算用grub4dos的dd命令来建立vhdx文件,来实现菜单还原。
已有win10.vhdx 拆分文件备份0.vhdx   使用系统为1.vhdx

目的,删除1.vhdx 文件,然后复制0.vhdx并重命名为1.vhdx来实现菜单还原vhdx系统。

title 1.vhdx backup \n
find --set-root /0.vhdx
dd if=/0.vhdx of=/1.vhdx
find --set-root /boot/NTBOOT/NTBOOT
/boot/NTBOOT/NTBOOT nt6=/1..vhdx
boot

经过不点大师的指点,放弃这个想法,还是进入pe再做拆分或者备份好了。感谢不点大师的热心回复。



后来经过实际测试,是可行的。
条件需要0.vhdx和1.vhdx都存在。并且都是win10.vhdx的拆分文件
title 1.vhdx backup \n
find --set-root /0.vhdx
dd if=()/0.vhdx of=()/1.vhdx
find --set-root /boot/NTBOOT/NTBOOT
/boot/NTBOOT/NTBOOT nt6=/1.vhdx
boot


运行该菜单,会开始写文件,不管1.vhdx原本多大,都会被0.vhdx的4MB文件替换(说法不准确)。但是确实管用。

sshot-1.png (51.53 KB, 下载次数: 133)

sshot-1.png

作者: 2013feng901012    时间: 2016-9-17 00:48
不明白出错原因,换用046a 最新版也不行还是这个错误提示。最新版在grub4dos.chenall.net下载的
作者: 不点    时间: 2016-9-17 00:48
为了安全起见,dd 命令不允许使用不带设备名的文件。即,不允许使用以 "/" 开头的文件名。必须带有设备名,以 "(" 开头。

比如,试试这样:

dd  if=()/0.vhdx   of=()/1.vhdx

使用 dd 命令是有条件的,或者说是有限制的,比如,要了解到:

1、dd 命令要求源文件和目的文件都存在。

2、dd 命令不会增加目的文件的长度,也不会减小目的文件的长度。


作者: 2013feng901012    时间: 2016-9-17 00:57
不点 发表于 2016-9-17 00:48
为了安全起见,dd 命令不允许使用不带设备名的文件。即,不允许使用以 "/" 开头的文件名。必须带有设备名, ...

加()测试过,问题依旧。
应该是没有目的文件。

如果想达到还原用,是不是要先删除1.vhdx(因为使用过,肯定会比初次拆分文件0.vhdx大很多 0.vhdx大小为4MB),然后创建文件1.vhdx 大小为4MB,接着用dd命令,复制0.vhdx到1.vhdx,来实现文件还原?
作者: 不点    时间: 2016-9-17 01:00
2013feng901012 发表于 2016-9-17 00:57
加()测试过,问题依旧。
应该是没有目的文件。

你说的不会是 4M 吧?应该是 4G 吧?


作者: 2013feng901012    时间: 2016-9-17 01:02
不点 发表于 2016-9-17 00:48
为了安全起见,dd 命令不允许使用不带设备名的文件。即,不允许使用以 "/" 开头的文件名。必须带有设备名, ...

测试,需要加()才行,且需要源文件和目的文件都存在。
请问怎么创建4MB大小的空文件呢?

作者: 2013feng901012    时间: 2016-9-17 01:03
不点 发表于 2016-9-17 01:00
你说的不会是 4M 吧?应该是 4G 吧?

是4M, win10.vhdx 大小 3.64G  初次拆分文件 0.VHDX 4Mb
作者: 不点    时间: 2016-9-17 01:05
你可能需要一个与 0.vhdx 同样大小的文件。

grub4dos 不支持删除文件的操作,也不支持改名文件的操作。

你好像需要一个 PE 来做这个工作。

如果你的文件是在 FAT 分区,倒是可以在 grub4dos 下使用一个叫做 fat 的外部命令来创建、改名、删除一个文件。NTFS 分区无法做到。


作者: 2013feng901012    时间: 2016-9-17 01:06
1,grub4dos命令中没有linux中的rm   ,那怎么来删除文件呢
2,然后建立空的4Mb 1.vhdx  ,(怎么创建  linux中有/dev/zero )
作者: 2013feng901012    时间: 2016-9-17 01:09
不点 发表于 2016-9-17 01:05
你可能需要一个与 0.vhdx 同样大小的文件。

grub4dos 不支持删除文件的操作,也不支持改名文件的操作。
...

好的,感谢不点大师给的建议。
只是为了折腾而已,其实进入pe来处理,用bootice可以扩容,拆分,删除等等,很容易。

缘由是看了有用菜单来实现秒还原的帖子,猜想可能是用dd命令来实现,所以才研究的。
因为是vhdx文件,所在分区是ntfs,所以放弃这个想法,还是进pe来解决好了。再次感谢回复。
作者: 不点    时间: 2016-9-17 01:16
grub4dos 没有 rm 删除文件的命令。也没有创建文件的命令。也没有改名文件的命令。

不过,假如你的文件系统能够采用 exFAT 的话,倒是有希望支持 “创建、改名、删除” 命令。开发者 yaya 对 exFAT 比较熟悉,你可以给他提建议,看看他能否对 chenall 的 FAT 外部命令进行改造,从而支持 exFAT 文件系统的 “创建、改名、删除” 操作。


作者: 2013feng901012    时间: 2016-9-17 01:23
不点 发表于 2016-9-17 01:16
grub4dos 没有 rm 删除文件的命令。也没有创建文件的命令。也没有改名文件的命令。

不过,假如你的文件 ...

好的
作者: 不点    时间: 2016-9-17 01:30
2013feng901012 发表于 2016-9-17 01:23
好的


我还想到一个变通的方法。你进入系统后,在 Windows 系统下把 0.vhdx 复制为 2.vhdx,并修改菜单,让下次启动使用 2.vhdx 作为差分文件。

如果本次已经是在用 2.vhdx,那么,就在 Windows 系统下把 0.vhdx 复制为 1.vhdx,并修改菜单,让下次启动使用 1.vhdx 作为差分文件。

如此一来,NTFS 系统也不会成为障碍了。


作者: 2013feng901012    时间: 2016-9-17 01:35
不点 发表于 2016-9-17 01:30
我还想到一个变通的方法。你进入系统后,在 Windows 系统下把 0.vhdx 复制为 2.vhdx,并修改菜单,让下 ...

恩,是的。可以在系统内完成,不需要进pe。确实是好办法,还有就是实在不行,可以实时编辑grub4dos的菜单来引导不同的vhdx拆分文件。
作者: cbl    时间: 2020-2-16 23:58
学习了
作者: zcex1986    时间: 2020-2-26 17:30
试试这个

find --set-root --ignore-floppies --ignore-cd /VHD/1.vhdx
configfile /VHD/gvhd.lst
password --md5 $1$5$jsGtVo0c88ndMdo6JZfrJ0
title  Restore
fallback 2
find --set-root --ignore-floppies --ignore-cd /VHD/0.vhdx
dd if=()/VHD/0.vhdx of=()/VHD/1.vhdx
reboot
作者: 2013feng901012    时间: 2020-3-28 19:03
zcex1986 发表于 2020-2-26 17:30
试试这个

find --set-root --ignore-floppies --ignore-cd /VHD/1.vhdx

感谢热心回复
fallback 2
这个是什么作用呢?查了点资料,是fallback 2 下面的菜单执行出错就跳转到第二个菜单吗?




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