![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-19 04:13 |
共 47,814 主题排行 / 349,908 发帖 / 今日 1 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » [求助]请问有没有通用判断系统启动分区盘符的方法? |
| 可打印版本 2,419 / 24 |
| 第1楼 forumz | 发表于 2007-11-12 17:45 |
| 初级用户 发帖 24 积分 176 | |
|
[求助]请问有没有通用判断系统启动分区盘符的方法? 就是有boot.ini, ntdect.com等启动文件所在的分区盘符, 一般情况下这个盘符是C盘, 但万一有特殊情况呢, 有没有一个比较通用的判断方法? 小弟需要的是在winxp, win2k系统环境下判断.
|
|
| 第2楼 lianjiang2004 | 发表于 2007-11-12 18:50 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
楼上的不对吧?比如win98在C:\,xp在D:\时,boot.ini在C:\,而%systemdrive%为d:
|
|
| 第3楼 forumz | 发表于 2007-11-12 18:51 |
| 初级用户 发帖 24 积分 176 | |
Originally posted by lianjiang2004 at 2007-11-12 06:50 PM: 是啊, 就是会有这种情况的出现, 所以%systemdrive%不一定是启动分区 有没类似%ststendrive%的变量是代表启动分区的呢? |
|
| 第4楼 fujianabc | 发表于 2007-11-12 18:58 |
| 金牌会员 发帖 1,616 积分 3,467 | |
|
楼住这个问题我以前研究过,似乎没有直接的变量代表启动分区,可以编一个批处理,在各个分区根目录寻找启动文件。
当然我以前还试过不给启动分区分盘符,系统能照样正常运行的。 |
|
| 第5楼 forumz | 发表于 2007-11-12 19:16 |
| 初级用户 发帖 24 积分 176 | |
Originally posted by fujianabc at 2007-11-12 06:58 PM: 小弟目前能想到的是用遍历c-z盘的方法判断是否存在boot.ini和ntdect.com两个文件来判断启动分区, 这样做一般情况下就没问题, 不过如你所说启动分区不分盘符,或者有些人几个分区都放boot.ini和ntdect.com文件情况也会有, 虽然可能性很微... 是否有可能注册表中某键值会对应着呢, 因为在"启动和故障恢复"设置窗口那系统是可以知道在哪里提取boot.ini文件. [ Last edited by forumz on 2007-11-12 at 07:35 PM ] |
|
| 第6楼 Climbing | 发表于 2007-11-13 09:20 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
一般来说,启动分区就是C:盘,不需要判断。
就算你的XP/2K安装在D:盘,那么它的启动文件,即boot.ini、ntldr等文件也是在C:盘。 |
|
| 第7楼 greenworld | 发表于 2007-11-13 09:54 |
| 初级用户 发帖 45 积分 86 | |
|
这个问题好解决,可以肯定的告诉LZ,无论你的系统安装在什么地方,boot.ini, ntdect.com等启动文件都在C盘根目录
|
|
| 第8楼 fujianabc | 发表于 2007-11-13 13:29 |
| 金牌会员 发帖 1,616 积分 3,467 | |
|
楼上两位说得不对,从winpe下winnt32.exe安装xp,如果启动分区和系统分区不是一个分区,就有可能产生系统分区为c:,启动分区为其它盘符。
可以给你们看一下我现在的分区,xp系统分区是c:,包含ntldr等文件的启动分区没分盘符,而像linux一样,把启动分区挂载在系统分区的boot目录下了。 [ Last edited by fujianabc on 2007-11-13 at 01:34 PM ] 附件 2.png (28.17 KiB) |
|
| 第9楼 forumz | 发表于 2007-11-14 09:02 |
| 初级用户 发帖 24 积分 176 | |
Originally posted by fujianabc at 2007-11-13 01:29 PM: 麻烦jujianabc兄再帮帮忙, 按照你这样没给启动分区配置盘符的情况下以下注册表项是什么内容: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup 下的 BootDir 键值的内容是什么呢? 谢谢~ |
|
| 第10楼 fujianabc | 发表于 2007-11-14 10:21 |
| 金牌会员 发帖 1,616 积分 3,467 | |
Originally posted by forumz at 2007-11-14 09:02 AM: 我现在这个键值是G:\,但我没有分区的盘符是G:。 但我觉得你好像找对地方了,我这种情况你就不用考虑了,估计没有其他人会这样做的,我这样做的目的就是不让任何软件来自动修改boot.ini。 |
|
| 第11楼 forumz | 发表于 2007-11-14 10:52 |
| 初级用户 发帖 24 积分 176 | |
|
嗯, 大致也就只能做到这步了. 估计win系统将你的这个boot分区自动分配了一个你不用的盘符作为内部识别使用吧.
不过抱着研究的心态想问问: 1. 按你的设置, 在 我的电脑点右键->属性->系统属性->高级->启动和故障恢复 界面里面按"编辑"键 会跳出 boot.ini 文件的修改吗? 2. 另外 那些系统安全软件例如 sreng2.5 等还能读取你系统的 boot.ini 文件吗? 3. 如果在"运行"输入 "notepad g:\boot.ini" 会怎样呢? 纯粹是比较好奇想知道系统和那些安全软件是如何获得boot.ini文件位置的, 麻烦fujianabc兄了. |
|
| 第12楼 lianjiang2004 | 发表于 2007-11-14 12:40 |
| 金牌会员 发帖 1,884 积分 3,946 | |
|
似乎甚至可以把c:隐藏掉,来启动D:\的xp吧?
|
|
| 第13楼 fujianabc | 发表于 2007-11-14 16:08 |
| 金牌会员 发帖 1,616 积分 3,467 | |
Originally posted by forumz at 2007-11-14 10:52 AM: 这些我早就试过了,系统属性,msconfig,以及bootcfg命令都找不到boot.ini文件,g:当然是不能访问。 另外,还想提一点,以前我试过从软盘引导ntldr/boot.ini,也能启动硬盘上的xp,启动后拿掉软盘,系统也会找不到boot.ini的。 |
|
| 第14楼 fujianabc | 发表于 2007-11-14 16:11 |
| 金牌会员 发帖 1,616 积分 3,467 | |
Originally posted by lianjiang2004 at 2007-11-14 12:40 PM: 我同学以前不知道怎么装了一个xp,系统分区和启动分区都是d:,而且系统没分c:盘,硬盘盘符是从d:开始的。 因为c:空闲,他的xp上插上u盘,系统就会把u盘分成c:。 |
|
| 第15楼 forumz | 发表于 2007-11-14 17:56 |
| 初级用户 发帖 24 积分 176 | |
|
用这种方法来保护启动分区果然够绝
真是学习了~~ |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |