Board logo

标题: 有没有判定第2硬盘接口有无硬盘的命令 [打印本页]

作者: wuchan     时间: 2008-12-3 14:39    标题: 有没有判定第2硬盘接口有无硬盘的命令

不知道dos下有没有判定硬盘接口上有无硬盘的命令,或硬盘侦测命令,最好是也能侦测出硬盘的容量,且在auto或config中就能执行的.
作者: wwmmc     时间: 2008-12-3 19:26
bios 就可以看出来,为什么非要用dos  呢
作者: lianjiang2004     时间: 2008-12-3 20:54


  Quote:
Originally posted by wwmmc at 2008-12-3 19:26:
bios 就可以看出来,为什么非要用dos  呢

要软件自动判断,不要眼看,呵呵。
作者: netwinxp     时间: 2008-12-4 09:43
BIOS数据区0040:0075存放的是硬盘数量,然后再通过INT 13H配合硬盘号可获得BIOS检测到的各硬盘的容量。
PS:虚拟机有BUG,一些BIOS数据区的数据是不可靠的,比如时钟。

[ Last edited by netwinxp on 2008-12-4 at 09:45 ]
作者: wuchan     时间: 2008-12-4 12:05
我因为原来是由个批处理,  先要检测看看有没有硬盘,如果没有要低格,低格后开始网克原来第一步都要手动的操作.想把它改成自动的.所以就问问有没有类似的命令

半路出家,所见的命令有限,还想学习下
作者: oilio     时间: 2008-12-4 15:03
我抛块砖引一下,不知道用gdisk命令行不行,就是不知道gdisk 2返回的错误码是不是也和其它命令一样。如果是的话,用if来判断就容易多了吧。
作者: lianjiang2004     时间: 2008-12-4 16:04
判断有没有硬盘,与“有没有判定第2硬盘接口有无硬盘的命令”,完全是两码事。

gdisk,dspt等磁盘工具都可以判断是否有硬盘,及有几个硬盘。但似乎无法判断是接在哪个接口上。
作者: oilio     时间: 2008-12-4 18:03
lianjiang2004兄,我的硬件知识确实比较匮乏,我的理解是IDE第一个接口不就是gdisk所认为的硬盘1吗?如果只有一块硬盘接在了IDE接口2上,gdisk也认为是1??那gdisk是凭什么去定位硬盘1和硬盘2的呢?只有一块硬盘且把这块硬盘放在第二个IDE接口上,运行gdisk 1 /del /all也能成功?这个我还真没实验过,我只实验过gdisk32,在XP下gidsk 1会显示我的那块硬盘的整个分区信息,返回码是0,gdisk 2就是错误的提示信息,查看返回码是1,是我理解有误吗?lianjiang2004兄能给我解释一下吗?谢谢!

[ Last edited by oilio on 2008-12-4 at 18:06 ]
作者: lianjiang2004     时间: 2008-12-4 19:41
硬件我也不懂。
不管接在哪个接口,dos下,启动硬盘永远是第一硬盘,甚至可能是U盘。
只有一块硬盘的话,不管接哪,gdisk 2自然都会出错。呵呵。


下面是分别用硬盘和u盘启动后,gdisk的显示结果:

Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
  1        6        19929     255      63  156334.5  Maxtor 6Y160P0
  2        1          252     255      63    1983.0  USB2.0 Flash Disk 2.20

Disk  Partitions  Cylinders  Heads  Sectors  Mbytes  Model
  1        1         1007      64      63    1983.0  Unavailable
  2        6        19929     255      63  156334.5  Maxtor 6Y160P0
作者: oilio     时间: 2008-12-5 11:08
哦,原来是这样啊,谢谢。那以后万一要用gdisk写高危命令要小心啦。
作者: wuchan     时间: 2008-12-25 11:37
学习了.,就是说用gdisk也要跟引导有关系.
作者: netwinxp     时间: 2008-12-25 14:11
我说的那个地方的数据是BIOS自动生成的本地硬盘的数量,所以肯定不会有错,即便你把硬盘接在IDE2 Slave。
***虚拟机不一定能用,因为虚拟机对BIOS数据区很多不会刷新,可以算是虚拟机的BUG***