无忧启动论坛

标题: grub4dos下有什么办法获得知那个磁盘是u盘,并且获取u盘的卷序列号? [打印本页]

作者: hotdll    时间: 2011-12-5 09:43
标题: grub4dos下有什么办法获得知那个磁盘是u盘,并且获取u盘的卷序列号?
grub4dos下有什么办法获得知那个磁盘是u盘,并且获取u盘的卷序列号?

比如我的U盘是金士顿2G的
在DOS下输入 VOL C:
可以得到卷标序列号是: 0000-0000

有什么简单点的办法在g4d下获得这个序列号?

这样我就可以把我的ughost做到100%通用了。
作者: hotdll    时间: 2011-12-5 09:43
今天变少将了。
看来很快就可以大元帅了。
作者: Plantsoot    时间: 2011-12-5 09:55
呵呵,少将离大元帅路途遥远。5个少将的积分才是大元帅。要50000分。
作者: hotdll    时间: 2011-12-5 10:33
标题: 回复 #3 Plantsoot 的帖子
那不得20XX年?神啊。。。。给我一个刷分器把。
作者: mygamexxx    时间: 2011-12-5 10:33
标题: 回复 #1 hotdll 的帖子
支持啊,GRUB4DOS不是有UUID的命令吗,可以得到吧

(hd0,0)是U盘,好像U盘都是这个序列号0000-0000,不知道是不是正确。

测试是否U盘,我是用笨办法GRUB4DOS检测是否单分区磁盘,然后要求使用者确认是否U盘。

如果UGHOST能通用,就造福大家了。

饭大注册比我早,帖子比我多,级别和我一样,窃喜!!!

[ 本帖最后由 mygamexxx 于 2011-12-5 10:44 编辑 ]
作者: hotdll    时间: 2011-12-5 10:45
标题: 回复 #5 mygamexxx 的帖子
这个还是不能自动判断那个是U盘。
我要的是自动判断。。。。。。。。。
作者: mygamexxx    时间: 2011-12-5 13:37
饭大看看这段代码可用吗?

::检测启动介质类型
root (ud) && goto :ud
checkrange 0x0 read 0x8280 && map (fd0) (fd1) && map --hook && goto :checkos
checkrange 0x80 read 0x8280 && goto :hdcheck
goto :cd
::所有其他启动盘、光盘启动、pxe启动作为光盘启动处理
::echo -P:1218 $[0105]未知的启动盘类型! && echo -P:1418 $[0105]按任意键重启。 && pause && reboot
exit
:ud
calc *0x82b8>>8&0xff-0x80 || goto :hdcheck
calc *0x82b8>>8&0xff-0x80 && map (fd0)+1 (hd) && map --hook && goto :checkos
exit
:cd
set cdd=off
goto :checkos
exit
:hdcheck
root (hd0,1) && goto :checkos
root (hd0,4) && goto :checkos
uuid (hd0,0)
if %?_UUID%==0000-0000 goto :usbhdd
goto :checkos
exit
::硬盘次序轮换,将U盘置于最后
:usbhdd
clear
set /a hd=*0x475&0xff+0x7e
if %hd%==127 echo -P:1218 $[0105]除U盘启动盘外无其他硬盘, 按任意键重启! && pause && reboot
:move
set /a hd1=%hd%+1
map (%hd1%) (%hd%)
set /a hd=%hd%-1
if not %hd%==127 goto :move
set /a hd=%hd%+1
map (%hd%) (hd-1)
map --hook
goto :checkos
exit
:checkos
rootnoverify (hd0,0)
find --set-root makeactive --status
if exist ()/windows/system32/version.dll goto :ms
if exist ()/winnt/system32/version.dll goto :ms
goto :noms
exit
::检测硬盘激活分区系统类型
:ms
map --mem ()/windows/system32/version.dll (rd) || map --mem ()/winnt/system32/version.dll (rd)
calc *0x82d0=*0x82d0+*0x82d8-0x800
calc *0x82d8=0x800
cat --locate=\0\0\x44\0\0\0 --number=1 (rd)+1 | set skip=
set /a skip=0x%skip%-0x30
cat --locate=\0\0\0 --skip=%skip% --number=1 (rd)+1 | set skip=
calc *0x82d0=*0x82d0+0x%skip%+3
call Fn.67 *0x82d0 0x60000 3
cat (md)0x300+1,1 | set nt_ver=NT
cat (md)0x300+1,3 | goto :_
:noms
set sys_ver=未知系统
goto :disp
exit
:_5.0
set sys_ver=Windows 2000
goto :disp
exit
:_5.1
set sys_ver=Windows XP
goto :disp
exit
:_5.2
set sys_ver=Windows 2003
goto :disp
exit
:_6.1
set sys_ver=Windows 7/2008
goto :disp
exit
:_6.2
set sys_ver=Windows 8
goto :disp
exit
:disp
set sys_hd=%@root%
clear

