无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: chenall
打印 上一主题 下一主题

GRUB4DOS ghostid命令测试(01-15更新)

  [复制链接]
1#
发表于 2010-1-21 22:36:02 | 显示全部楼层
我是菜鸟级的初级潜水员。
有这样的问题,那就是在U盘上的GHO文件,U盘启动后想自动还原到硬盘的第一个分区。可是有的情况下U盘启动后成了第一硬盘,这就造成GHOST的自动脚本不好确定源和目标的位置,C大的这个工具是不是就用来确定硬盘第一主分区的位置的?也就是dst=1:1这里的参数?
回复

使用道具 举报

2#
发表于 2010-1-23 09:54:29 | 显示全部楼层
原帖由 sowind 于 2010-1-22 18:33 发表

find --ignore-cd --ignore-floppies /boot/WTool.lst (bd)/boot/ghostid
dd if=(md) of=(fd0)/sd.bat bs=1 count=5 skip=0x4FF00 seek=0x11
用这个就可以确定。


谢谢您的回复。

假设我的U盘GHOST目录有一个jnax.gho文件,想使用此目录中的GHOST自动把这个备份恢复到硬盘(单硬盘)的第一分区,哪位老大可以给说说从电脑启动到完成恢复整个过程的方法?这样就可以很好的理解了。
先谢谢了。
回复

使用道具 举报

3#
发表于 2010-1-23 11:52:12 | 显示全部楼层
谢谢 sowind  

我是这样制作的U盘,使用 FbinstTool 制作的 UD 分区,通过GRUB的menu.lst启动UD中的ghost.img然后执行ghost.exe(测试)。
UD格式化的时候,可见分区是FAT32的。
启动后,U盘的可见分区在dos下是C,可是在ghost中U盘的ID是2,硬盘的ID是1(这是我的台式机,sata硬盘;好似正相反在我的笔记本中好似正相反)。
所以,我的想法是:通过ghostid获得U盘的ID,如果U盘的ID是A,那么硬盘的ID应该就是B了(A、B分别代表1或2)。这样,把检测结果自动添加到GHOST -clone,mode=pload,src=A:1\ghost\jnax.gho:1,dst=B:1 -fro -nousb -noide -crcignore -sure -rb中就没有问题了。
不知道我的想法是否正确,请指教。
如果正确的话,如何使用ghostid来获得并添加到GHOST -clone,mode=pload,src=A:1\ghost\jnax.gho:1,dst=B:1 -fro -nousb -noide -crcignore -sure -rb中。
回复

使用道具 举报

4#
发表于 2010-1-23 13:54:13 | 显示全部楼层
简单的说,我的想法就是:
在UD中有一个ghost.img文件,U盘启动它后,运行U盘可见分区(FAT32)中GHOST文件夹中的ghost.exe并把同位置的jnax.gho自动恢复到硬盘的第一个主分区。

这需要检测:
1、通过jnax.gho定位U盘可见分区的位置从而知道U盘的ID
1、通过U盘的ID,知道硬盘的ID,并动态修改批处理实现自动恢复。

不知道这样我说明白了吗?
回复

使用道具 举报

5#
发表于 2010-1-23 17:56:28 | 显示全部楼层
原帖由 sowind 于 2010-1-23 15:58 发表

是啊,楼上已经给出答案了
title (3) 克隆安装 Windows XP 到硬盘第一分区
map --mem /ntdos.ud (fd0)
map --hook
checkrange 0x80 read 0x8280 && dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 ...


基础真的是很差,慢慢学习吧。

能得到这个ntdos.ud看看里面的autoexec.bat的内容可能就好理解了。

谢谢两位的热心帮助。

[ 本帖最后由 jnax 于 2010-1-23 19:22 编辑 ]
回复

使用道具 举报

6#
发表于 2010-1-24 09:33:33 | 显示全部楼层
请帮助:
我的menu:
title [04] 启动 自动安装XP
map --mem (ud)/img/ghostxp.img (fd0)
map --hook
checkrange 0x80 read 0x8280 && dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=17 seek=27
checkrange 0x80 read 0x8280 || dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=18 seek=27
chainloader (fd0)+1
rootnoverify (fd0)

