平時我們都是通過雙擊EXE程序文件直接運行,但是在一些時候,這種方法卻無法成功啟動程序。那么是什么原因導致?我們又該如何解決這些問題?
雙擊無效?病毒在搞鬼
默認情況下,對于EXE程序文件我們只要雙擊即可自動激活運行。可是有時候雙擊EXE文件,系統卻會提示“該文件沒有與之關聯的程序來執行該操作”,EXE文件無法運行了(圖1)。
圖1 雙擊EXE文件后無法運行
這個故障的原因大多數是由于病毒更改EXE默認打開方式造成的,因此解決的方法是重新關聯EXE正確打開方式。由于EXE無法運行,我們需要使用其他可執行程序來進行修復。默認情況下系統內的.com、.scr(即屏幕保護文件)、.bat都是可執行的。打開資源管理器,定位到“c:\windows\system32”,然后將cmd.exe所有者更改為當前用戶,并將當前用戶對該文件的所有權設置為“完全控制”,最后將“cmd.exe”更改為“cmd.com”,以管理員身份運行后依次輸入下列的命令進行修復(圖2)。
圖2 使用命令行方式修復
ftype exefile="%1"%*
assoc .exe=exefile
注意,在ftype exefile="%1"%*、assoc .exe=exefile這些命令中,.exe前面有一個英文小點,小點前還有一個半角空格,這些都不能少,否則命令會出錯。
小提示:
如果病毒將系統內所有類型可執行文件全部破壞,我們就需要借助PE系統進入,然后在PE里加載原系統的注冊表文件,定位到[HKEY_CLASSES_ROOT\.exe],將右側窗口中“默認”的鍵值改為“exefile”,再依次展開[HKEY_CLASSES_ROOT\exefile\shell\open\command]分支,然后將右側窗口中的“默認”的鍵值改為“"%1"%*”(不要外側引號)即可。此外對于Windows 10系統來說,除了EXE文件,還有內置應用可以運行,比如可以在遇到此類問題時運行EDGE瀏覽器上網查找解決方案。
權限不足?換個權限賬戶運行
大家知道Windows 10的標準賬戶和管理員賬戶是擁有不同權限,對于一些危險的系統命令如格式化、安裝驅動等,默認情況下標準賬戶是沒有這些權限,需要輸入管理員賬戶密碼才能運行(圖3)。
圖3 標準賬戶需要提權才能運行高權限程序
這類程序運行限制主要是由于Windows 10保護機制造成,解決方法就是使用使用管理員賬戶運行。如果覺得每次都要輸入密碼很麻煩,我們可以借助Runas命令完成這類程序提權操作。假設在標準賬戶環境下經常要使用管理員身份運行命令提示符,啟動記事本輸入下列的命令,保存為cmd.bat放置在桌面:
Runas /user:Administrator /savecred c:\windows\system32\cmd.exe
命令解釋:
/user:Administrator,表示使用管理員賬戶Administrator,/savecred表示用用戶以前保存的憑據,這樣只要在首次輸入管理員賬戶Administrator的密碼,以后再次運行時就無需再輸入,后面是需要提權運行的命令,可以自行更改為其他命令。
這樣下次需要使用管理員身份運行命令提示符時,只要首次在命令提示符窗口輸入管理員賬戶Administrator的密碼,以后即可以管理員身份啟動命令提示符了(圖4)。
圖4 使用RUNAS命令提權運行程序
除了Windows 10保護機制造成權限限制外,一些程序運行是如果提示當前賬戶沒有權限運行,這大多數是由于用戶自行進行了權限設置,解決方法是進行權限編輯,將當前賬戶授予完全控制權限即可(圖5)。
圖5 由于權限的限制導致程序無法運行
如果限制的程序很多,手動修改權限操作非常麻煩,大家可以到http://pan.baidu.com/s/1eSkP2Pc下載所需的注冊表代碼,下載后導入系統中。這樣在需要更改權限文件上右擊選擇“管理員取得所有權”即可快速實現權限的更改(圖6)。
圖6 通過右鍵菜單快速更改權限
其他更多程序運行出錯解決方法
大家知道通過組策略的軟件限制策略,我們可以任意限制特定的程序無法運行。如果限制的操作是管理員賬戶設置,而當前登錄的是標準賬戶,由于標準賬戶無法運行組策略編輯器,因此也就無法進入組策略進行修改。不過實際上組策略的軟件限制策略只是針對特定名稱的程序進行限制,比如在限制策略中添加“qq.exe”無法運行,那么我們只要將QQ更改為“qq1.exe”即可繞過限制運行了。
對于操作系統版本兼容性導致的運行出錯,則可以使用右鍵菜單“兼容性”,使用兼容系統(可以選擇Windows XP到Windows 8任意版本)來運行。類似限制還有X64程序無法在32位系統下運行如無法在32位系統下啟動X64位系統安裝程序,解決方法則可以使用32位Imagex程序直接解壓X64位系統鏡像完成安裝。總之,在日常遇到程序無法運行時,我們只要根據運行出錯提示,然后對癥下藥使用不同方法去解決問題即可。
Win10一遇到啟動故障,很多小伙伴可能就會抓瞎,這可怎么弄,我不會修復啊!其實大可不必驚慌,就像這種最常見的Winload啟動錯誤,多半都是MBR分區表丟失造成的(UEFI分區模式的幾乎沒有這種故障),通過幾行命令就能解決問題哦。
遇到這種故障時,最好手邊有個Win10啟動盤(U盤、光盤皆可)。插入啟動盤啟動,在Win10的安裝歡迎界面下,依照提示操作。
在“現在安裝”界面中,選擇左下角的“修復計算機”。
這時候彈出的界面內,選擇“疑難解答”,然后繼續選擇“命令提示符”即可,接下來我們就要用命令解決故障了。
輸入命令bootrec /fixmbr,注意中間空格,用這個命令修復MBR分區表,一般就能解決問題了。
如果啟動還是失敗,可以使用命令bootrec /fixboot重建引導扇區(部分故障也是由此而起),那么還是依照上面的方法,用Win10啟動盤啟動進入命令提示符,輸入bootrec /fixboot修復就可以了。
其實修復MBR分區本身并不難,難的是很多小伙伴不知道Win10如何在啟動菜單中進入命令提示符模式,這和Win7有天壤之別。另外,如果你的電腦是雙系統,出現類似的啟動故障,輸入命令修復的時候可以使用bootrec /rebuildbcd、bootrec /scanos兩個命令(輸入命令回車執行后再執行第二條)來重建BCD引導配置數據和多系統識別,這樣就萬無一失了。