无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: gmy
打印 上一主题 下一主题

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[复制链接]
1#
发表于 2005-5-6 11:23:56 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/06 11:34am 第 2 次编辑]

对于楼主的问题,无非两种搞法,一种就是让Windows迁就DOS(估计楼主不是这个意思,因为我们这儿是DOS论坛),一种就是让DOS迁就Windows
第一种搞法就很简单了,在磁盘管理中把盘符C赋予逻辑F(FAT),盘符D赋予逻辑C(NTFS),盘符E赋予逻辑D(NTFS),盘符F赋予逻辑E(NTFS),这样在Windows下就和DOS+NTFS for DOS下盘符一致了;
第二种搞法可能很多朋友都没有试过,其实以前玩DOS游戏作FakeCD时经常使用到Subst命令,在楼主的规定下,似乎不允许使用非DOS命令(DOS外部命令总可用吧?),那么我就只用DOS外部命令,使用命令“subst f: c:\”即可将F盘符赋予给逻辑F盘(就是DOS下显示为C盘的那个盘),当然在不允许使用NTFS for DOS下,其他几个盘是无法显示的,如果允许使用NTFS for DOS,可以这样更换盘符
先在Config下面加载三个RAMDriver.Sys(用其他工具也可以,但似乎只有RAMDriver不是非DOS命令了,容量越小越好,要不楼主会说我占用内存太多),一定要在NTFS for DOS之前,目的是先占用盘符CDE,这样逻辑F盘就会是F盘符,逻辑CDE分别为GHI,再在Autoexec下面加入Subst C: G:\;Subst D: H:\和subst E: I:\,把盘符映射回来覆盖掉RAMDriver的内容,这样就于Windows下面盘符一致了,缺点就是会占用约100K的内存(看你HiMem和Emm386怎么配置了,设置得好完全可以不占用基本内存)和不到2K的磁盘空间(主要是编辑Config.Sys和Autoexec.Bat)
呵呵,说得好复杂,自己都看晕了,以上方案在DOS 6.22下实现,DOS 7.0外部命令太少,一直都不感冒。
编辑一下,再看看楼主的题目,还有光驱问题,MSCDEX一定要在Subst后加载,光驱盘符可以用MSCDEX /D:MSCD000 /L:G来强行定义为G盘符
回复

使用道具 举报

2#
发表于 2005-5-6 11:30:40 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/06 11:35am 第 1 次编辑]

楼主的题目还是很有意思的,说没什么意义的很有可能你更本就不常用DOS,或者不经常在Windows和实模式DOS下切换,亦不常在NTFS+FAT的DOS下使用,这儿是DOS论坛,追求的就是DOS技术的完美和纯青,轻松解决任何可能解决的问题(不管楼主这个问题有没有什么实际意义,即使是个很无聊的问题,但只要这个问题存在,我们就要去解决掉他,何况这个问题非常普遍,只不过大家就只是将就着用,没有花心思如何去解决它)
技术是一件很严肃的事情,不要让过多的菜鸟参与其中!
回复

使用道具 举报

3#
发表于 2005-5-7 19:50:56 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/07 08:09pm 第 2 次编辑]

  说真的,我的分区就和楼主题目一摸一样,CDE用NTFS用来提高速度和效率(加密和权限我用不上),但F盘我却是FAT32(因为这个盘有我的GHOST,而且我的启动光盘是没有加载NTFS for DOS的,也觉得运行光盘上的GHOST再去找NTFS分区的镜像文件麻烦),结果有次想重做系统,光盘启动就刷地Format C:/q/u了,要知道F盘是我的备份区,所有归类的Download和备份都在这儿啊!幸亏已经稀烂了的XP还可以勉强进去,用FinalData恢复了数据。其实在随机格式的分区要作出一个通用型的程序,还是有相当难度的,毕竟DOS是位于任何程序之前启动的,已经作出了盘符分配,要求做出的程序能够获得中断,能够修改盘符,使程序有通用性,还是有相当困难的。所以在楼主条件下,我只能做13楼那种修改,使自己的计算机拥有和Windows下一样的盘符分配。
