无忧启动论坛

标题: [求助]如何用p处理确定U盘的hd? [打印本页]

作者: mapeimapei    时间: 2009-6-24 08:36
标题: [求助]如何用p处理确定U盘的hd?
最近看到fbinst.exe,所以也拉下来玩玩,感觉这东西很好,可以usb-zip和usb-hdd同时共存启动。用来将PE写进U盘再好不过了,但是有一个问题,就是怎么用p处理确定目标U盘的hd?  这就将我难住了。问下高手怎么确定?



下边是偶写的命令,高手看看
fbinst --debug (hd1) format --zip --fat32 --archive test.fba --force

这个命令下来就是将PE的文件和dos文件复制到U盘的,这个就简单的。。
作者: helloman    时间: 2009-6-24 13:34
这个是假定U盘是hd1的情况格式化吧,fbinst.exe是用fbinst -l命令来获取磁盘是hd0,还是hd1什么的,如果挂双硬盘,再插上U盘,就应该是hd2了
作者: mapeimapei    时间: 2009-6-24 14:37
这东西很危险的说,希望可以找到稳妥的方式确定U盘hd。。

万一一个数字输入错了,硬盘上的数据全都不见了。。分区也就不见了。。
作者: ljycslg    时间: 2009-6-24 15:23
不能确定就让用户选择嘛
作者: mapeimapei    时间: 2009-6-24 15:30
原帖由 ljycslg 于 2009-6-24 15:23 发表
不能确定就让用户选择嘛

fbinst -list可以列出所有硬盘和U盘的hd号码,如果让用户自己输入的话是可以解决的,但是由于用户仅仅输入的是一个数字,如1或者2等,如果输入错误,一个回车之后,本地硬盘上的数据和分区就全没有了。。

现在想这加一条条件控制命令,若输入硬盘容量大于20M的话,就返回错误值,重新选择。。
作者: helloman    时间: 2009-6-24 16:05
我觉得Pseudo的办法可行,就是要求操作者确认三次后才执行格式化:
@echo off
::假定U盘对应(hd1)——不是的请相应修改,千万别弄错。参考脚本:
title 安装0PE到ud脚本 Pseudo 2009.06.06,2009.06.16
cd /d "%~dp00PE2ud"
set times=1
:again
fbinst -l
set answer=
echo 看准U盘是对应(hd1)的吗?(hd1)上数据将被销毁,请确认三次,第%times%次确认(Y/N):
set /p answer=
if /i "%answer%"=="Y" goto :YES
echo 对不起,这个简单批处理只能处理U盘对应(hd1)的情形。
echo 不适合处理您的情况。
echo 按任意键退出...
pause>nul
exit
:YES
set /a times=%times%+1
if not "%times%"=="4" goto :again
echo 开始处理,请稍候...

echo 格式化U盘...
::必要时增大以下尺寸,目前为9M+62M
fbinst (hd1) format --force --fat32 --align --primary 9M --extended 62M

作者: mapeimapei    时间: 2009-6-24 17:18
原帖由 helloman 于 2009-6-24 16:05 发表
我觉得Pseudo的办法可行,就是要求操作者确认三次后才执行格式化:
@echo off
::假定U盘对应(hd1)——不是的请相应修改,千万别弄错。参考脚本:
title 安装0PE到ud脚本 Pseudo 2009.06.06,2009.06.16
cd / ...



这个方法是不错,毕竟用批处理要弄清U盘的hd偶这想不出来怎么搞。。
作者: cmdy268    时间: 2009-6-27 20:15
最好能让用户自己选,优盘是Hd1 HD2有时不一样的,我用fbinst都是看清楚才下手,不然后果........
作者: netwinxp    时间: 2009-6-27 22:13
123发过一个判断某个盘符是否是U盘的程序,老毛桃911的U盘安装里面好像也有这个咚咚。

[ 本帖最后由 netwinxp 于 2009-6-27 22:27 编辑 ]

checkusb.rar

6.24 KB, 阅读权限: 1, 下载次数: 62, 下载积分: 无忧币 -2


作者: leonliao78    时间: 2009-7-8 15:06
看清楚磁盘容量再下手可能保险一点
作者: adatsui    时间: 2009-7-8 21:06
早前不只一個把本地硬盤給 "處理" 理了, 不知到現在恢復了數據沒有.

有時候腦袋發熱, 不知怎的就把本地盤給干掉, 保險點的做法, 開機箱, 拔除所有本地硬盤的接線 (這也不太煩). 在單位內做些危險的玩意, 我就是這樣笨人笨方法.
作者: victor888    时间: 2009-7-9 12:03
如果批处理在U盘运行,那么确定U盘是很容易的事。相反,可以确定USB盘的数量,如果是一个,没有问题,可以一下确定,如果是2个及2个以上,那么,必须要指定要处理的U盘是哪一个。

对于U盘HD的指定,还是离不开注册表,这个位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Disk\Enum会告诉我们USB盘的序号,根据这里的键值来处理不会出问题。
作者: seniors    时间: 2009-7-9 17:13
哇 ,用888版的话,就不需要netwinxp的 usbcheck程序了

  1. "0"="IDE\\DiskST360015A_______________________________3.33____\\4b3530434e535651202020202020202020202020"
  2. "Count"=dword:00000003
  3. "NextInstance"=dword:00000003
  4. "1"="USBSTOR\\Disk&Ven_PE_ZIP&Prod_luboXP&Rev_2.10\\6&280fc11&0&000000007D6_"
  5. "2"="USBSTOR\\Disk&Ven_kingston&Prod_DataTraveler2.0&Rev_1.00\\00E04C0D858D5C941E17002A&1"
复制代码

上面是我插入二个usb后的情况,有人能发一下插入移动硬盘后的情况吗,我不知道移动硬盘的会是什么
作者: victor888    时间: 2009-7-10 08:49
移动硬盘和量产为FIXED类型的U盘其表现形式和以上是一样的。
作者: 假大空    时间: 2009-7-11 15:26
fbinsttool貌似比较安全了




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