自己動手定製winpe+各類dos工具箱隨身碟啟動盤+minilinux
來源:互聯網
上載者:User
由於一個64M老隨身碟,沒什麼用,拿來發揮餘熱。如果隨身碟夠大,可以使用功能更強大的mini linux和帶更多工具的winpe。這次安裝了winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+mclinux2.02+bomberlinux3.7,工具應該算比較多了。思路很多:法1:可以先做成dos啟動盤,這樣直接載入各類dos工具,然後再用grub4dos載入winpe。法2:可以做成ntloader,啟動winpe,再在boot.ini中寫入載入dos工具的語句。法3:用grub引導各類工具,包括winpe和各類工具箱。由於覺得grub引導功能強大(各大linux發行版都用它做引導器),因此決定用第三種方法。首先準備工具:1、惠普優盤格式化工具HPUSBFW.EXE,或者usboot或者其它格式化隨身碟的工具。2、winpe,我用的是64M的隨身碟,故使用了mini winpe,使用的是老毛桃修改的miniwinpe 070911版: thunder://QUFodHRwOi8vd3d3LnF1aWNrOC5jbi9kb3duLmFzcD9pZD0xNTMmc2lkPTBaWg==如果你使用的隨身碟比較大,可以下載其它的整合了較多工具的winpe。對老毛桃修改的版本,對我們來說仍然過大,因此需要自己再定製,把Acdsee等軟體刪除。在winpe安裝檔案\SETUP\MYINS下有個ntboot.exe,把它備份起來,今後可能用到。3、grub安裝工具:grubinstall: http://download.gna.org/grubutil/grubinst-1.1-bin-w32-2008-01-01.zip以及grub引導檔案grldr,網上很多,自己搜尋下載(它是grub4dos的一部分,可以下載grub4dos,然後只要該檔案即可)4、MaxDos v6 plus: http://down.56xia.com/200711/MAXDOSV6U.rar5、矮人dos工具箱5.1: http://w1.e666.cn/green/airenDOS.rar6、wmitool: http://rosibo1.bibidu.com/server9/hnwzfile/WimTool-V1.0.7.1018.rar7、你還可以下載其它工具箱,比如深山紅葉等。由於空間所限,我只使用了上面的幾個軟體。然後開始:part1:winpe+dostool1、使用惠普格式化工具格式化隨身碟2、開啟miniepe.iso,如果你的隨身碟比較大,可以直接將minipe目錄拷貝到你的隨身碟上,如果象我的一樣小,那麼先刪除op.wim,然後再拷過去,op.wim裡面全是工具,沒有它,minipe也能啟動,後面我們再講如何修改op.wim,縮小其體積,定製自己的工具。然後將wxpe下的ntdetect.com和setupldr.bin也拷到minipe目錄,並分別改名為ntcom和ldrxpe。然後在minipe目錄下建立一個名為pe的檔案,內容如下(如果你採用安裝方式,則這個檔案已經存在):[SetupData]BootDevice="ramdisk(0)"BootPath="\WXPE\SYSTEM32\"OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=MiniPE\WinPE.IS_"更簡單的方法是:你可以直接用minipe的setup將其先安裝到你的隨身碟(如果隨身碟太小,請先刪除op.wim再安裝),這樣和手工拷過去的差不多,但是會多幾個檔案,你可以選擇刪除上面沒有提到過的檔案。3、如果你是手工拷貝過去的,那麼要先安裝grub,使用grubinstall_gui,選中隨身碟,分區重新整理後選整個磁碟,然後安裝,這樣就重新安裝了grub,然後將你下載的grldr檔案拷貝過去。如果你是採用在安裝的方法,那麼已經安裝了grub,它的menu是內建到了grldr中的,為了讓自己編輯的menu.lst來啟動更多項目,將下載的grldr拷貝到u盤覆蓋原來的,這樣就會使用你自己的menu.lst了。如果mbr中的grub沒有了,要重新安裝grub。如果你依然想使用內建的菜單,可以用grubmenu export命令匯出菜單,修改成自己想要的後,再grubmenu import,匯入,這樣就變成你自己的內建功能表了。另外為了支援中文菜單,請使用中文的grldr,以及中文字型。下載一個帶字型和中文的grub4dos,將chinese目錄下的grldr拷貝過去,建立一個boot目錄,然後將字型檔fonts.gz拷到裡面,再將splash.xm.gz也拷到裡面,它是啟動畫面背景,你可以自己製作自己的啟動畫面。如果你是安裝的minipe,那麼可以直接用它的muifont.gz和*.xpm.gz。4、安裝maxdos和airendos,然後把目錄maxdos和ados拷貝到隨身碟根目錄下。然後就可以卸載maxdos和ados了。然後將ados下的除argj目錄外的所有檔案刪除,然後將argj目錄下的檔案移動到ados下,刪除argj目錄。將兩個目錄下一些不必要的檔案刪除。比標檔案。由於是它們都是硬碟版,一鍵ghost時會出問題(網上所謂的U盤版也一樣),需要對其進行修改。首先,經過HP格式化後,一般會把隨身碟認作第一硬碟,而原來的硬碟認作第二硬碟,這時ghost命令的src=1:1,就要改為2:1,然後,由於我們沒有建立指定的檔案夾,因此我們可以直接備份到根目錄下。如maxdos中用maxbk.gz和maxre.gz來表示備份和恢複,用記事本開啟這兩個檔案,分別改為:ghost -clone,mode=pdump,src=2:1,dst=2:2\sysbak.max -sure -z2 -split=2000 -no1394 -nousb -rb和ghost -clone,mode=pload,src=2:2\sysbak.max:1,dst=2:1 -sure -no1394 -nousb -rb而矮人dos需要把ar5.img中的argj.exe匯出來,然後副檔名改為gz,然後,解壓出其中的gh.bat、menu.bat等bat檔案,然後尋找含有argj~1路徑的,把它改為根目錄,如:c:\*.gho,另外尋找鏡像的命令的/s需要去掉,可以改成/a,/s要尋找子目錄,需要很長時間。同時把ghost命令的src=1:1等類似之處改為2:1。如果你的隨身碟啟動後不是第一硬碟,那麼就不必改。5、編寫grub啟動菜單為了標識隨身碟,在隨身碟根目錄建立一個grubhere.id的空檔案,當然你也可以使用隨身碟上的任意檔案來標識,如/maxdos/Maxs.sys,當然你需要在下面的相應內容處作修改。然後在隨身碟根目錄建立一個menu.lst,內容如下:timeout 30default 0splashimage /boot/splash.xpm.gz#foreground ffff00fontfile /boot/muifont.gztitle Mini WindowsPEfind --set-root /grubhere.idchainloader /minipe/ldrxpetitle MaxDOS V6 Plusfind --set-root /grubhere.idkernel /maxdos/Memdisk.gz c=555 h=2 s=18 floppyinitrd /maxdos/Maxs.sys c=555 h=2 s=18 floppytitle 矮人Dos工具箱find --set-root /grubhere.idkernel /ados/memdisk.gz c=118 h=2 s=36 floppyinitrd /ados/ar5.img c=555 h=2 s=18 floppytitle 本機Windows系統map (hd0) (hd1)map (hd1) (hd0)rootnoverify (hd1,0)makeactivechainloader +1title 重啟電腦reboottitle 關閉電腦halttitle Grub命令列commandline儲存這個檔案。6、定製winpe工具,上面實際上已經完成啟動隨身碟了,但是我們還可以為minipe定製工具。用wmitool開啟op.wim,然後將其檔案匯出,把垃圾軟體全部刪除,比如acdsee、音樂播放什麼的,對於系統維護根本沒什麼用,就刪掉,最後再建立一個wim檔案,將修改後的目錄匯入。然後修改minipe下的winpe.ini檔案,找到建立捷徑的命令的地方,把沒有的link給刪掉。6、如果還需要安裝其它工具箱的話,步驟和上面類似。製作完畢。如果希望mbr被破壞,能夠使用ntloader啟動,那麼可以用ntboo i:(I是隨身碟),將ntloader也安裝到隨身碟,但這不是必須的。7、備份:為了今後的製作不再這樣多,可以將隨身碟上所有檔案拷貝到一個目錄備份(注意有隱藏檔案,一塊備份)。今後要製作啟動隨身碟就可以這樣做了:首先用惠普格式化工具格式化隨身碟,再將備份的檔案拷貝過去,然後使用grubinstall,安裝grub到mbr即OK。其中的ntboot不是必須的。如果有時間,你可以把這些備份檔案壓縮,然後編寫一個bat,讓bat來依順序執行格式化,拷貝檔案,這樣就形成了你自已的winpe+maxdos+airendos安裝包。part2:mini linux如果你不需要linux,那麼到此為止,如果你還希望啟動linux,將隨身碟製作成啟動盤,然後用Mini Linux引導,可以用以修複硬碟上的Linux系統錯誤。那麼繼續:Mini linux很多,如:CDlinux、dsl、puppy等,還可以自己lfs。這裡簡單介紹最簡單的製作方法。由於隨身碟大小限制(我的隨身碟64M,基本沒用了,正好拿來做引導盤),我選擇了CDlinux0.4.9(19M)、Mini Chinese Linux(mclinux2.02)(2.88M)、BomberLinux 3.9(2.88M),因為我的隨身碟上還裝有mini winpe、maxdos、矮人dos,要做到他們加起來不超過64M(最後一共61M)。由於已經裝好的winpe等都是採用grub引導的,因此這三個mini linux當然也用grub來引導。如果你沒有安裝上面這些,只需要啟動mini linux,那麼你需要先製作可啟動隨身碟,先用惠普格式化隨身碟工具格式化,然後用grubinstall將 grub安裝到隨身碟的mbr,並複製grldr到隨身碟根目錄。可參考前面的文章。首先看CDlinux,由於它本身是採用syslinux來引導的,因此需要做一點調整。首先開啟cdlinux的iso,將boot目錄下的cdlinux提取出來,然後,將cdlinux.img的副檔名改成 gz,即cdlinux.gz,然後將其解壓,由於我們採用grub引導,因此syslinux的檔案都可以刪掉,只保留bzImage和 CDlinux.gz,將其複製到cdlinux目錄下,然後將cdlinux目錄複寫到隨身碟根目錄。然後寫menu.lsttitle CDlinux 0.4.9 (with extra)find --set-root /grubhere.idkernel /CDlinux/bzImage root=/dev/ram0 cdl_dev=/dev/sda1initrd /CDlinux/CDlinux.gzgrubhere.id 意義見上一篇文章。具體的更多參數可以參考cdlinux howtos中的命令列參數,這裡/dev/sda1可能要根據具體情況來區別對待。我當初把它搞成hda1,結果不能載入extra,因為找不到,後來發現linux將其識別為sda1。中文:kernel /CDlinux/bzImage root=/dev/ram0 CDL_LANG=zh_CN.UTF8 cdl_dev=/dev/sda1然後再看mclinux,我下載了 mclinux1.0和mclinux2.02,mclinux1.0是一個ima磁碟片鏡像檔案,因此直接用磁碟片引導的方式即可,而mclinux2沒有做成磁碟片鏡像,是一人zip檔案,裡面有很多把它rawrite到磁碟片的工具。還是做成ima方便,首先解壓,然後只留mclinux.img、 zimage、syslinux.cfg三個檔案,將它們做成ima,由於已經有mclinux1.0.ima,因此我直接用winimage開啟 mclinux10.ima,然後刪裡面那三個檔案,將這三個檔案拉進去,然後儲存就OK了。將儲存後的mclinux.ima複製到隨身碟/linux/ 下,然後寫menu.lst:title Mini Chinese Linux 2.02find --set-root /grubhere.idmap --mem /linux/mclinux.ima (fd0)map --hookchainloader (fd0)+1rootnoverify (fd0)對於bomber linux 3.7,本身就是一個ima檔案,因此直接複製到linux目錄下,然後寫menu.lsttitle BomberLinux 3.7find --set-root /grubhere.idmap --mem /linux/bomberlinux.ima (fd0)map --hookchainloader (fd0)+1rootnoverify (fd0)這樣就製作完成了,如果隨身碟夠大,完全可以使用功能更強的cdlinux0.5.9(包含X和更多的軟體)和dsl、puppy等。最後,我們就完成了在一個64M 隨身碟上安裝winpe+maxdosv6plux+矮人dos5.3+cdlinux0.4.9+mclinux2.02+bomberlinux3.7 這樣一個mini 型的功能非常齊全的啟動型隨身碟。其實maxdos和矮人dos只需要一個,linux也只需要一個即可(建議用cdlinux,如果希望小一點的,可以用後面兩個中的一個),這樣可以節省空間的,方便整合更多的工具