技术是一件很严肃的事情,不要让过多的菜鸟参与其中!
回复

使用道具 举报

4#
发表于 2005-5-8 21:45:39 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

下面引用由gotomsdos2005/05/07 01:39am 发表的内容:
我觉得, 真正的难度在于事先不知道哪些盘是NTFS,才更有挑战性.就是说,作个程序或启动盘之类,放在任何电脑上用,都能使DOS盘符与WIN的一样!
我想,思路是:
怎样使DOS的NTFS(物理的)保留着盘符,也就是说,只有FAT分区 ...
这位老大,纠正一下,如果您使用过FinalData等工具,就知道:物理盘是指物理存在的硬盘,说简单点就是你电脑上面安了几块硬盘就有几个物理盘;逻辑盘是指用分区软件划分的区域;盘符则是这几个逻辑盘被系统所赋予的代号,一块物理盘,可以划分为一个或者几个逻辑盘,而每个逻辑盘,可以有1个盘符,也可以拥有多个盘符(可以用Subst实现),也可以没有盘符(磁盘管理里面可以实现)
所以,请不要搞混物理盘、逻辑盘以及盘符这几个定义,没有哪个物理盘会是NTFS的,顶多也就是这个物理盘上面所划分的某个逻辑盘的磁盘格式为NTFS
回复

使用道具 举报

5#
发表于 2005-5-9 22:03:30 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/10 01:11am 第 1 次编辑]
下面引用由Climbing2005/05/09 02:39pm 发表的内容:
还有,楼上的讨论只局限于机器中只有一块硬盘的情况,如果我有两块、三块或者四块硬盘又如何呢?总之,我的观点还是离开了计算机的基础知识,讨论这个问题简直毫无意义,而如果有了基础知识,更无必要再讨论这个 ...
哈哈,其实我是从DOS 2.0开始玩的,基础应该不差,只是那天昏了头,一冲动就Format C:/Q/U了(这是我从DOS时代遗留下来的一个非常不好的习惯,以前DOS6、95、98时代,别人说系统崩了,呵呵,Format C:/q/u就完了,用上2000XP了这一习惯都没改,自己都感觉打得好流利、好溜耍啊,嘎嘎),呵呵,要是我先打个Dir C:就好了,就不用多花半个小时去用FinalData了,和看见下划线就想用鼠标戳戳一样纯属个人不良习惯,各位见谅,见谅。
回复

使用道具 举报

6#
发表于 2005-5-9 22:32:37 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

To gotomsdos:
  这位老鸟&高手,首先向你表示崇高的敬意,小弟语出不逊而这位大哥一直保持良好的风度和我讨论这个问题,而且非常认真,令小弟受宠若惊。
  现在回到技术上面来。首先,我非常赞同Climbing的建议,放下你我的帖子不看,首先划清Physical Disk、Logical Disk、Primary Partition、Extended Partition、Logical Partition等概念,Climbing已经说得很清楚,小弟不在复述,只是在此重新阐述我的观点(以前帖子过期作废,现在开始重新讨论):
  第一,盘(Disk)的概念:如Climbing所说,盘只分为物理的和逻辑的,和FAT、NTFS格式是扯不上边的(格式是分区格式),一个存储器(可能是硬盘,软盘、磁带机、闪存盘、光存储器等等等等)就是一个物理盘,物理盘这个概念就是因为这个盘是物理存在的;逻辑盘,也就是逻辑上存在的盘,以硬盘为例,一个物理存在的硬盘(也就是一个物理盘)是可以划分为几个逻辑盘的,当然,也可以将两个或者多个物理盘(比如硬件RAID模式)组成一个逻辑盘(因为操作系统只把它当作一个设备来使用)
  第二、分区(Partiton)的概念:不知gotomsdos和Climbing是否同意我以下观点:在单硬盘(还是以硬盘为例)模式下,只存在一个物理盘,该物理盘划分为多个分区,对于操作系统来说,拥有多个逻辑盘(在最通常情况下,一个物理盘划分为多个逻辑盘,每个逻辑盘就是一个分区,每个分区被操作系统赋予一个盘符,当然,重申一下,这是最通常的情况下);在硬件RAID0模式下,存在两个物理盘,同样被划分为多个逻辑盘(其实每个逻辑盘就是一个分区),并被赋予盘符。
  总结,我个人观点:
    一、物理盘就是物理存在的盘,不存在格式的说法;
    二、逻辑盘是在物理盘上划分出来的,让操作系统认为有多个盘,在大多数情况下,分区是实现逻辑盘的一种方式
    三、分区分为主分区,扩展分区和逻辑分区,这是FAT格式分区的常用类型,常用的分区格式分为FAT(又分为FAT12、FAT16和FAT32)、NTFS、Linux(分为Linux Native和Linux Swap)等几种型号(当然很多特殊的操作系统都还有自己特有的分区格式)。
  不知道小弟我的认识有没有误区,至此小弟还死硬的坚持认为,一个分区如果仅因为分区格式未被当前操作系统识别,就称呼它为一个物理盘,未免有点找不到理由,重申小弟死硬观点,物理盘就是物理存在的盘,一块硬盘、一个光驱、一个软驱(当然得加张软盘)、一个闪存盘、一个磁带机(照例放盒磁带里面),就是物理盘!请Climbing加以判别,我自己都有点说昏了