[ 本帖最后由 mygamexxx 于 2011-12-5 13:44 编辑 ]
作者: hotdll    时间: 2011-12-5 13:39
标题: 回复 #7 mygamexxx 的帖子
你没明白我的意思
有的优盘,还有读卡器和手机的存储模式。
他们的卷序列号不是0000--0000
作者: mygamexxx    时间: 2011-12-5 13:41
哦,明白了,谢谢指教。
作者: 2011回忆爱情    时间: 2011-12-5 13:51
不然 就 放一個 特定文件

把擁有該文件的 磁區 設為 (hd0,0) 這方法 應該相對 簡單
作者: hotdll    时间: 2011-12-5 17:14
标题: 回复 #10 2011回忆爱情 的帖子
这个文件有可能会被用户删除掉的。
不想用这种方法。
作者: hotdll    时间: 2011-12-5 17:22
想到一个变通的办法。。。。。一会去试试。
作者: 2011回忆爱情    时间: 2011-12-6 21:26
原帖由 hotdll 于 2011-12-5 17:14 发表
这个文件有可能会被用户删除掉的。
不想用这种方法。


把 u盤變更為 唯讀狀態 or 畸形目錄 是否能有所改善呢
作者: victor888    时间: 2011-12-6 21:47
不建议U盘一键安装,否则有人可能会死的很惨。
U盘启动,G4D,都不是万能的。
作者: freesoft00    时间: 2011-12-6 22:02
不建议U盘一键安装,否则有人可能会死的很惨。

我目前来说也是很少用U盘的一键安装,感觉不保险。
作者: weibin6199    时间: 2011-12-6 22:13
HOTALL,我的金士顿G2 16G的一直用你的pe,运行里UGHOST会找不到U盘优盘序号是000000的。

or 更新最新grldr出现什么要使用绝对路径,换回2号的又没事!最新的grldr存在兼容问题?

[ 本帖最后由 weibin6199 于 2011-12-6 22:14 编辑 ]
作者: hotdll    时间: 2011-12-6 22:52
标题: 回复 #16 weibin6199 的帖子
下最最新的grldr就没问题了

另外我的名字是hotdll 不是 hotall

u盘的序列号我打算动态写入。我那个一键ughost是不会乱写盘的。放心。
作者: hotdll    时间: 2011-12-6 22:53
原帖由 victor888 于 2011-12-6 21:47 发表
不建议U盘一键安装,否则有人可能会死的很惨。
U盘启动,G4D,都不是万能的。

目前装机无数,很安全。
因为我判断U盘是依据卷标,呵呵,永远不会弄错U盘。
作者: weibin6199    时间: 2011-12-6 23:26
呵呵,不好意思最近犯糊涂了,老犯错。进UGHOST后优盘都找不到还怎么操作。一键恢复安装什么的一般我都会find
看下磁盘。g4d最近更新频繁,老出错还是等稳定再说!
作者: 幸运的草    时间: 2011-12-7 13:50
我也不用一键,一般都是手动。
作者: hotdll    时间: 2011-12-7 14:09
标题: 回复 #19 weibin6199 的帖子
因为我固定U盘的vol为0000-0000了。
我下次尝试自动获取U盘的VOL然后写到UGHOST中。
作者: freesoft00    时间: 2011-12-7 14:21
你的UGHOST在哪里,怎么没有搜到
作者: hotdll    时间: 2011-12-7 15:22
标题: 回复 #22 freesoft00 的帖子
在PE的FBA包里
没有单独发布。写都不太好,怕丢人
作者: victor888    时间: 2011-12-7 20:27
HOTDLL,相信你的实力,但也要相信极端情况的存在,这不同于光盘的一键安装,没有大量的测试是不行的。
作者: hotdll    时间: 2011-12-7 22:47
标题: 回复 #24 victor888 的帖子
不发布永远没有大量的测试。。。。
我发布了。你帮我测试。哈哈
作者: Lkkkpep    时间: 2011-12-7 23:05
判断U盘是次要,多硬盘多活动分区,谁知道用户要装哪儿,一旦错了,彻底完蛋
作者: hotdll    时间: 2011-12-8 09:14
原帖由 Lkkkpep 于 2011-12-7 23:05 发表
判断U盘是次要,多硬盘多活动分区,谁知道用户要装哪儿,一旦错了,彻底完蛋

多硬盘多活动分区,第一主分区只有一个。。。




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