|俞木發(fā)
文件無法刪除的情況大部分發(fā)生在資源管理器中,此時系統(tǒng)會提示文件夾或文件已在另一程序中打開,但是無法從提示中知道具體打開的程序(圖1)。
此時可以啟動“資源監(jiān)視器”,查看“explorer.exe”進程(即資源管理器)是否加載了需要被刪除的文件。如果是,則可以將該進程終止后再刪除它。啟動該組件后切換到“CPU”選項卡,在“名稱”下勾選“explorer.exe”,接著展開下方的“關(guān)聯(lián)的模塊”,在“模塊名”下查找,可以看到當(dāng)前無法刪除的“QQShellExt64.dll”,正是被“explorer.exe”進程加載的文件(圖2)。
在“資源監(jiān)視器”中按提示結(jié)束“explorer.exe”進程,此時再按下“Ctrl+Alt+Del”打開任務(wù)管理器,依次點擊“文件→新建任務(wù)→瀏覽”,找到該文件并刪除(圖3)。最后重啟“explorer.exe”進程即可。
一些文件無法刪除是由于其正被后臺系統(tǒng)服務(wù)或者進程所加載,因此要徹底刪除該文件,就需要先找出加載該文件的進程。比如筆者有一次在試圖刪除“rdpwrap.dll”文件時,系統(tǒng)彈出文件已在“remotedesktopservices”中打開的提示(圖4)。
但筆者在任務(wù)管理器中并沒有發(fā)現(xiàn)名為“remotedesktopservices”的進程,通過名稱描述大概可以知道這是一個系統(tǒng)服務(wù)。此時打開任務(wù)管理器,切換到“服務(wù)”,在“描述”中排查,可以知道這是名稱為“TermServices”的服務(wù)(圖5)。
按提示右擊該服務(wù)并選擇“打開服務(wù)”,找到該服務(wù)后將其“啟動類型”設(shè)置為“禁用”(圖6)。重啟電腦,然后再刪除即可。
在試圖刪除一些被病毒感染的.sys文件時,也經(jīng)常會遇到文件無法刪除的情況。比如筆者電腦中的殺毒軟件排查到“C:\Windows\System32\drivers\Ababa64.sys”為病毒,但是殺毒軟件無法將其刪除,手動刪除則提示文件被后臺程序打開。其原因大多是由于該文件被后臺驅(qū)動服務(wù)加載,解決的方法是找出加載服務(wù)并將其停止,之后就可以將其刪除。
對于驅(qū)動服務(wù)及其加載的文件,可以借助PowerShell命令行查看,系統(tǒng)所有的服務(wù)均可以在注冊表[hklm:\system\ControlSet001\services\]鍵值下看到。先以管理員身份啟動PowerShell,輸入并執(zhí)行命令“Get-ChildItem-Pathhklm:\system\ControlSet001\services\*|Out-GridView”,此時在打開的窗口中可以看到[Services]鍵值下的所有系統(tǒng)服務(wù)(圖7)。
繼續(xù)在圖7所示的窗口中依次點擊“添加標(biāo)準(zhǔn)→Property”,即添加服務(wù)屬性篩選條件,接著在添加篩選條件框中輸入無法刪除的文件名稱“Ababa64.sys”。在篩選后窗口中可以看到該文件被名為“Ababa”的服務(wù)所加載,文件的路徑則為“C:\Windows\System32\drivers\Ababa64.sys”(圖8)。
通過上面的排查,可以知道文件無法被刪除是由于后臺“Ababa”服務(wù)加載所導(dǎo)致的。接下來將病毒文件Ababa64.sys及加載它的系統(tǒng)服務(wù)刪除即可。
重啟并選擇進入安全模式,先根據(jù)圖8的提示在注冊表中找到相應(yīng)的鍵值,并將右側(cè)的“start”值設(shè)置為4(表示將服務(wù)設(shè)置為“禁用”)。重啟電腦,確定系統(tǒng)可以正常使用后,接著根據(jù)圖8顯示的路徑將Ababa64.sys文件刪除,再根據(jù)圖8的“DisplayName”值(對應(yīng)注冊表中服務(wù)鍵值),展開注冊表[HKLM:\SYSTEM\ControlSet001\Services\],將其中的“Ababa”鍵值刪除即可。