專利名稱::可開機(jī)通用序列總線存儲裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種通用序列總線存儲裝置開機(jī)磁盤的制作方法,特別涉及一種窗口XP操作系統(tǒng)的通用序列總線存儲裝置開機(jī)磁盤的制作方法。
背景技術(shù):
:一般在使用計(jì)算機(jī)時,會以計(jì)算機(jī)中已安裝操作系統(tǒng)的硬盤來進(jìn)行開機(jī)程序,其中微軟公司(Microsoft)的窗口系列(Windows)操作系統(tǒng)最被廣為使用。然而當(dāng)主機(jī)沒有安裝操作系統(tǒng)的硬盤,或是使用者因特殊因素不愿以安裝的操作系統(tǒng)開機(jī)時,使用者即需要以其它磁盤來進(jìn)行外部開機(jī)(ExternalBootup)。以往外部開機(jī)使用的磁盤包括只讀光盤(CD-ROM)以及3.5英寸或5.25英寸的軟盤磁盤,且窗口操作系統(tǒng)亦有提供開機(jī)磁盤片或是制作開機(jī)磁盤片的功能。不過,軟盤磁盤由于容量太小已逐漸被市場所淘汰,而CD-ROM光盤則因?yàn)闊o法復(fù)寫而且制作光盤片需要光盤燒錄機(jī)而不甚便利。近來在計(jì)算機(jī)系統(tǒng)的各種外接磁盤中,通用序列總線快閃磁盤(USBFlashDisk)因?yàn)檩p便、容量較軟盤磁盤大、可復(fù)寫、附加特殊芯片具備特殊功能如MP3(MPEGlayer3)隨身聽、錄音筆等等而廣為使用,同時,支持通用序列總線裝置開機(jī)的功能也已經(jīng)出現(xiàn)在主機(jī)板上,因此計(jì)算機(jī)硬件已經(jīng)支持使用通用序列總線裝置進(jìn)行外部開機(jī)的功能。然而現(xiàn)有的窗口系列操作系統(tǒng)除了窗口98之外,并沒有將通用序列總線快閃磁盤制作成開機(jī)磁盤的功能,即使是最新的窗口XP操作系統(tǒng)也沒有。因此,對于想要使用通用序列總線快閃磁盤進(jìn)行外部開機(jī)的窗口XP操作系統(tǒng)使用者,其迫切需要一種制作通用序列總線快閃開機(jī)磁盤的方法。
發(fā)明內(nèi)容有鑒于上述發(fā)明背景中,窗口XP操作系統(tǒng)沒有將通用序列總線快閃磁盤制作成開機(jī)磁盤的功能的缺點(diǎn),本發(fā)明的目的在于提出一種制作通用序列總線快閃開機(jī)磁盤的方法,其利用操作系統(tǒng)內(nèi)部隱藏的啟動文件即可實(shí)現(xiàn)通用序列總線快閃磁盤的開機(jī)/啟動功能。本發(fā)明的另一目的在于提供一種可以制作具有外部開機(jī)、開機(jī)完成后即可解除取出開機(jī)磁盤、開機(jī)后會進(jìn)入指令列(commandline)模式的通用序列總線開機(jī)磁盤的方法。根據(jù)上述的目的,本發(fā)明提供一種可以制作具有外部開機(jī)、開機(jī)完成后即可解除取出開機(jī)磁盤、開機(jī)后會進(jìn)入指令列模式的通用序列總線開機(jī)磁盤的方法。根據(jù)本發(fā)明實(shí)施例,首先藉由分析窗口XP系統(tǒng)中的可攜執(zhí)行(portableexecutable)文件,以找出該文件中所包含的開機(jī)片鏡像文件,再對開機(jī)片鏡像文件加以分析取出開機(jī)所需的系統(tǒng)文件,最后復(fù)制到通用序列總線磁盤以制作通用序列總線開機(jī)磁盤。圖1的流程圖顯示本發(fā)明的制作通用序列總線存儲裝置開機(jī)磁盤的方法。圖2顯示文件配置表(FAT)的格式結(jié)構(gòu)。圖3顯示由圖1步驟102所得到的開機(jī)/啟動相關(guān)系統(tǒng)文件。附圖符號說明101找出diskcopy.dll文件并加以分析取得開機(jī)片鏡像文件102分析開機(jī)片鏡像文件取得開機(jī)所需系統(tǒng)文件加以存儲103格式化USB磁盤104利用開機(jī)所需系統(tǒng)文件將USB磁盤制成開機(jī)磁盤具體實(shí)施方式鑒于在微軟窗口XP(WindowsXP,底下簡稱為窗口XP)系統(tǒng)下,目前缺少一種可將通用序列總線(UniversalSerialBus,USB)快閃磁盤(flashdisk)制作成可開機(jī)(bootable)磁盤的有效、簡便方法,本發(fā)明因而提出一種制作可開機(jī)USB磁盤的方法以解決使用者的迫切需求。雖然在本發(fā)明中是以快閃磁盤(flashdisk)作為例示,然而本發(fā)明也可以適用于其它的USB裝置或存儲裝置,例如USB硬盤、USB光驅(qū)。另外,雖然本發(fā)明實(shí)施例是在窗口XP下進(jìn)行的,然而,本發(fā)明也可以適用于之前或以后的其它微軟窗口操作系統(tǒng),甚至適用于其它類似的非微軟操作系統(tǒng)。如圖1所示的本發(fā)明方法流程圖,顯示本發(fā)明實(shí)施例中制作窗口XP系統(tǒng)的通用序列總線快閃開機(jī)磁盤的方法。首先,從窗口操作系統(tǒng)目錄中擷取得到開機(jī)片鏡像文件(mirror)(步驟101)。根據(jù)本發(fā)明實(shí)施例,從窗口XP操作系統(tǒng)目錄內(nèi)的system32子目錄中(亦即,\%windows\system32),首先找到了diskcopy.dll文件,其屬于一種動態(tài)鏈接程序庫(dynamiclinklibrary,DLL)文件。從這個diskcopy.dll文件中,我們可以擷取或解析得到與開機(jī)(或啟動(boot))相關(guān)的鏡像文件(mirror)或資源;在本實(shí)施例中,此擷取到的鏡像文件系名為BINFILE的啟動碟(亦即,1.44M字節(jié)軟盤)鏡像文件。由于此鏡像文件系屬于一種可攜執(zhí)行(portableexecutable,PE)文件格式,因此我們在本實(shí)施例中即以可攜執(zhí)行(PE)文件的結(jié)構(gòu)特征來擷取BINFILE鏡像文件;例如,我們可以從可攜執(zhí)行(PE)文件的文件頭(header)數(shù)據(jù)中得知BINFILE鏡像文件的起始位置(entrypoint)。我們也可以使用坊間的一些現(xiàn)有解析軟件工具,來擷取BINFILE開機(jī)片鏡像文件。雖然本實(shí)施例中與開機(jī)(或啟動(boot))相關(guān)的鏡像文件(mirror)是為可攜執(zhí)行(PE)文件格式,然而本發(fā)明并不限定于可攜執(zhí)行(PE)文件格式。接著,將擷取得到的開機(jī)片鏡像文件(mirror)進(jìn)一步解析出開機(jī)(或啟動(boot))相關(guān)的系統(tǒng)文件(步驟102)。在本實(shí)施例中,是以文件配置表(FileAllocationTable,F(xiàn)AT),例如FAT12,的文件系統(tǒng)格式來分析開機(jī)片鏡像文件,并把里面的文件取出備用。圖2顯示典型的文件配置表(FAT)格式結(jié)構(gòu),其依序包含有啟動扇區(qū)(bootsector)、保留區(qū)、FAT表1、FAT表2、根目錄區(qū)、磁盤內(nèi)容。由于前一步驟所擷取得到的鏡像文件為1.44M字節(jié)軟盤的完整鏡像(mirror),所以該文件的內(nèi)容就等于是軟盤的物理內(nèi)容,因此符合磁盤的文件配置表(FAT)格式。在本實(shí)施例中,我們利用FAT表所指引的位置(例如圖2箭號所示),來分別得到開機(jī)/啟動相關(guān)的系統(tǒng)文件;所得到的文件如圖3所示,包含窗口XP版本的IO.SYS、MSDOS.SYS、COMMAND.COM等開機(jī)所需的系統(tǒng)文件以及其它文件。接著,對通用序列總線快閃磁盤(USBflashdisk)進(jìn)行格式化(format)(步驟103),例如高階格式化(high-levelformat)。經(jīng)格式化之后的磁盤,其文件配置表(FAT)格式結(jié)構(gòu)也如圖2所示一樣,其至少具有啟動扇區(qū)(bootsector)、FAT表1、FAT表2、根目錄區(qū)、磁盤內(nèi)容。其文件系統(tǒng)可以使用FAT16;如果通用序列總線快閃磁盤容量大于2G字節(jié)時,則使用FAT32文件系統(tǒng)。最后,將步驟102所得到的開機(jī)/啟動相關(guān)的系統(tǒng)文件復(fù)制到通用序列總線快閃磁盤內(nèi),以制作成可開機(jī)的(bootable)通用序列總線快閃磁盤(步驟104)。在本發(fā)明實(shí)施例中,是在USB磁盤的文件配置表(FAT)的啟動扇區(qū)(bootsector)內(nèi)制作啟動加載程序(bootstrap,又稱為初始程序加載器(initialprogramloader)),并將主要的系統(tǒng)文件(例如IO.SYS、MSDOS.SYS、COMMAND.COM)以及其它開機(jī)/啟動相關(guān)的系統(tǒng)文件置于USB磁盤的文件配置表(FAT)的根目錄區(qū)及磁盤內(nèi)容區(qū)。當(dāng)計(jì)算機(jī)主機(jī)啟動電源后,USB磁盤首先將啟動扇區(qū)(bootsector)內(nèi)的程序加載至計(jì)算機(jī)主機(jī)上的主存儲器;接著,再讀取根目錄區(qū)以加載主要的系統(tǒng)文件(例如IO.SYS、MSDOS.SYS),此即完成開機(jī)的初步程序。根據(jù)前述所揭露的制作通用序列總線快閃開機(jī)磁盤方法,本發(fā)明藉由分析窗口XP系統(tǒng)目錄下的文件以得到可資利用于制作開機(jī)磁盤的文件,以克服窗口XP系統(tǒng)無法制作通用序列總線快閃開機(jī)磁盤的缺陷。本發(fā)明產(chǎn)生的通用序列總線快閃開機(jī)磁盤可以使用在計(jì)算機(jī)系統(tǒng)完成開機(jī),開機(jī)后會進(jìn)入指令列(commandline)模式,之后可進(jìn)行適用指令列模式的作業(yè)。其開機(jī)過程為外部開機(jī),與所使用的計(jì)算機(jī)系統(tǒng)有無安裝窗口系統(tǒng)的磁盤驅(qū)動器無關(guān),開機(jī)完成后即可解除取出開機(jī)磁盤。如先前所述,本發(fā)明并不限定于快閃磁盤(flashdisk),其它的USB存儲(storage)裝置例如USB硬盤、USB光驅(qū),也可以適用。值得注意的是,對于各種不同的存儲裝置,計(jì)算機(jī)主機(jī)的基本輸出入系統(tǒng)(basicinputoutputsystem,BIOS)必須能夠予以支持。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的申請專利范圍;凡其它未脫離發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在下述的申請專利范圍內(nèi)。權(quán)利要求1.一種可開機(jī)通用序列總線存儲裝置的制作方法,包含由一操作系統(tǒng)中擷取得到一開機(jī)片鏡像文件;由該開機(jī)片鏡像文件擷取出開機(jī)相關(guān)的多個系統(tǒng)文件;和利用該多個系統(tǒng)文件將一通用序列總線存儲裝置制成外部可開機(jī)磁盤。2.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的開機(jī)片鏡像文件是由一可攜執(zhí)行文件所擷取的。3.如權(quán)利要求2所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的可攜執(zhí)行文件為diskcopy.d11。4.如權(quán)利要求3所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的diskcopy.d11是位于該操作系統(tǒng)的\%windows\system32子目錄底下。5.如權(quán)利要求3所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的操作系統(tǒng)是為微軟窗口XP操作系統(tǒng)。6.如權(quán)利要求2所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的開機(jī)片鏡像文件是為1.44M字節(jié)軟盤的鏡像文件。7.如權(quán)利要求6所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的開機(jī)片鏡像文件是為BINFILE鏡像文件。8.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的系統(tǒng)文件是從一文件配置表所解析得到的。9.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的系統(tǒng)文件包含COMMAND.COM、IO.SYS、MSDOS.SYS。10.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的系統(tǒng)文件包含COMMAND.COM、IO.SYS、MSDOS.SYS、DISPLAY、EGA2.CPI、EGA3.CPI、EGA.CPI、KEYB、KEYBOARD、KEYBRD2、KEYBRD3、KEYBRD4、MODE。11.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,在制成該外部可開機(jī)磁盤之前,更包含格式化該通用序列總線存儲裝置。12.如權(quán)利要求11所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述格式化該通用序列總線存儲裝置所使用的文件系統(tǒng)為FAT16或FAT32。13.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述的通用序列總線存儲裝置為一通用序列總線快閃磁盤。14.如權(quán)利要求1所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述制作外部可開機(jī)磁盤的步驟中,包含制作啟動加載程序在一文件配置表的啟動扇區(qū)內(nèi)。15.如權(quán)利要求14所述的可開機(jī)通用序列總線存儲裝置的制作方法,其中,上述制作外部可開機(jī)磁盤的步驟中,包含將上述的系統(tǒng)文件置在該可開機(jī)磁盤的根目錄區(qū)及磁盤內(nèi)容區(qū)。全文摘要本發(fā)明揭露一種可以制作具有外部開機(jī)、開機(jī)完成后即可解除取出開機(jī)磁盤、開機(jī)后會進(jìn)入指令列模式特性的通用序列總線開機(jī)磁盤的方法。首先,分析窗口XP系統(tǒng)中的可攜執(zhí)行(portableexecutable)文件,以找出該文件中所包含的開機(jī)片鏡像文件,再對開機(jī)片鏡像文件加以分析取出開機(jī)所需的系統(tǒng)文件,最后將取出的系統(tǒng)文件用以制作通用序列總線開機(jī)磁盤。文檔編號G06F9/445GK1955928SQ20051011841公開日2007年5月2日申請日期2005年10月28日優(yōu)先權(quán)日2005年10月28日發(fā)明者丁曉華申請人:緯創(chuàng)資通股份有限公司