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