我的autoexec.bat:
@echo off
set abc=12
call resx.bat

我的res1.bat:
ghost -clone,mode=pload,src=1:1\ghost\axiangxp.gho:1,dst=2:1 -sure -rb

我的res2.bat:
ghost -clone,mode=pload,src=2:1\ghost\axiangxp.gho:1,dst=1:1 -sure -rb

问题:试图通过修改call resx.bat这一行中的x来执行自动恢复,可是运行结果是x没有被修改,不知道错在哪里?

---------------------------------------------------------------
在 sowind 的帮助下,问题解决。
错在  skip=17 seek=27 这里没有加上回车的2个字节。

skip=19 seek=31

多谢各位的帮助,终于成功了。

[ 本帖最后由 jnax 于 2010-1-24 10:21 编辑 ]
回复

使用道具 举报

7#
发表于 2010-1-24 10:53:01 | 显示全部楼层
title [04] 启动 自动安装XP
map --mem (ud)/img/ghostxp.img (fd0)
map --hook
checkrange 0x80 read 0x8280 && dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=19 seek=31
checkrange 0x80 read 0x8280 || dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=19 seek=31
chainloader (fd0)+1
rootnoverify (fd0)

在台式机上(GHOST中硬盘为第一)测试通过;在笔记本上(GHOST中硬盘为第二),autoexec.bat中resx.bat中还是修改我res2.bat,恢复失败。
回复

使用道具 举报

8#
发表于 2010-1-24 16:18:21 | 显示全部楼层
C老大
我是想说:
checkrange 0x80 read 0x8280 && dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=19 seek=31
checkrange 0x80 read 0x8280 || dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=19 seek=31
检测结果不正确

U盘UD方式启动我的笔记本,在GHOST中U盘是第一次盘,而上面的语句检测的结果不是第一,而是第二。
U盘UD方式启动我的台式机,在GHOST中U盘是第二次盘,上面的语句检测的结果正确。
回复

使用道具 举报

9#
发表于 2010-1-24 19:04:58 | 显示全部楼层
我的技嘉-G41就是这样子的,设置从USB-NNN都不能启动,而是在HDD项进入后的列表中选择U盘就可以启动了。

G大的这个GHOSTID如果能用在USB启动并自动恢复指定的GHO文件到本地第一硬盘,那实际意义就更大了,因为现在使用光盘启动的很少,而U盘启动方便快捷,易改易升级。

现在我感觉最好的方式就是U盘的UD方式启动,但从UD中启动IMG后,有的主板是不能识别U盘的可见分区的,需要在DOS的CONFIG.SYS中装载USB2.0的驱动“USBASPI.SYS”及“ASPIDISK.SYS”,但只要加载了这个驱动,好像GRUB就不能正常FIND启动U盘可见分区中的文件了。例如我在U盘的可见分区中的GHOST文件夹中存放JNAX.GHO,UD启动IMG后加载USB2.0驱动,然后再运行GRUB.EXE并装载IMG中的MENU.LST,MENU.LST中有FIND --SET-ROOT /GHOST/JNAX.GHO,但返回的结果是不能找到文件,而回到DOS提示符,DIR却可以看到GHOST文件夹及里面的JNAX.GHO。

如果主板本身在DOS就支持USB2.0,很好解决U盘启动并自动GHOST恢复(安装)XP,如果主板本身在DOS下不支持USB2.0的话,是个问题。

(所有的英文字母均是小写)

[ 本帖最后由 jnax 于 2010-1-24 19:21 编辑 ]
回复

使用道具 举报

10#
发表于 2010-1-24 21:48:00 | 显示全部楼层
请 Hwlon 有时间的话在给看看

autoexec.bat 内容:
set abc=12
call resx.bat

menu中ghost菜单:
map --mem /ghostxp.img (fd0)
map --hook
checkrange 0x80 read 0x8280 && dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=8 seek=20
checkrange 0x80 read 0x8280 || dd if=(fd0)/autoexec.bat of=(fd0)/autoexec.bat bs=1 count=1 skip=9 seek=20
chainloader (fd0)+1
rootnoverify (fd0)

启动结果:
台式机中,ghost里面看硬盘给第一磁盘
autoexec.bat 内容修改:
set abc=12
call res2.bat
这个正确

