Windows7系統(tǒng)封裝教程(詳細(xì)圖解)(3)
五、讓封裝系統(tǒng)更加完美
按照前面的步驟制作完成封裝系統(tǒng)以后,盡管已經(jīng)可以安裝其他計算機上并且系統(tǒng)各項功能和預(yù)裝的各種應(yīng)用程序都可以正常使用,但是還有幾個不夠完美的地方:
——可能會出現(xiàn)第一次登錄系統(tǒng)時出現(xiàn)黑屏,需要重新設(shè)定桌面背景。
——運行預(yù)裝的應(yīng)用程序以后,在用戶文件夾里發(fā)現(xiàn)原來已經(jīng)刪除的用戶帳戶的文件夾又重新生成了。
——運行注冊表編輯器,查找“Users<已經(jīng)刪除的用戶名>”(如“UsersMaker”),竟然還找了很多“Users<已經(jīng)刪除的用戶名>”的注冊表項目。
1、第一種解決辦法:將所有“Users<已經(jīng)刪除的用戶名>”注冊表項目修改成“UsersDefault”,在系統(tǒng)第一次登錄之前導(dǎo)入到系統(tǒng)。
① 查找注冊表文件。使用自己制作的封裝系統(tǒng)進(jìn)行安裝,登錄系統(tǒng)以后,運行C:Widows目錄下的regedit.exe打開注冊表編輯器,點擊“編輯”,再點擊“查找”,在“查找”對話框里輸入“Users<已經(jīng)刪除的用戶名>”(如UsersMaker),點擊“查找下一個”開始查找。
② 導(dǎo)出注冊表文件。發(fā)現(xiàn)包含“Users<已經(jīng)刪除的用戶名>”字段的注冊表項目的時候,點擊“文件”,再點擊“導(dǎo)出”將該注冊表項目導(dǎo)出到硬盤(保存為reg文件)。
然后按F3鍵繼續(xù)查找,發(fā)現(xiàn)包含“Users<已經(jīng)刪除的用戶名>”字段的注冊表項的時候繼續(xù)導(dǎo)出,一直查找到HKEY_LOCAL_MACHINE的結(jié)尾處(HKEY_USERS后面發(fā)現(xiàn)的注冊表項不用理會)。
完成查找和導(dǎo)出完成后,關(guān)閉注冊表編輯器,轉(zhuǎn)到導(dǎo)出注冊表所在目錄,可以看到導(dǎo)出的所有的注冊表項(預(yù)裝的應(yīng)用軟件不同,導(dǎo)出注冊表文件多少也不同)。
③ 合并注冊表文件。在“開始菜單”—“附件”里找到并運行“記事本”,在第一行輸入“Windows Registry Editor Version 5.00”后,右鍵其中1個注冊表文件,在彈出菜單中點擊“編輯”打開該注冊表文件,將該注冊表文件中的鍵名(即帶中括號的字段)和帶有 “Users<已經(jīng)刪除的用戶名>”字段的項目(其他的不用理會)復(fù)制到記事本內(nèi)。然后繼續(xù)打開另1個注冊表文件,按照同樣方法將鍵名和包含有“Users<已經(jīng)刪除的用戶名>”字段的項目復(fù)制到記事本內(nèi),直到將所有導(dǎo)出的注冊表文件的鍵名和包含有“Users<已經(jīng)刪除的用戶名>”字段的項目全部復(fù)制到記事本為止。
這個過程中要十分小心,同時也要善于利用記事本的“查找”功能,要確保每1個注冊表項目能夠正確地復(fù)制到記事本中。完成以后,最好再復(fù)查一遍。
④ 替換注冊表項目。在記事本菜單欄點擊“編輯”,再點擊“替換”,在彈出對話框內(nèi)的“查找內(nèi)容”輸入已經(jīng)刪除的用戶名,在“替換為”輸入“Default”,然后點擊“全部替換”。
⑤ 保存注冊表文件。在記事本菜單欄點擊“文件”,再點擊“另存為”,在彈出“另存為”對話框中選擇要保存的位置,在“保存類型”選擇“所有文件”,在“文件名”輸入文件名(一定要記得加上reg后綴名),最后點“保存”退出記事本。
⑥ 創(chuàng)建腳本文件。打開記事本,輸入以下內(nèi)容,然后分別保存為oobe.cmd和system.cmd文件:
@echo off
regedit /s %systemroot%setupscripts ix.reg
rmdir /s /q %systemroot%setupscripts
其中:fix.reg是上一步保存的注冊表文件,可根據(jù)自己的實際情況修改。oobe.cmd和system.cmd的內(nèi)容都是一樣的,保存的時候要記得將“保存類型”選為“所有文件”。
⑦ 修改封裝系統(tǒng)鏡像。創(chuàng)建1個名為$oem$的文件夾,在$oem$文件夾內(nèi)再創(chuàng)建1個名為$$的文件夾,接著又在$$文件夾內(nèi)繼續(xù)創(chuàng)建1個名為setup 的文件夾,最后在setup的文件夾內(nèi)創(chuàng)建1個名為scripts的文件夾($oem$文件夾最終的目錄結(jié)構(gòu)為:$oem$$$setupscripts)。然后將保存的注冊表文件(fix.reg)和oobe.cmd、system.cmd復(fù)制到$oem$$$setupscripts目錄下。
用UltraISO打開前面制作的封裝系統(tǒng)鏡像,將$oem$文件夾添加到光盤鏡像sources目錄下,點擊“保存”退出。
經(jīng)過修正的封裝系統(tǒng)光盤鏡像制作完成。
2、第二種解決辦法:使用編程工具編寫一個自動修改注冊表的程序,在系統(tǒng)第一次登錄時將所有“Users<已經(jīng)刪除的用戶名>”注冊表項目修改成“Users<新用戶名>”。
編寫自動修改注冊表、將“Users<已經(jīng)刪除的用戶名>”注冊表項目修改成“Users<新用戶名>”的程序需要具備一定的編程基礎(chǔ),如何編寫這個程序這里暫不介紹,有編程基礎(chǔ)的朋友,可以根據(jù)自己的實際編寫并編譯成可執(zhí)行程序。這里主要介紹如何實現(xiàn)在系統(tǒng)第一次登錄時運行自動修改注冊表程序(假設(shè)這個自動修改注冊表程序名為fix.exe)。
① 開記事本,輸入以下內(nèi)容,然后另存為runonce.reg注冊表文件:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERControl PanelDesktop]
"Wallpaper"="C:\Users\Default\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper.jpg"
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce]
"Fix"="C:\Windows\Setup\ scripts \fix.exe "
② 打開記事本,輸入以下內(nèi)容,然后分別保存為oobe.cmd和system.cmd文件:
@echo off
regedit /s %systemroot%setupscripts unonce.reg
③ 創(chuàng)建1個名為$oem$的文件夾,在$oem$文件夾內(nèi)再創(chuàng)建1個名為$$的文件夾,接著又在$$文件夾內(nèi)繼續(xù)創(chuàng)建1個名為setup的文件夾,最后在 setup的文件夾內(nèi)創(chuàng)建1個名為scripts的文件夾($oem$文件夾最終的目錄結(jié)構(gòu)為:$oem$$$setupscripts)。然后將 fix.exe、runonce.reg和oobe.cmd、system.cmd復(fù)制到$oem$$$setupscripts目錄下。用 UltraISO打開封裝系統(tǒng)鏡像,將$oem$文件夾添加到光盤鏡像sources目錄下,點擊“保存”鏡像文件即可。
到這里,制作Windows7封裝系統(tǒng)的整個過程全部介紹完畢。當(dāng)然,本文所介紹的并不是制作Windows7封裝系統(tǒng)的唯一方法,還有更多更好的方法、途徑和技巧需要我們?nèi)W(xué)習(xí)和研究。只要多學(xué)多練,一定能夠制作出更加完美的封裝系統(tǒng)
Windows7系統(tǒng)封裝教程相關(guān)文章: