| | | [討論]MSDOS7.10啟動(dòng)過(guò)程中各因素的相互影響 | 我的autoexec.bat開(kāi)機為什么不自動(dòng)運行,是在dos下的。我是用我是用copy 的方法裝的dos。請問(wèn)師傅為什么???
—————————————— willsort 版務(wù)記錄 —————————————— 修改原標題:(討論)MDOS7.10啟動(dòng)過(guò)程中各因素的相互影響 —————————————— willsort 版務(wù)記錄 ——————————————
[ Last edited by willsort on 2006-1-7 at 19:14 ] | | xp 中的autoecec.bat和config.sys是什么樣的?在什么位置?怎么自動(dòng)加載???
| | Re hetao:
JonePeng 已提到,在 WinNT/2k/XP/03 這一系列操作系統中,已不再使用系統盤(pán)根目錄下的 config.sys 和 autoexec.bat 。其 %SystemRoot%\system32 下的 config.nt 和 autoexec.nt,僅用于NT的命令行環(huán)境 command.com (不包括cmd)的默認啟動(dòng)配置,而且這種設置是可以修改的。
至于你的環(huán)境為何無(wú)法加載 autoexec.bat ,那取決于是否在啟動(dòng)時(shí)能正確引導至DOS系統,以及 autoexec.bat 是否位于 DOS 系統盤(pán)的根目錄上。此二條件缺一不可。
---------- Edited by willsort ---------- 紅色字體所示內容,經(jīng)驗證乃錯誤言論,敬請注意! ---------- Edited by willsort ----------
[ Last edited by willsort on 2005-9-25 at 10:24 ]
| | 謝謝版主的指教,我copy了一個(gè)msdos.sys到c:盤(pán)根目錄,autoexec.bat可以自動(dòng)運行了,但版主能不能講講這兩個(gè)文件間的關(guān)系。我發(fā)現亂修改msdos.sys也會(huì )使autoexec.bat不運行,但為什么能啟動(dòng)dos?。ㄖ皇遣粓绦衋utoexec.bat)。 今外你說(shuō)的 config.nt 和 autoexec.nt是不是啟動(dòng)NT的命令行環(huán)境才運行啊,能開(kāi)機運行嗎?
| | Re hetao:
在單系統平臺下, msdos.sys 應該不會(huì )影響 config.sys 和 autoexec.bat 的識別,我嘗試在 MSDOS 7.10 單系統中移除 msdos.sys 文件,二文件仍然正常執行。如果你的多系統環(huán)境,比如 msdos7.10(或win98) 與 msdos 6.22 的雙系統,則 msdos.sys 中的 bootgui,bootmulti 等項目會(huì )影響 config.sys 和 autoexec.bat 的識別和運行。但是,你至今尚未說(shuō)明你的系統概況,尤其是通過(guò)什么方式加入 DOS 啟動(dòng)的。
至于 config.nt 和 autoexec.nt 是否能夠開(kāi)機運行,那取決于 NT 下的 command 是否可以開(kāi)機運行,目前為止,我未收到相關(guān)方面的消息。至于 XP 啟動(dòng)菜單中的命令行方式,那是啟動(dòng)了 cmd ,而非 command 。而設定登錄腳本是否可以實(shí)現,囿于經(jīng)驗淺薄不得而知。
| | 很不好意思 willsort,我的系統概況一直寫(xiě)的不太清楚,給你添了不少麻煩,下面我說(shuō)
明我的系統概況: c:盤(pán)裝的是windows2000pro d:盤(pán)裝的是windows xp pro e:盤(pán)是影視,動(dòng)畫(huà)文件 f:盤(pán)是備份。一個(gè)1.44M軟驅?zhuān)粋€(gè)光驅。 這是現在的情況,以前重裝過(guò)幾次系統,c:盤(pán)曾裝過(guò)windows 98后來(lái)又換成了windows
2000就是現在的情況。在c:盤(pán)有bootsect.dos文件,autoexec.bat和config.sys為空文
件。我把下載的dos7.1正常安裝到了windows 2000下的virtual pc虛擬機中,又從虛擬
機中把io.sys,command.com復制到真實(shí)機的c:盤(pán)中,把其它一些工具復制到真實(shí)機的
c:\dos文件夾中,配置好config.sys和autoexec.bat兩個(gè)文件沒(méi)配置msdos.sys文件,在
boot.ini中添加了dos 的啟動(dòng)項。啟動(dòng)電腦后,能進(jìn)入到dos,也能加載config.sys中的
配置,就是不自動(dòng)執行autoexec.bat文件,還得手動(dòng)執行。從虛擬機中把msdos.sys件復
制到真實(shí)機的以c:盤(pán)中,重啟后能自動(dòng)執行autoexec.bat文件。我試圖刪除msdos.sys中
的某些項目,看能否自動(dòng)執行autoexec.bat文件以找出影響autoexec.bat執行的項,但
我不太清楚msdos.sys各項的作用,里面的配置項又太多試了兩三次就作罷了,所以就到
這里向師傅求救了。 我在書(shū)上看到通過(guò)設置windows2000/xp注冊表項
([hkey_current_user\software\microsoft\windowsnt\currentversion\winlogon]
parseautoexec的dword值為1時(shí)啟動(dòng)執行autoexec.bat,為0不執行)能決定開(kāi)機是否執
行autoexec.bat文件是怎么回事???
| | msdos.sys部分選項: [Options]
AutoScan=1/0
BootDelay=2/?
BootGUI=1/0
BootKeys=1/0
BootMenu=0/1
BootMenuDefault=1/2/3/4/5/6/7
BootMulti=0/1
BootWarn=1/0
BootWin=1/0
DblSpace=0/1
DoubleBuffer=0/1
DrvSpace=0/1
Load Top=1/0
Logo=1/0
WinVer=4.10.1998
AutoScan:非正常關(guān)機后下次啟動(dòng)是否運行 ScanDisk。
BootDelay:開(kāi)機時(shí)熱鍵按下前的等待時(shí)間(單位:秒)
BootGUI:?jiǎn)?dòng)時(shí)是否進(jìn)入 Windows 的 GUI 界面(否則為DOS界面)。
BootKeys:?jiǎn)?dòng)時(shí)熱鍵是否有效。
BootMenu:?jiǎn)?dòng)時(shí)是否顯示啟動(dòng)菜單(否則要按下熱鍵才顯示)。
BootMenuDefault:顯示啟動(dòng)菜單時(shí)的默認項(即光標所在項)。
BootMulti:是否允許啟動(dòng) DOS 6.xx(前提是啟動(dòng)盤(pán)中有舊版 DOS 啟動(dòng)文件,且此盤(pán)必須為 FAT16)。
BootWarn:在啟動(dòng)過(guò)程中失敗后,下次啟動(dòng)是否提示進(jìn)入安全模式(這最煩,關(guān)掉好?。?。
BootWin:?jiǎn)?dòng)時(shí)是否自動(dòng)裝入舊版 DOS。
DblSpace:?jiǎn)?dòng)時(shí)是否裝入 DBLSPACE.BIN。
DoubleBuffer:是否啟動(dòng)雙緩沖區支持。
DrvSpace:?jiǎn)?dòng)時(shí)是否裝入 DRVSPACE.BIN。
Load Top:?jiǎn)?dòng)時(shí)是否將系統核心的一部分裝入高端內存。
Logo:?jiǎn)?dòng)時(shí)是否顯示“藍天白云”。
這個(gè)是從95的MSDOS.SYS上來(lái)的,至于NT下是否有用不知道~
| | Re hetao:
關(guān)于 “ParseAutoexec” ,經(jīng)你的提醒,我找到了這個(gè)網(wǎng)頁(yè)鏈接 http://www.winguides.com/registry/display.php/162 , 其中提到按以下要求設置注冊表,可以決定 XP 啟動(dòng)時(shí)是否分析系統盤(pán)根目錄下的 autoexec.bat 中的環(huán)境變量設置語(yǔ)句(默認設置為分析),至于其它的語(yǔ)句則始終不予分析。
所以,我在5樓提到的相關(guān)觀(guān)點(diǎn)是錯誤的,在此多謝你的提示!
| Quote: | User Key: [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon] Value Name: ParseAutoexec Data Type: REG_SZ (String Value) Value Data: (0 = disabled, 1 = enabled) | | 對于如何在 XP 啟動(dòng)時(shí)自動(dòng)調用 autoexec.bat 。經(jīng)查, XP 的登錄腳本必須使用相對路徑(相對于用戶(hù)配置路徑),所以此方案暫不可行;其它的可行性方案,可以考慮將 autoexec.bat 置入開(kāi)始菜單的 "啟動(dòng)" 菜單中,或者置入注冊表中的 [run] 子鍵下。
最后,對于你的 msdos.sys 影響 autoexec.bat 的問(wèn)題,因為我無(wú)法復現問(wèn)題,所以無(wú)法做深入分析,在此只能略做一些提示。
在 msdos 系統中, config.sys 是由 io.sys 讀取并根據它配置系統環(huán)境的,而 autoexec.bat 是由 command.com 讀取并解釋執行的;而在 dos 的啟動(dòng)過(guò)程中,系統引導區會(huì )將進(jìn)程控制權先轉交給 io.sys ,再由 io.sys 根據 config.sys 的配置調入命令解釋器(外殼),而默認的命令解釋器就是 command.com,它相當于windows的explorer。
從你的情況看,問(wèn)題應該出在 command.com 進(jìn)程中,而 msdos.sys 對它所能施加的影響我尚不是很清楚??梢陨蟼髂愕?msdos.sys / config.sys / autoexec.bat 讓大家一同分析一下。
[ Last edited by willsort on 2005-9-25 at 10:56 ]
| | 以下是這三個(gè)文件的內容具體內容 config.sys:
devicehigh=c:\dos71\himem.sys devicehigh=c:\dos71\umbpci.sys shell=c:\command.com dos=high,umb,auto
set path=c:\dos71;..;. installhigh=c:\dos71\smartdrv.exe installhigh=c:\dos71\doskey.com rem installhigh=c:\dos71\doslfn.com
msdos.sys: \;MS-DOS 7.10 System Configuration File ;(C)Copyright Microsoft Corp 1981-1999 ;=====================================
[Options] AutoScan=0 BootDelay=0 BootGUI=0 BootMenu=0 BootMulti=0 BootSafe=0 BootWarn=0 DisableLog=0 DoubleBuffer=0 Logo=0 SystemReg=0 ; ;For compatibility with Windows 9x GUI only: WinVer=4.10.
[Paths] windir=C:\ winbootdir=. HostWinBootDrv=C
; ;===================================== ;MS-DOS 7.10 System Configuration File ;(C)Copyright Microsoft Corp 1981-1999 ;===================================== ;
autoexec.bat: lh c:\ccdos\ccdos
以上是三個(gè)文件的具體內容:如果移除msdos.sys電腦啟動(dòng)就不自動(dòng)執行autoexec.bat(具它正常),如果有msdos.sys沒(méi)任何問(wèn)題.我試著(zhù)修改msdos.sys發(fā)現不能自動(dòng)執行autoexec.bat,就是msdos.sys 要為特定內容才行. 另外我加載ntfsdos的時(shí)候提示沒(méi)有DPMI(dos protect mode interface)dos保護模式接口.請問(wèn)師傅怎么才能使有DPMI功能.
| | Re hetao:
十分抱歉!因為拷貝你所提供的文件時(shí),使我突然對文件的防覆蓋復制產(chǎn)生了興趣,花了一天的時(shí)間去完成了一個(gè)批處理,不久前剛剛有所進(jìn)展。使用了我所編寫(xiě)的程序,將你提供的文件拷入了我的測試環(huán)境中。
經(jīng)實(shí)際測試,證實(shí)是 BootGUI 設置項決定了 autotexec.bat 是否被解釋執行。當其設置為1或不設置時(shí), autoexec.bat 將被忽略。
分析其中的原因,應該是 BootGUI 決定了 io.sys 所加載的外殼:當其值為0時(shí),command.com 被作為外殼,引導進(jìn)入DOS環(huán)境,其中包括我在10樓所提到的讀取解釋 autoexec.bat 這個(gè)過(guò)程;而當其值為1時(shí),win.com被作為外殼,但是因為dos單系統環(huán)境或者無(wú)Win9x的多系統環(huán)境都無(wú)法在windows目錄下找到win.com,所以引導將會(huì )中止,而autoexec.bat也沒(méi)有了執行的機會(huì )。
| | 沒(méi)關(guān)系! 我也測試過(guò)了,msdos.sys中有兩個(gè)選項會(huì )影響autoexec.bat的正常執行: 一個(gè)是你說(shuō)的[option]中的bootgui= 另一個(gè)是[paths]中的windir= 缺少一個(gè)autoexec.bat就不會(huì )正常執行,只要有這兩個(gè)選項就沒(méi)什么問(wèn)題。 如果沒(méi)有“bootgui=0“項,會(huì )有出錯提示并且不執行autoexec.bat。而缺少“windir=”項沒(méi)有任何提示且不執行autoexec.bat,這一項只有在啟動(dòng)win9x時(shí)才有意義如果只啟動(dòng)dos的話(huà)“windir=”后的路徑可以任意填,但如果不填autoexec.bat就不會(huì )執行。但是不知道為什么會(huì )這樣?不知道師傅是怎樣看的? 另外我加載ntfsdos的時(shí)候提示沒(méi)有DPMI(dos protect mode interface)dos保護模式接口.請問(wèn)師傅怎么才能使有DPMI功能.
| | Re hetao:
根據你的測試,我再次做了更深入的探索,發(fā)現這個(gè)問(wèn)題的要素點(diǎn)很多,主要如下。
1、config.sys 中是否設置了 shell=c:\command.com ; 2、msdos.sys 中是否有 windir=C:\ ; 3、msdos.sys 中是否有 BootGUI=0 ; 4、autoexec.bat 中是否設置了 path c:\windows 或者 set path=c:\windows;c:\dos71 等類(lèi)似的設置 win.com 搜索路徑的語(yǔ)句;
它們對啟動(dòng)過(guò)程的具體影響,我尚在研究。目前來(lái)看,就你現在的啟動(dòng)環(huán)境而言,如果沒(méi)有msdos.sys,可以在啟動(dòng)后輸入exit,退出shell一句所創(chuàng )建的新外殼,便執行autoexec.bat了;或者也可刪除這句 shell ,啟動(dòng)時(shí)便將直接執行autoexec.bat。
至于 DPMI 支持,只要加載 Wengier 的 超級通用 MSDOS7.10 啟動(dòng)盤(pán)中的 cwsdpmi.exe 就可以了。這個(gè)啟動(dòng)盤(pán)多處站點(diǎn)都有下載的。即使沒(méi)有,cwsdpmi作為很常見(jiàn)的內存擴展工具,應該很好下載的。如果實(shí)在找不到,我可以上傳提供。
[ Last edited by willsort on 2005-9-28 at 20:33 ]
| | Re All:
現公布我的初步測試結果。
———————————————————————————————————————— 項目:MSDOS.SYS中BootGUI和windir=C:\對啟動(dòng)過(guò)程的影響。 環(huán)境:MSDOS7.10,C:\Windows下安裝Win3.2 設置:config.sys 中含有 shell=c:\command.com 一句, autoexec.bat 中含有 set path=%path%;c:\windows 一句 其它同參考 9 樓的配置文件 設定: B0 BootGUI=0 B1 BootGUI=1或;BootGUI=0 WC windir=C:\ WD ;windri=C:\ DA 忽略執行(Disable Autoexec.bat) PA 解釋執行(Parse Autoexec.bat) CW 提示未找到Win.com (Cann't find win.com) NE Exit無(wú)法退出外殼command.com EC Exit退出提示未找到command.com SW 啟動(dòng)Windows3.2(Win.com)
結果: 1) B0+WC:PA,EC,PA,SW 2) B0+WD:DA,EC,PA 3) B1+WC:DA,CW,NE 4) B1+WD:DA,EC,PA
討論: 從2/4對比一致結果來(lái)看,BootGUI并未起到?jīng)Q定性作用,它只會(huì )告知IO.SYS在啟動(dòng)結束后,啟動(dòng)Win.com,而這個(gè)啟動(dòng)過(guò)程是可以被終止的(3/4); 而從1/2,3/4對比結果,可以看出windir的設置與否至關(guān)重要,它除了影響環(huán)境變量winbootdir/temp/tmp(實(shí)測中并未設置windir變量)外,它會(huì )對autoexec.bat和win.com的路徑配置也會(huì )產(chǎn)生影響,而對win.com的影響可能是間接的,因為win.com的路徑設置在autoexec.bat中。 比較奇怪的地方有: 1)中未啟用BootGUI,卻最終啟動(dòng)了Win.com; 3)中剛啟動(dòng)到新外殼便開(kāi)始搜索win.com(其時(shí)autoexec.bat尚未被執行) 4)中解釋了Autoexec,卻無(wú)法啟動(dòng)win.com; ————————————————————————————————————————
另外,我監測到了另外一個(gè)交叉影響:當config.sys中存在menudefault項時(shí),msdos.sys即使設置logo=1,仍無(wú)法顯示啟動(dòng)LOGO。而這個(gè)啟動(dòng)LOGO還受其它因素影響,尚未確定,可能與啟動(dòng)時(shí)間有關(guān)。
| | |
|
|
|