回复

使用道具 举报

7#
发表于 2005-5-9 22:34:10 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

唉~~离楼主的题目越来越远,不知道会不会被斑竹删掉哦,要是被斑竹删掉了,gotomsdos、Climbing,我们就开个QQ群来聊哈
回复

使用道具 举报

8#
发表于 2005-5-9 23:14:23 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/09 11:32pm 第 11 次编辑]
下面引用由gmy2005/05/08 04:47pm 发表的内容:
其实,应该顺着GDISK的思路,但最新8.2版在网上没有找到,不知谁有下载,我的邮箱是 doshome@126.com
  说起来丢人,我还没用过GDisk这个东东咧,GDisk界面是得像梁朝伟还是像张柏芝都不知道哦,如果楼主一定要顺着GDisk这条思路走,我只有弃权哦,毕竟短时间内即使马上熟悉了GDisk也不敢拿出来亮啊,小弟没有过多的发言权,不过我的方法还是可以实现的,我上面的帖子说的自己都有点昏,下面我只写写代码:
Starting MS-DOS....            ;此时第四分区占用了盘符C,其他分区无盘符分配

====Config.Sys====
Device=HiMem.Sys /TestMem:Off
Device=EMM386.Exe RAM
DeviceHigh=RAMDrive.Sys /E         ;使用内存虚拟盘占用盘符D
DeviceHigh=RAMDrive.Sys /E         ;使用内存虚拟盘占用盘符E
DeviceHigh=OAKCDROM.Sys /D:MSCD000
LastDrive=Z
......
......
====AutoExec.Bat====
Subst.Exe F: C:\              ;将盘符F赋予现在的C盘(就是第四分区,FAT格式)
LoadHigh NTFSpro.Exe            ;由于CDEF都已被占用,三个NTFS分区依次为GHI
Subst.Exe C: G:\              ;将盘符C赋予现在的G盘(就是第一分区,NTFS格式)
Subst.Exe D: H:\              ;将盘符D赋予现在的H盘(就是第二分区,NTFS格式)
Subst.Exe E: I:\              ;将盘符F赋予现在的I盘(就是第三分区,NTFS格式)
LoadHigh MSCDEX.Exe /D:MSCD000 /L:G    ;将光驱盘符强行定为G盘
......
......
这样C对应第一分区、D对应第二分区、E对应第三分区、F对应第四分区,G对应光驱
缺点一:H、I仍分别对应第二分区和第三分区,有这么一个小尾巴,如果能用QEMM386里面的LastDrive.Exe就好了,可以再次设定一次LastDriver,将其值定为G(如果只有一个光驱的话,有两个光驱就定为H,三个光驱就不需要再定义了),可以用最后盘符的限制把小尾巴砍掉。
缺点二:加载内存虚拟盘时消耗了128KB扩展内存,不过可以适当缩小该值(暂时忘记最小值是多少了,没时间去试,记忆中好像最小4KB,那样就只用8KB扩展内存就够了)
回复