笔记本中,ghost里面看硬盘给第二磁盘
autoexec.bat 内容修改:
set abc=12
call res2.bat
这个不正确

是检测方式没有设置正确还是什么原因?

[ 本帖最后由 jnax 于 2010-1-25 07:04 编辑 ]
回复

使用道具 举报

11#
发表于 2010-1-25 09:51:12 | 显示全部楼层
在单位中测试两台台式电脑:

2G的U盘做成UD(USB-ZIP)方式启动ghostxp.ing,U盘可见分区为FAT32,menu及autoexec.bat中的内容同上

1、技嘉G-41主板,500G-SATA硬盘
启动时,在启动设备选择列表中,U盘在HDD项之中的第一项,此主板原生支持USB2.0


进入DOS后运行ghost.exe,磁盘列表截图如下:


进入DOS后运行grub.exe,分别执行如下命令:
read 0x8280
find
截图如下:


grldr检测结果,autoexec.bat中更改为res2.bat

2、i845GL主板,40G硬盘
启动时,BIOS中设置USB-ZIP方式启动
进入DOS后运行ghost.exe,磁盘列表截图如下:


进入DOS后运行grub.exe,分别执行如下命令:
read 0x8280
find
截图如下:


grldr检测结果,autoexec.bat中更改为res2.bat


中午上传家里的两台电脑截图

[ 本帖最后由 jnax 于 2010-1-25 10:01 编辑 ]
回复

使用道具 举报

12#
发表于 2010-1-25 18:59:54 | 显示全部楼层
我根据我这4台电脑的测试发现,在UD启动方式下,只要是主板原生支持USB2.0,那么U盘启动后在ghost中U盘就是第一磁盘;主板原生不支持USB2.0,DOS启动后再加载USB的驱动,这样的话就像 Hwlon 所说,磁盘的顺序好像被USB启动给更改了,都是硬盘为第一磁盘,U盘为第二磁盘。

但愿这个结论是正确的。如果是正确的,就不用判断了。

在DOS的config.sys中设置加载USB驱动和不加载USB驱动,加载的U盘就是2,不加载的U盘就是1。

[ 本帖最后由 jnax 于 2010-1-25 19:02 编辑 ]
回复

使用道具 举报

13#
发表于 2010-1-25 21:28:56 | 显示全部楼层
原帖由 Hwlon 于 2010-1-25 19:26 发表
可能我说的不专业,因为我毕竟不是程序开发者,总之不应该像你那样理解。
应该这样:在UD启动方式下,只要是主板原生支持USB2.0,U盘就大部分是第一磁盘,有些笔记本会认为是zip盘。
主板原生不支持USB2. ...


文字表达确实不如语言表达的清楚。

我想表达的是DOS的USB驱动,就如同你说的那样,改变了硬盘的排列顺序,而之后再用grldr检测就得不到正确的结果了,所以检测也就没有意义了。

只有等待C大的成果了。

如果能在加载USB2.0驱动之前,先由GHOSTID判断出U盘的ID就好了。可是这有一个问题,就是没有进入DOS并加载USB2.0驱动,那么U盘的可见分区是不被电脑是别的,也就find不到U盘可见分区的特征文件,从而导致“文件没有被发现”的结果。

GHOSTID能通过判断UD中的文件从而获得U盘的ID吗?我测试过,好像不行。
回复

使用道具 举报

14#
发表于 2010-1-26 09:51:27 | 显示全部楼层
Hwlon:

我的U盘是使用fbinst制作的ud,里面有IMG。U盘可见分区FAT32格式,GHOST文件夹中保存GHO文件。

我是在UD启动加载IMG影像(dos),然后加载的USB2.0驱动,这是在运行grub,U盘就始终在第二块磁盘上,主板原生支持USB2.0的,dos下加载USB2.0驱动,U盘也是在第二磁盘上。

主板原生支持USB2.0的,dos下不加载USB2.0驱动,U盘就在第一磁盘上。

这是我的测试结果。

我还在单位其他人的电脑上测试中。
回复

使用道具 举报

15#
发表于 2010-2-9 22:17:05 | 显示全部楼层
谢谢 Hwlon 的分享,下载测试下。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-6 14:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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