很多人認為DOS不支持USB設備。因為USB設備標準是在Windows 95之后才制定的,而當時DOS的老東家微軟早已決定放棄繼續發展其MS-DOS了。這樣一來,當您想在DOS下操作USB設備的時候,往往只能望洋興嘆了。即使您使用的系統是Windows,當Windows崩潰要備份或恢復數據時,平時使用的USB硬盤等USB設備也都成了擺設。
幸好微軟并不能決定一切,Pocketec公司開發的DUSE就為我們提供了在DOS下對USB存儲設備(USB硬盤、軟驅、光驅)的支持,不過它目前還不支持較常見的USB ThumbDrive(即U盤)。若要在DOS下驅動USB的U盤,請使用Motto Hairu驅動程序。另外,如果想在純DOS下使用其它USB設備,如USB鼠標、USB打印機等,則可以使用其它的USB驅動程序,如USB_Link 中的OHCI/UHCI,以及USB4DOS等,均可在本站的“驅動程序”中找到相應的鏈接,并可在“DOS使用中的常見問題解答(FAQ)”中看到一些 DOS下使用USB設備的信息。
DUSE是DOS下的USB存儲設備的驅動程序,目前的最新版本為4.2,是今年剛推出的。它的用法很簡單,可在CONFIG.SYS中加載,也可以用它自帶的DUSELDR.COM程序來實現在DOS命令行下(包括批處理文件中)的加載。例如在CONFIG.SYS中加上一行:DEVICE=C:/DOS/DUSE.EXE或在DOS命令行下執行DUSELDR C:/DOS/DUSE.EXE均可。
如果要加載的是USB光驅,除加載DUSE驅動程序外,還需運行光驅擴展驅動程序,通常可以使用DOS自帶的MSCDEX.EXE。DUSE的默認光驅設備名是USBCDROM,在DOS命令行下可以像下面這樣運行MSCDEX.EXE:
MSCDEX /D:USBCDROM /K
如果要更好地使用和控制DUSE,可以使用它提供的參數,DUSE的運行參數如下表:
(說明:以下為它的4.2版的參數,其最新4.4版又增加了EMUIRQ、UBNU、DDWAIT等參數。[]中表示可以省略的,以VER[BOSE]為例,VERBOSE是參數的完整寫法,而VER則是簡寫,即[]中的BOSE可以省略。)
(1)VER[BOSE][=x], 允許顯示狀態信息。x的合法值是0、1和2。0表示不顯示信息,1表示顯示文本消息,2表示采用彈出式窗口顯示信息。默認值為0,如果輸入了VERBOSE參數但未設定x的值的話,默認值為2。
(2) WAI[T]=x, 設置顯示彈出式窗口到關閉此窗口的時間(以秒來計算)。x的合法值為0到255之間,默認值為3。只有當VERBOSE的值為2的時候此參數才有效。
(3)DRI[VES]=x, 設置允許的USB驅動器的數目。X取值從0到3。如果設置為0的話表示禁止USB驅動器的支持。默認值為1。
(4)NOD[RIVES], 禁止對USB驅動器的支持。此參數將覆蓋DRIVES參數設置。
(5)NOC[DROM], 禁止對USB CD-ROM光驅的支持。
(6)MEM[POOL]=x, 設置分配附加的內存的大小。DUSE會根據USB控制器的數目、傳輸的速度等來進行計算,確定最佳分配內存的大小。而設置此參數將由用戶決定內存分配的大小,x值的單位為KB,合法值在0到128之間。
(7)XFER[SIZE]=x, 設置允許的最大傳輸緩沖區,x值單位為KB來。增加傳輸緩沖區將增強傳輸性能,但也需要占用更多的內存。默認值為16。
(8)SEC[TORSIZE]=x, 設置USB驅動器的扇區大小。x的值用字節來表示。合法值為512,1024或2048,默認為512。
(9)APM[STATE]=x, 設置APM(高級電源管理)功能已啟用的USB設備中APM的級別。增加此級別將增加設備的性能,但會增加電源的損耗。下面列出了合法的APM的狀態x值:
* 最大性能 FEh
* 無掛起功能時中間的電源管理級別 81h-FDh
* 無掛起功能時最小電源損耗 80h
* 帶掛起功能時中間的電源管理級別 02h-7Fh
* 帶掛起功能時最小電源損耗 01h
x的默認值為0x7F。
(1)INT[13], 啟用硬盤的INT13功能支持. 此功能對一些磁盤工具(如FDISK)提供支持。
(11)DMA[SAFE], 分配在數據傳輸中使用的DMA安全緩沖區。在運行一些需要從擴展內存中分配的緩沖的應用程序時此參數是必須指定的。
(12)NOU[HCI], 防止初始化UHCI USB控制器。
(13)NOO[HCI], 防止初始化OHCI USB控制器。
(14)NOE[HCI], 防止初始化EHCI USB控制器。
(15)UHCN=x, 指定DUSE初始化的UHCI控制器的最大數目為x。
(16)OHCN=x, 指定DUSE初始化的OHCI控制器的最大數目為x。
(17)EHCN=x, 指定DUSE初始化的EHCI控制器的最大數目為x。
(18)LATE[INIT], 啟用“延時初始化”的功能. 當使用此功能時,驅動程序在DOS啟動階段從CONFIG.SYS文件中加載,但是直到在DOS命令中使用INIT參數運行DUSE時才會正式啟用USB 設備,典型是在AUTOEXEC.BAT文件的結尾。可看下面的“延時初始化”和“將DUSE當作應用程序來運行”的部分。
(19)EBAR=x, 指定EHCI BAR(基地址寄存器)將被分配到內存中的地址。x的值必須是四位的16進制數字并帶上前綴0x,例如要將EHCI BAR的地址置為0xE000,那么正確的命令行選項就是EBAR=0xE000。合法的地址區域在0xA000到0xF400之間。
(20)OBAR=x, 指定OHCI BAR將被分配到內存中的地址。上面對EBAR的描述可應用于OBAR。
(21)UBAR=x, 指定UHCI BAR將被分配到內存中的地址。上面對EBAR的描述可應用于UBAR,不過它的合法的地址區域在0x0400到0xF400之間。
(22)CDW[AIT][=x], 指示DUSE的初始化要等到第一個USB CD-ROM光驅的盤符被分配,或在x秒鐘之內不要結束。x的合法值在0到30之間。x=0是一個特殊值,它表示DUSE將一直等到第一個USB CD-ROM光驅的盤符被分配或用戶按下鍵盤上的ESC鍵。如果沒有指定x的值的話,默認為x=0。
(23)CDD[EVICE]=<設備名>, 指定USB CD-ROM光驅的設備名。默認設備名是USBCDROM。
(24)VFLOP[PY], 初始化時建立一個啟動軟盤的虛擬映像。
以下是使用一個命令行參數的例子。可參考此行把DUSE加入到CONFIG.SYS文件中:
DEVICE=C:/DUSE/DUSE.EXE VERBOSE DRIVES=2 XFER=8 SEC=2048 NOCD
此例子設置:
* 顯示彈出式狀態窗口
* 支持兩個USB驅動器
* 將最大傳輸緩沖區大小設為8K
* 將默認扇區大小設為2048字節
* 禁止對USB CD-ROM光驅提供支持
* 關于“延時初始化”的功能
當在CONFIG.SYS中以LATE[INIT]參數來運行DUSE(例如使用DEVICE=DUSE.EXE LATE)時,要真正使用USB設備還需進行一次真正的初始化。真正的初始化的方法是在DOS命令行下(包括批處理文件中)使用DUSE INIT命令。
* 關于“將DUSE當作應用程序來運行”的功能
將DUSE當作應用程序來在DOS命令行下運行時,DUSE只支持INIT參數。此參數在上面的“延時初始化”以后于DOS命令行上加載,使得DUSE真正初始化USB設備,以真正使用USB設備。
|
新聞熱點
疑難解答