使用道具 举报

9#
发表于 2005-5-9 23:42:36 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/09 11:54pm 第 3 次编辑]

如果一定要用GDisk思路的话,这么试试(未经测试):
Starting MS-DOS....            ;此时第四分区占用了盘符C,其他分区无盘符分配

====Config.Sys====
Device=HiMem.Sys /TestMem:Off
Device=EMM386.Exe RAM
DeviceHigh=OAKCDROM.Sys /D:MSCD000
LastDrive=Z
......
......
====AutoExec.Bat====
GDisk.Exe 1 /hide /p:4           ;隐藏第四分区
LoadHigh NTFSpro.Exe            ;由于盘符C已被隐藏,三个NTFS分区依次为CDE
GDisk.Exe 1 /-hide /p:4          ;取消隐藏第四分区,会自动分配到F盘符么?
LoadHigh MSCDEX.Exe /D:MSCD000
......
......
  由于还没有测试,所以未经证实,我马上就去测试(我有两块硬盘,每块硬盘只分了一个区,而且还都是FAT格式的,当你看到这个帖子时,我可能还没转换完分区格式,D盘数据太多),不过自己对这种实现方法还是有一定怀疑的,第一,GDisk识别NTFS分区么?如果不能正确识别NTFS分区会不会把第四分区当作第一分区呐?第二,取消隐藏第四分区后,第四分区能正确自动分配到F盘符么?第三,该方法太不具备通用性,比方说要是我有块硬盘,GDisk 1就是对第一块硬盘操作……第四,楼主不是说GDisk占用空间么?导致我误认为不要用非DOS命令哦,害得我本来单纯的思想变得好复杂
  现在本人正在使用PQMagic Resize主分区大小,Creat扩展分区,Creat三个逻辑分区,Convert前三个分区格式为NTFS,并制作引导软盘,进行测试中……
  根据测试结果,本人保留修改本帖子甚至作废该帖子的权利。
回复

使用道具 举报

10#
发表于 2005-5-10 02:48:19 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/10 03:05am 第 4 次编辑]

  OK,经过十几分钟紧张而有条不紊的测试,我正式宣布,我上面的两个方案通通失败,原因:
    第一方案,Subst不能将已存在的盘符赋予其他盘,就是说,尚未使用的盘符可以随便给,已经用到的盘符,比如C、D等,是不能再次使用的;
    第二方案,GDisk仅仅是一个分区软件,将分区表修改后(隐藏分区),不重启对当前系统是无效的。
  因此,我只能再想其他办法!
  好了,这个时候感到为这个问题秀逗几天脑袋忽然清醒:既然楼主说大家应该顺着GDisk这个思路来,那么就是说不一定要使用DOS内部命令或者DOS外部命令,还是可以使用其他DOS工具的,这时我一拍大腿想到:其实,我的工具光盘里面早就有这样的一个DOS工具的,大家可以在帖子底部的链接下载这个工具,我利用这个工具成功的达到了楼主所要求的结果,占用空间仅57KB。
  系统环境:第一分区NTFS、第二分区NTFS,第三分区NTFS,第四分区FAT或者FAT32都行,DOS 7.0、NTFSpro 4.03
Starting MS-DOS 7.0 ....
====Config.Sys====
.....
.....
           ;Config.Sys无需进行任何修改
