中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何根据盘符知道分区在硬盘中的位置?
« [1] [2] [3] [4] »
作者:
标题: 如何根据盘符知道分区在硬盘中的位置? 上一主题 | 下一主题
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 46 楼』:  

真不好意思,上面是我不懂在瞎写了,惭愧。
我想问问,在 NT 的 WINDOWS 环境下,有没有什么简单点儿的命令能精确的返回出当前系统是从哪个盘启动的。也就是当前 WINDOWS 系统启动时调用的 NTLDR 和 BOOT.INI 在当前 WINDOWS 环境下是哪个盘符。

2006-8-19 07:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 47 楼』:  

主分区只会出现在第1个、第2个、最后第2个和最后1个,每个硬盘上最多可以有4个主分区,且只有1个是活动的。

了解了上述规律,所以WINDOWS下也是用20楼的判断。
如WINDOWS下用其他命令的可以用%systemdrive%回车用vol获取卷标或序列,再用ghost32 -dd 获取其盘号。批处理怎么做自己掂量一下吧。

2006-8-19 10:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 48 楼』:  

启动分区(ntldr所在分区)甚至不一定在第一硬盘上的:
比如ntldr,boot.ini等可以在第二硬盘的活动分区上,启动前在bios中设置从第二硬盘启动,启动后在windows的磁盘管理器中可以发现启动分区在第二硬盘上。

不过windows自己也经常认错启动分区,我的启动分区盘符是g:,在msconfig的boot.ini选项中一直从c:找boot.ini。不过磁盘管理器似乎总能找对启动分区的。

2006-8-19 10:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 49 楼』:  

你的情况在dos下无能为力了,WINDOWS下%systemdrive%用vol获取卷标用ghost32 -dd定位盘号的方法可行的,但必须有卷标,也可以判断在没有卷标的情况下创建一个卷标再用ghost32 -dd判断在定位盘号。

至于你的启动分区盘符是g:,我估计你的第2个硬盘在光驱IDE从上面,也可能你这个系统之前是在第1个IDE位置上安装的,再或者你用万能ghostxp安装xp,原生安装的xp盘符错乱会好一点的。

2006-8-19 12:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 50 楼』:  

我也试过在两个硬盘上都装系统。但没有你的情况。
如果第一硬盘不拔掉,直接在第二硬盘上装系统,系统仍然会把启动项目添加到第一个硬盘上。如果事先把第一个硬盘拔掉,直接在第二个硬盘上装。装完再接上第一硬盘。并在 BIOS 里设置从第二硬盘启动。那这样启动后,第二硬盘的启动内容在 WINDOWS 下一般就是 C 盘。第一硬盘被当作添加的硬盘,所有盘符全根在后面了。
请问,fujianabc 的启动分区在 G 盘上,是怎么装出来的?我不会 = = ,想了解下。

[ Last edited by NaturalJ0 on 2006-8-19 at 12:42 ]

2006-8-19 12:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 51 楼』:  

我就是像你那样先在第二硬盘上装系统,然后接上第一硬盘,把第一硬盘的主分区分盘符为g:,然后把ntldr,ntdetect.com,bootfont.bin和boot.ini拷到g:盘,把boot.ini的rdisk(0)改为rdisk(1)。
这样在bios中设为从第一硬盘启动之后,g:为启动分区,c:为系统分区。
如果在bios中设为从第二硬盘启动之后,启动分区和系统分区都是c:(c:在第二硬盘上)。

2006-8-19 13:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 52 楼』:  

原来是你手动移动了启动文件。
如果原来的第一个硬盘上装的也是 NT 系统的话,就不必移了。
先在第二个上单独装系统。装好后把第一个硬盘也接上。 BIOS 不必改动。总是第一个硬盘启动。直接去第一个硬盘的 BOOT.INI 里加上一项,最后是 rdisk(1) 就行了。

前面因为没搞清楚状况所以问了个比较傻的问题。现在重新问。
如果这样:

主区1(隐藏) 扩展区 主区2 主区3

扩展区就一个盘好了,不细分了

然后向主区3装 XP
装好后在 XP 系统下,各盘符和这四个区是怎么一一对映的?
NTLDR 和 BOOT.INI 在哪儿? (我觉得应该在主区2吧,不知道错没 = = )

2006-8-19 14:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 53 楼』:  

windows安装程序会把ntldr boot.ini等启动文件放在激活的的那个主分区上。
若主区2激活,则在2上;主区3激活,则在3上。

2006-8-19 21:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] [4] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: