vFloppy虛擬軟驅(qū)
1 個(gè)附件
可以在沒有軟驅(qū)的機(jī)子上實(shí)現(xiàn)“軟驅(qū)啟動(dòng)”,適用于XP/2000——我用加裝DOS雙系統(tǒng)啟動(dòng)。曾經(jīng)試著結(jié)合subst把98裝進(jìn)一個(gè)文件夾內(nèi)。可以正常使用——只是因?yàn)樘摂M軟驅(qū)似乎是只讀的,故此不能對(duì)該系統(tǒng)做大的修正,遺憾
1.2 原理 設(shè)置好程序,點(diǎn)擊“應(yīng)用”時(shí)程序主要干了如下事情: 由文件資源把扇區(qū)“引導(dǎo)文件”(VLOADER.BIN)和“軟驅(qū)模擬文件的執(zhí)行代碼”(VMEMDSK.BIN)及命令行主執(zhí)行程序(VFLOPPY.EXE)保存到用戶指定的文件夾中。 執(zhí)行命令行主執(zhí)行程序 vFloppy.exe,更新“引導(dǎo)文件”和“軟驅(qū)模擬文件的執(zhí)行代碼”文件。 設(shè)置引導(dǎo)文件”(VLOADER.BIN)和“軟驅(qū)模擬文件的執(zhí)行代碼”(VMEMDSK.BIN)文件的屬性為“系統(tǒng)、隱藏”。 刪除命令行主執(zhí)行程序 vFloppy.exe。 顯示執(zhí)行結(jié)果。 前面執(zhí)行沒有發(fā)生錯(cuò)誤時(shí),修改 BOOT.ini 文件,在 [operating systems] 小節(jié)中添加形如 C:\BOOT\WINDOWS.bin="由虛擬啟動(dòng)軟盤啟動(dòng)" 的內(nèi)容項(xiàng)。 為顯示效果,請(qǐng)求重啟系統(tǒng)。 1.2.2 如何取消啟動(dòng)? 在主程序中打開 BOOT.ini 刪除形如 “形如 C:\BOOT\WINDOWS.bin="由虛擬啟動(dòng)軟盤啟動(dòng)"” 行。 沒了 ... 1.3 特點(diǎn) 完全的圖形界面,對(duì)原“命令行”的封裝絕對(duì)的“原汁原味”。 把扇區(qū)“引導(dǎo)文件”(VLOADER.BIN)和“軟驅(qū)模擬文件的執(zhí)行代碼”(VMEMDSK.BIN)及命令行主執(zhí)行程序(VFLOPPY.EXE)封裝成為單個(gè)執(zhí)行文件。 帶了個(gè)簡易的“文本編輯器”-用于編輯 BOOT.INI。因?yàn)樵?98/2000/XP/2003 中 BOOT.INI 往往是“只讀、系統(tǒng)、隱藏”的文件,在編輯時(shí)必須“顯示系統(tǒng)文件”,且去掉相關(guān)的屬性才能編輯保存,操作非常的不便。而“文本編輯器”在“保存”時(shí)會(huì)自動(dòng)去掉原來的屬性,是之可以正常的編輯,在保存后再恢復(fù)其原來的屬性。 安全-這是原來“命令行”程序中的“承諾”, =^0^= 支持文件直接拖拽。 綠色軟件。 1.4 界面 程序主界面 文本編輯器 運(yùn)行報(bào)告 1.5 文件 壓縮包中包括三個(gè)文件: vFloppy.exe: 主應(yīng)用程序; vFloppy.chm: 應(yīng)用程序幫助程序; BootDisk.img: 一個(gè) windows 98 啟動(dòng)盤映象,除了標(biāo)準(zhǔn)的啟動(dòng)盤文件外只包括:smartdrv、pqboot等小東東。 NTFS.img: CIA Commander v 1.0 做成的一個(gè)軟盤映象。一個(gè)可以用來訪問 NT/2000/XP 的 NTFS 文件系統(tǒng),以啟動(dòng)盤來圖形化訪問用戶管理程序,注冊(cè)表和文件系統(tǒng)的工具。 同上。 BOOTSECT.cdr: 《電腦愛好者》“把軟驅(qū)裝進(jìn)硬盤吧-軟驅(qū)終結(jié)者”作者 zyfstudio 提供的可是現(xiàn)“從光盤引導(dǎo)” 的文件。 可以在啟動(dòng)菜單中添加一個(gè)掃描啟動(dòng)設(shè)備的功能,這樣就能在啟動(dòng)菜單中選擇從光盤引導(dǎo)系統(tǒng)了,不用再修改 CMOS 設(shè)置了。 使用方法很簡單,在 boot.ini 中添加一句: C:\boot\Bootsect.cdr="從光盤引導(dǎo)" 1.6 關(guān)于我 1.6.1 和我聯(lián)系 什么?程序太爛?對(duì)我很崇拜 ?×(&*^*()*_ =^0^= MailTo Me ... 1.6.2 我的主頁 N 年前做了 M 個(gè),可惜后來沒有維護(hù)或網(wǎng)站的原因都沒了 ... 那位好心可憐可憐我 .... n_n 1.6.3 關(guān)于源碼 =^0^= MailTo Me 2 ... 1.7 原文幫助 1.7.1 說明 這是我參考了GRUB 的源代碼和PQMAGIC 的VFLOPPY.SYS 的反匯編代碼后,實(shí)現(xiàn)的一個(gè)類似PQMAGIC 的VFLOPPY.SYS的虛擬軟盤系統(tǒng)。 看 VX_XSJ 兄弟寫的帖子,見最后。 1.7.2 特點(diǎn) 安全,不向引導(dǎo)區(qū)寫代碼,不會(huì)破壞系統(tǒng),無需會(huì)恢復(fù)MBR方便,可以隨時(shí)重新啟動(dòng)系統(tǒng),進(jìn)入DOS環(huán)境。 在沒有光盤驅(qū)動(dòng)器,沒有軟盤,只有WINDOWS NT,WINDOWS 2K,WINDOWS XP,WIN2K3 的系統(tǒng)上非常方便的運(yùn)行別的OS。 支持2.88M 和1.44M軟盤鏡像文件。 1.7.3 用法 假設(shè) VFLOPPY 放在 C:\BOOT ,C盤可以是FAT16 FAT32 NTFS 分區(qū)格式: 運(yùn)行 VFLOPPY -1 VLOADER.BIN -2 VMEMDSK.BIN -I DOS.IMG 在 C:\BOOT.INI 中 加入一項(xiàng) C:\BOOT\VLOADER.BIN ="VIRTUAL FLOOPY " 重新啟動(dòng)系統(tǒng)后,在NTLOADER的菜單上選擇VIRTUAL FLOOPY 就會(huì)加載 C:\BOOT\DOS.IMG 這個(gè)鏡像,并運(yùn)行。 1.7.4 注意 如果C:用的NTFS,并且使用了磁盤壓縮的請(qǐng)確保C:\BOOT目錄及其下面的文件沒有被壓縮。 運(yùn)行INSTALL_VFLOPPY.BAT只是根據(jù)你的硬盤情況生成相應(yīng)的引導(dǎo)文件VLOADER.BIN和虛擬軟盤VMEMDSK.BIN文件,絕對(duì)不會(huì)重寫MBR。 VMEMDSK.BIN定位磁盤鏡像DOS.IMG(請(qǐng)自己做)時(shí)是直接通過DOS.IMG所在的磁盤扇區(qū),而不是通過文件系統(tǒng),所以能很容易的實(shí)現(xiàn)對(duì)NTFS,F(xiàn)AT32,F(xiàn)AT的支持。即使刪除了DOS.IMG只要所在扇區(qū)的數(shù)據(jù)還沒有被覆蓋,或許仍然能夠啟動(dòng)DOS,但進(jìn)行磁盤整理后可能造成無法啟動(dòng)DOS,只需要重新運(yùn)行一下INSTALL_VFLOPPY.BAT即可。 DOS.IMG可以用其他的可啟動(dòng)的1.44MB軟盤鏡像替換,記得替換后重新運(yùn)行一下INSTALL_VFLOPPY.BAT。 現(xiàn)在支持2.88M 和1.44M軟盤鏡像文件。 VFLOPPY.EXE 的參數(shù)可以是絕對(duì)路徑,如 VFLOPPY -1 C:\TTT\VLOADER.BIN -2 C:\KKK\VMEMDSK.BIN -I C:\IMG\DOS.IMG。 1.7.5 測(cè)試 在WIN2K3 英文標(biāo)準(zhǔn)版的環(huán)境下測(cè)試通過,支持NTFS ,F(xiàn)AT32 ,F(xiàn)AT16 的分區(qū)。 DOS論壇版主WENGIER制作的MS DOS7.10啟動(dòng)盤 1.7.6 FAQ Q:既然有PQMAGIC 的VFLOPPY.SYS,為什么我還要修改它呢? A:主要是PQMAGIC 的VFLOPPY.SYS 的引導(dǎo)程序是放在MBR中的并且占據(jù)磁盤開始的3個(gè)扇區(qū),也就是說VFLOPPY.SYS安裝的時(shí)候需要向從MBR開始的3個(gè)扇區(qū)寫數(shù)據(jù),這樣如果此時(shí)發(fā)生錯(cuò)誤,將可能是系統(tǒng)無法引導(dǎo)。 Q:那么有沒有其他的引導(dǎo)程序可以完成類似的工作呢? A:基于如下比較,所以我揉合和GRUB 的源代碼和VFLOPPY.SYS的二進(jìn)制文件,做成了這個(gè)東西。 LILO 需要在LINUX 下安裝,并且不能虛擬軟盤 NU2.NU 的DISKEMU 是在光盤上的,不支持FAT ,NTFS BOOTSCRIPTOR 也是光盤上的,不支持FAT ,NTFS ISOLINUX 也是光盤上的,不支持FAT ,NTFS SYSLINUX 可以支持FAT16 ,F(xiàn)AT12 ,但是不支持FAT32 ,NTFS GRUB 支持的格式最多,有人正在朝這個(gè)方向進(jìn)行,目前還不好用(指的是在硬盤上虛擬軟盤),最有可能在近期完成這個(gè)目標(biāo)。 1.8 補(bǔ)充 無憂啟動(dòng)論壇 的CFGS 說:這是通過在硬盤上加載軟盤鏡像實(shí)現(xiàn)的。 把BOOT目錄復(fù)制到C:,C:可以是FAT,F(xiàn)AT32,NTFS。 運(yùn)行INSTALL_VFLOPPY.BAT。 修改C:\BOOT.INI,在后面加入一行C:\BOOT\VLOADER.BIN ="VIRTUAL FLOOPY" 。 1.8.1 注意 如果C:用的NTFS,并且使用了磁盤壓縮的請(qǐng)確保C:\BOOT目錄及其下面的文件沒有被壓縮。 運(yùn)行INSTALL_VFLOPPY.BAT只是根據(jù)你的硬盤情況生成相應(yīng)的引導(dǎo)文件VLOADER.BIN和虛擬軟盤VMEMDSK.BIN文件,絕對(duì)不會(huì)重寫MBR。 VMEMDSK.BIN定位磁盤鏡像DOS.IMG(請(qǐng)自己做)時(shí)是直接通過DOS.IMG所在的磁盤扇區(qū),而不是通過文件系統(tǒng),所以能很容易的實(shí)現(xiàn)對(duì)NTFS,F(xiàn)AT32,F(xiàn)AT的支持。即使刪除了DOS.IMG只要所在扇區(qū)的數(shù)據(jù)還沒有被覆蓋,或許仍然能夠啟動(dòng)DOS,但進(jìn)行磁盤整理后可能造成無法啟動(dòng)DOS,只需要重新運(yùn)行一下INSTALL_VFLOPPY.BAT即可。 DOS.IMG可以用其他的可啟動(dòng)的1.44MB軟盤鏡像替換,記得替換后重新運(yùn)行一下INSTALL_VFLOPPY.BAT。 1.8.2 參考 CALV 的問題: 我光驅(qū)、軟驅(qū)都?jí)牧?,但想在DOS下重裝2000,有什么方法嗎?幫幫忙,怎么樣都行,可不可以刪掉一些2000的系統(tǒng)文件,在啟動(dòng)時(shí)讓它進(jìn)不了2000,直接跳到DOS方式? VX_XSJ 兄弟寫的帖子: _________ VX_XSJ 的發(fā)布預(yù)告! ! ! ! _________ CALV的問題我已經(jīng)幫他解決了, 我說可以, 自然是可以, 因?yàn)槲也簧乞_人, 所以這個(gè)是有辦法實(shí)現(xiàn)的 ( 奇怪的邏輯 )。 我之前就發(fā)現(xiàn)了這種方法, 只是想做得更好( 主要是啟動(dòng)盤好 ), 所以這段時(shí)間一直在編寫這個(gè)啟動(dòng)盤, 等相對(duì)完善時(shí)公布這個(gè)發(fā)現(xiàn)。但是幫CALV期間遇見了奇怪的事情, 發(fā)現(xiàn)開始時(shí)這個(gè)方法不能成功! 但之后又運(yùn)行成功, 為了找到這個(gè)原因, 我決定提前公布他。 如果用過DRIVE IMAGE 5的人就知道, 他運(yùn)行時(shí)是重啟之后才開始工作, NT內(nèi)核系統(tǒng)看得十分明顯, 既然PQDI無法在NT內(nèi)核下運(yùn)行, 那么重啟后自然進(jìn)入到了他可運(yùn)行的系統(tǒng)--DOS, 但不少人除2000/XP系統(tǒng)外沒裝其他系統(tǒng), 這個(gè)DOS從何而來? 據(jù)分析, 他有一個(gè)程序能將系統(tǒng)啟動(dòng)到虛擬軟盤中( 此處省下大量墨筆 ), 這種虛擬軟盤用的實(shí)際就是VFD格式的映像( 再省 ), 他配的另一個(gè)程序VFEDITOR.EXE, 也就是WINIMAGE的POWERQUEST OEM版, 就是用來編輯他用的, 我的靈感就是由此引起。 既然他能讓系統(tǒng)啟動(dòng)到虛擬軟盤, 那么以后的啟動(dòng)盤就可以由他代替了, 當(dāng)本機(jī)因?yàn)槟承┣闆r無法用軟驅(qū)/光驅(qū)時(shí), 如超薄形的筆記本, 一時(shí)沒有帶光軟, 而又要啟動(dòng)到DOS做某些操作時(shí)( 如重裝系統(tǒng), 殺毒 ), 就顯得很方便( 因?yàn)楹孟駴]有病毒說可以感染VFD映像, 所以安全性就如CDRW一樣 )。 介紹就說到這么多, 實(shí)際就留給大家試試吧, 我這次放了個(gè)臨時(shí)版給CALV, 映像的完善版大概會(huì)在幾天后公布系統(tǒng)內(nèi)核為NT的, 且有興趣就去拿來試試吧, 記住運(yùn)行成功將會(huì)自動(dòng)重啟, 接著就看到這個(gè)臨時(shí)版的效果了。 如果不成功, 歡迎提出, 等我去改進(jìn) THX 引用 8CAT 發(fā)表的貼子: ****************************************** 使用方法是不是這樣: 在WIN2K下運(yùn)行主程序VFINSTNT.EXE(自動(dòng)備份分區(qū)表) ,重新啟動(dòng),進(jìn)入DOS,然后就進(jìn)行相關(guān)的操作,操作完畢以后,重新啟動(dòng),就可以修復(fù)正常的分區(qū)表。 疑問: 如果在進(jìn)入DOS后重新安裝2000,2000在安裝過程中對(duì)引導(dǎo)區(qū)的一些操作會(huì)對(duì)這個(gè)軟件的分區(qū)表有影響嗎?會(huì)不會(huì)BOOT之后就不認(rèn)原來的分區(qū)表? 如果這樣都沒有問題,那么用PQ可以嗎? BTW,我也要一個(gè) ... ********************************************************************* PM了, 估計(jì)應(yīng)該是這樣的, 再補(bǔ)充, 引導(dǎo)完DOS應(yīng)該立即就恢復(fù)了分區(qū)表當(dāng)然不會(huì), 原來這個(gè)映像中的程序是POWERQUEST DRIVE IMAGE 5, 他無法修改分區(qū)表嗎? 自然不是用PQ自然可以。 |
|