.....
.....
=====AutoExec.Bat====
@Echo Off
.....
.....
LetAssig.Exe /M C=F:
NTFSpro.Exe
MSCDEX.Exe /D:MSCD000
.....
.....
  有现成工具在手,实现就这么简单,想起LetAssig,真的就没任何技术难度了,不禁让我即解脱又失望:解脱,终于放下心中的石头;失望,本来能指望再次加强自己批处理或者其他DOS命令的熟悉程度,可是,一个可恨又可爱的软件全部都解决掉了。
  楼主可以选择我的实现方案无效,把威望发给用硬要用GDisk实现的人,那才是真正的DOS高手,我自认DOS水平还不错,拿着GDisk却没法实现:我用GDisk顶多实现到把NTFS分区变成CDE盘符,给硬用GDisk的朋友一点提示,先用GDisk隐藏掉FAT分区,然后用Debug Call FFFF:0000重启,或者在没加载光驱驱动的情况下调用int 19也可以,重启后AutoExec.Bat里面用If Exist判断已经没有C盘了(可利用判断C盘里面有没有特定文件来判断C盘是否隐藏,如果隐藏就加载NTFSpro,如果未隐藏就用GDisk隐藏分区),再然后,就是用GDisk取消分区隐藏,问题就在这儿,不重启找不到FAT分区,重启NTFSpro又失效,GDisk方案我只能走到这一步了,哪位有兴趣的高手,如能实现请一定告知小弟,跪谢!
  DOS下盘符修改软件:LetAssig.Exe(57.0KB)下载地址 http://homepage.814e.com/website/magictek/LetAssig.Exe
  整整凌晨三点了,点上一只烟,抽完,灭掉,去睡觉。
  明天,或者后天,我看能不能用LetAssig+WBat实现NTFS/FAT混合分区通用型的盘符无交错,想起来有点茫然,今天先睡好,明天边上班边想算了,头疼。
回复

使用道具 举报

11#
发表于 2005-5-10 03:09:15 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

  现在才看懂,楼主是说GDisk > 1.Txt么?是将GDisk显示分区的信息写到一个文本文件里面在用某某软件调用出来么?原来不是用GDisk的Hide功能啊,唉,小时候做作文都有不认真看题目的坏习惯,呵呵,明天再想,实现真的还是有点难度哦。
回复

使用道具 举报

12#
发表于 2005-5-10 19:21:09 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

下面引用由gotomsdos2005/05/10 10:23am 发表的内容:
to  magictek :
下不了啊,找不到地址
支持!
可以下呐,你再试试,真的可以下哦。
回复

使用道具 举报

13#
发表于 2005-5-10 19:26:44 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

RE:WANG6071
  知道,全自动可能性不大,我准备用分区软件显示一下分区信息,然后手动选择哪些是NTFS,哪些是FAT,半自动的。
回复

使用道具 举报

14#
发表于 2005-5-12 18:48:55 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

[这个贴子最后由magictek在 2005/05/12 06:54pm 第 1 次编辑]
下面引用由Climbing2005/05/12 03:14pm 发表的内容:
至于前面gotomsdos说的drive和disk的区别,实际上就是驱动器和盘片的区别,驱动器是指驱动盘的物理装置,而disk是指盘片,就好象软驱和软盘的区别(又如磁带机和磁带的区别),所以软驱就是Floppy Drive,而软盘就是Flopyy Disk。
本人表示严重同意!
回复

使用道具 举报

15#
发表于 2005-5-12 18:52:50 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

下面引用由Climbing2005/05/12 03:14pm 发表的内容:
gdisk只能显示FAT分区的盘符,NTFS分区的盘符并不能显示,隐藏分区的盘符也不能显示。如果有人有两块或者更多的物理硬盘,那么这个问题的复杂性会成级数的增长。
不知道GDisk的最新版支不支持,要不楼主怎么到处找GDisk 8.2咧?
不过的确如果拥有多块硬盘多个分区,复杂度是令人头昏的,DOS和Win';9x显示盘符本来就有问题(每块硬盘的主分区在最前面),再加上NTFSpro的后续显示,的确够昏。
回复

使用道具 举报

16#
发表于 2005-5-15 20:04:17 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

下面引用由我是神仙2005/05/14 03:41pm 发表的内容:
没意思。从题目上可以看出这不是怎样写秕处理的问题而是找到合适的小工具软件的问题。
呵呵,其实一个NTFSpro就非常大了(相对软盘而言),所以说……其实楼主应该终结这个帖子了,换个题目吧!~~
回复

使用道具 举报

17#
发表于 2005-5-18 21:28:18 | 显示全部楼层

DOS有奖问答No3:怎样让DOS盘符与WIN盘符显示一致?

楼主没给出FinalAnswer哦
回复

使用道具 举报

18#
发表于 2006-6-2 23:14:10 | 显示全部楼层
顶起来,不错的帖子,论坛改版后就沉下去了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-4 05:04

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表