編者按:新的一年,“高手論技”繼續(xù)伴隨大家前行,身處一線的你,就那些技術上最常遇到的故障、最需要解決的難題、最成熟的應用…?…都可以在此暢所欲言,各抒己見。是繼續(xù)圍觀還是現(xiàn)身說法,新浪微群http://q.t.sina.com.cn/264976,期待您的共同參與。
● 開門見山:啟動問題的提出
在U盤和閃存卡非常普及的今天,用U盤來啟動計算機早已是司空見慣,新的主板對U盤啟動的支持和U盤啟動制作工具的助力,使得U盤啟動已經(jīng)非常容易。但在實際使用中,我們還是經(jīng)常遇到無法用U盤啟動的情況,計算機特別是在無光驅(qū)的機器癱瘓時,U盤不能正常啟動常會讓人大為惱火。
在學校機房環(huán)境中,光驅(qū)常常不是標準配置,學生機幾乎清一色的沒有光驅(qū),即使在辦公環(huán)境中,很多計算機也是無光驅(qū)配置的。當這些機器出現(xiàn)系統(tǒng)癱瘓、硬盤無法引導等比較嚴重的軟件故障時,使用U盤啟動常常是進行維護和排除故障的第一步。然而,看似簡單的U盤啟動,其實并不那么簡單。
● 走馬觀花:U盤啟動的前提
本文所提到的U盤啟動,是指用USB接口的閃存盤或閃存卡(需要讀卡器)、MP3播放器等USB存儲設備引導計算機啟動,為敘述方便,下面均簡稱為U盤啟動。要實現(xiàn)U盤啟動,須具備如下條件。
1.主板支持USB設備啟動
現(xiàn)在的主板幾乎都能夠支持USB設備進行引導啟動,但老一些的主板卻有很多不支持。一些南橋芯片本來就支持USB設備啟動的主板可以通過升級BIOS來實現(xiàn)對USB設備引導的支持。
2.U盤為啟動盤并且與主板支持的啟動方式一致
一般地,主板能夠支持的USB設備啟動方式有USB-FDD,USB-HDD,USB-ZIP等,至于使用哪種方式進行啟動,需要在BIOS中進行設置。較老的主板會在BIOS的啟動順序中直接標明,較新的主板則可以自動識別。對應的,U盤啟動盤在制作時也會有這幾種啟動方式供選擇,以制作成不同類型的啟動U盤。
3.U盤優(yōu)先啟動
啟動順序可以在BIOS中設置,較新的主板則能在開機自檢時按相應的快捷鍵直接選擇啟動設備,不需要BIOS設置。較常見的有F8、F11、ESC等,在提示時按下相應快捷鍵就會出現(xiàn)啟動設備選擇菜單,這時可以選擇相應的設備進行引導。但不同的主板,其啟動設備選單會有所不同,需要依實際情況選擇相應項目進行U盤啟動。一般是選擇“Removable Dev.(移動設備)”,但有時出現(xiàn)的是當時插入在計算機上的U盤標識符,這時應該直接選擇它。當U盤是HDD-USB類型時,有時并不能顯示出移動設備或U盤標識符,而是歸到“Hard Disk Driver”子項中,在這里進一步選擇識別出來的U盤標識符才能引導。同樣,在沒有啟動設備選單的主板BIOS中,以及有硬盤啟動優(yōu)先級(Hard Disk Boot Priority)選項的BIOS中,也存在類似的問題,主要出現(xiàn)在使用Phoenix BIOS的主板上。
● 言歸正傳:實現(xiàn)U盤啟動
1.簡單實現(xiàn)啟動
如果僅僅要求U盤能夠啟動計算機,進入DOS環(huán)境就行,那么在Windows下系統(tǒng)格式化,也可以讓U盤具有啟動能力,但這種方式的啟動U盤并不是所有主板都能支持的。
為了讓U盤能夠適應眾多的主板實現(xiàn)啟動,常常需要借助一些工具軟件。較早使用的USBoot就是制作啟動U盤的常用工具,但是它的FAT格式不能支持大容量U盤。這里推薦使用FlashBoot來制作啟動U盤,制作迅速,適應性好,支持較大容量的U盤,自帶有啟動軟盤的映像文件并支持其他的軟盤映像文件。
一些硬盤工具軟件也開始加入了U盤的啟動處理功能,如DiskGenius,其前身即是大名鼎鼎的DiskMan,幾乎是裝機必用的工具。DiskGenius不僅能夠建立USB-HDD、USB-ZIP、USB-FDD等類型的啟動U盤,而且能夠進行U盤的分區(qū)操作。但是,因為版權問題,DiskGenius制作的啟動盤沒有使用MS-DOS,而是采用廣泛使用的免費的FreeDOS,因而它寫入的主引導記錄(MBR)也是FreeDOS的,在后續(xù)制作能啟動到圖形操作界面的啟動U盤時會有一些麻煩。
2.高級啟動進階
U盤啟動的目的一般是為了進行維護或安裝系統(tǒng),僅僅啟動到DOS字符界面往往不能滿足要求,所以一般都是把啟動U盤制作成帶有Windows PE圖形界面的系統(tǒng)。
Windows PE是Windows PreInstallation Environment的縮寫,即Windows預安裝環(huán)境,是包含有限服務的最小Win32子系統(tǒng),基于以保護模式運行的Windows XP Professional或Windows Server 2003內(nèi)核。這是一種非常好的便于系統(tǒng)維護的操作界面,因而非常流行。
Windows PE啟動U盤的實現(xiàn)方法,可以先做好啟動處理,再裝上Windows PE,也可以直接安裝上具有啟動能力的Windows PE系統(tǒng)。
由于Windows PE環(huán)境的安裝制作不在本文討論范圍,這里只談如何方便地實現(xiàn)用U盤啟動Windows PE。
最簡單的方法,是利用現(xiàn)有的含啟動功能的Windows PE的ISO映像文件,借助UltraISO等工具軟件,把ISO文件寫回到U盤上(如圖1)。這類ISO文件可以在網(wǎng)上方便地找到,如深度技術論壇、無憂啟動論壇、邁思工作室技術論壇等網(wǎng)站都有下載。具體方法:運行UltraISO,打開準備好的ISO文件,選擇“啟動”菜單中的“寫入硬盤鏡像”,選擇一種寫入方式,先點“格式化”,再點“寫入”即可。寫入方式還包括增強型的USB-HDD+、USB-ZIP+等。
與ISO文件類似的,由啟動U盤制作的GHO映像文件也可以用Ghost軟件克隆到其他U盤實現(xiàn)啟動。對于USB-ZIP這一類型的,還可以找到相應USB-ZIP類型的Windows PE軟件包,直接復制到U盤根目錄下,實現(xiàn)U盤啟動Windows PE環(huán)境。
由于與U盤啟動類型相匹配等問題的存在,Windows PE啟動U盤在實際制作時還是經(jīng)常會失敗。為便于實現(xiàn)這一啟動功能,有人開發(fā)了一些傻瓜式的一鍵制作啟動U盤的工具。如“大白菜U盤啟動制作工具”,將包含各種維護工具的Windows PE系統(tǒng)集成到了軟件中,選擇啟動類型后(如圖2),點一下鼠標即可制作完成,U盤被自動分成兩個分區(qū),其中啟動系統(tǒng)放置在一個容量為100多M的隱藏分區(qū)中。在系統(tǒng)的磁盤管理程序中,可以看到這個“未指派”的分區(qū)(如圖3)。
注意:不要企望把Windows PE當作一個正式的操作系統(tǒng)使用,由于Windows PE具有啟動特性并能運行部分Win32程序,為了防止自己被當作盜版操作系統(tǒng),在連續(xù)使用24小時后Windows PE將自動退出并重啟。
● 防患未然:隱藏啟動分區(qū)
辛苦做好的啟動U盤,常常被病毒破壞,或人為刪除文件,造成無法啟動。因而對啟動功能進行保護很有必要。
我們可以讓啟動系統(tǒng)單獨使用一個分區(qū),并把這個分區(qū)隱藏起來,以達到保護目的。
隱藏分區(qū)的方法較多,可以使用專門的磁盤工具或分區(qū)軟件進行隱藏,也可以利用操作系統(tǒng)對分區(qū)進行識別的特點給予隱藏,一般都涉及U盤分區(qū)。常用的方法如下。
1.用DiskGenius進行多主分區(qū)設置
Windows系統(tǒng)有一個特點,即對U盤的多個主分區(qū)只能識別其中的第一個。利用這個特點,我們可以用DiskGenius把U盤分成兩個主分區(qū),其中第一個主分區(qū)分得大一些,作為正常數(shù)據(jù)使用的分區(qū);第二個主分區(qū)分得小一些,并將其激活,作為啟動分區(qū)。這樣,激活的主分區(qū)實現(xiàn)啟動功能,進入Windows PE圖形界面后,或者在正常的Windows系統(tǒng)中查看時是看不到的,從而達到隱藏啟動分區(qū)的目的。
激活后的第二主分區(qū)要想實現(xiàn)啟動,還要費一番周折,因為它是不可見的,不能用正常方法裝上Windows PE系統(tǒng)。
首先需要寫入主引導記錄(MBR)和分區(qū)引導記錄(PBR),這個可以在DiskGenius中進行,利用它的U盤啟動處理功能就能一次完成。但是它寫入的MBR是FreeDOS的,與一些Windows PE系統(tǒng)不相容,不過新版本的DiskGenius可以重建Windows XP的MBR,彌補了這一缺點。裝配引導記錄也可以使用引導扇區(qū)維護工具BootICE來進行,它支持很多種MBR和PBR的寫入,但是該軟件本身并不提供相應的系統(tǒng)文件,需要自備。
其次,需要安裝上Windows PE系統(tǒng)。由于MBR和PBR都已裝配,只要與使用的Windows PE相吻合,直接把相應文件復制到隱藏分區(qū)中即可。用DiskGenius和FbInst可以對隱藏分區(qū)進行文件操作,實現(xiàn)復制文件到啟動分區(qū);用Ghost則能對多主分區(qū)的隱藏分區(qū)進行克隆,只要準備好可啟動分區(qū)的GHO鏡像文件,直接恢復到隱藏分區(qū)即可。
2.用FbInst創(chuàng)建隱藏分區(qū)
FbInst是一個DOS命令行方式的工具,在啟動U盤制作中經(jīng)常使用。由于命令行參數(shù)不直觀,不方便大眾化使用,便有了FbinstTool(如圖4),可以看作是FbInst的圖形化版本。FbinstTool在啟動U盤制作中大顯身手,常常作為USB萬能啟動制作工具。FbinstTool可以方便地創(chuàng)建隱藏的UD分區(qū),并且可以使用特有的FBA映像文件。目前網(wǎng)絡上流行的一些傻瓜式啟動U盤制作工具,如“大白菜”等,就是使用FbInst實現(xiàn)隱藏分區(qū)的。
用WinRAR打開Windows PE系統(tǒng)的ISO映像文件,選中全部文件,可以直接拖至FbinstTool中的UD分區(qū),并能保持文件結構的一致性,因而也能夠啟動Windows PE。
要注意的是,UD分區(qū)的文件名要區(qū)分大小寫。除了基于FbInst的工具可以進行讀取之外,其他軟件和系統(tǒng)都無法讀取UD分區(qū)中的數(shù)據(jù),因而具有防病毒和防格式化的功能。但一些磁盤工具可以刪除UD分區(qū)。
● 深入了解:U盤啟動背后
我們經(jīng)常發(fā)現(xiàn),做好的啟動U盤,并不能像啟動光盤那樣可以啟動任意一臺計算機,有時在這臺計算機上能夠啟動,在那臺計算機卻無法啟動;在這臺計算機上啟動非常快,在那臺計算機上卻要等待很長時間;在這臺計算機上啟動后一切正常,在那臺計算機上啟動完成后磁盤讀寫卻舉步維艱…?…
由于各個廠商對USB設備引導的支持沒有統(tǒng)一規(guī)范,使得目前的U盤啟動還不能像光盤啟動那樣完美。因為U盤啟動的目的是進行系統(tǒng)維護,Windows PE幾乎成了啟動U盤必須具備的系統(tǒng),而它的啟動過程和對USB設備的驅(qū)動過程也是造成各種問題的原因。為了盡可能地減少錯誤,啟動過程中往往會有一些選項讓用戶選擇,或者在最初啟動時就采用多種方式進行嘗試和匹配。
計算機的引導過程,最初由BIOS控制,加電自檢(POST)之后,試圖加載硬盤MBR或軟盤引導扇區(qū)。因而用其他設備啟動的過程都會模擬硬盤或軟盤進行,U盤的啟動以硬盤模擬的方式居多,因而MBR就成為啟動的關鍵。
任何設備的的引導,都少不了操作系統(tǒng)級的底層支持,而且往往是命令行方式的系統(tǒng)。在DOS和Linux之外,很多免費的命令行工具都在設備啟動領域做著默默的貢獻,如FreeDOS,Grub4DOS,Lilo,SysLinux等。
Grub是一個遵從Multiboot(多重啟動)規(guī)范的啟動管理程序,它的DOS版本即Grub4DOS,是一個功能強大的引導器,內(nèi)置功能完善的BIOS級磁盤仿真,可以在DOS和Linux下運行,也可以通過其他引導器來運行,還可以作為MBR運行,支持多重啟動菜單和IMG鏡像文件,在啟動盤制作尤其是Windows PE啟動盤制作中廣泛使用。
目前網(wǎng)上流行的各種Windows PE系統(tǒng)主要有兩種啟動方式,一是通過修改的grldr等來啟動壓縮版的PE鏡像,如“老毛桃”PE系統(tǒng)等,體積較??;二是直接用ISO模擬光盤啟動,如“0PE”,兼容性好,方便修改和DIY。
在制作啟動U盤的過程中,我們僅僅是拿別人開發(fā)好的工具來制作,并不是從頭開始自己實現(xiàn),這樣雖然很簡便地做出了啟動U盤,但很多原理和過程并沒有了解,我們的簡便是建立在很多人做了大量前期工作的基礎上的,讓我們感謝一下他們的奉獻吧!