相信你一定經常遇到這種情況:在電腦的USB接口插入閃存使用完畢後,按照常規的操作點擊任務欄右下角“拔下或彈出硬件”,接著點擊“停止USB Mass Storage Device-驅動器”後,沒有出現“USB Mass Storage Device設備現在可安全地從系統卸載”對話框,而是出現了另一個對話框“現在無法停止通用卷設備,請稍候再停止設備”。經過檢查,閃存裡(電腦自動關機)的程序文件都已關閉,電腦和閃存之間也沒有任何數據傳輸。無法安全卸載設備是沒有道理的啊!
那麼到底是因為什麼導致硬件無法拔出呢?筆者仔細思考了這個問題。想來想去,猜測閃存插入時在Windows任務管理器中應該會增加一個與之相對應的進程,硬件正常拔出時這個對應的進程自動結束,當這個進程不能正常結束時硬件也就無法正常拔出了。為了驗證這個猜想,筆者先打開任務管理器,進入“進程”一欄,注意到左下角顯示的是:“進程數:23”,再插入閃存,然後把目光集中到“進程數”上,可是,當系統找到硬件,一切顯示正常之後,進程數並沒有像筆者想像的那樣變為24,而是保持23不變。這樣看來,閃存插入時並沒有與之相對應的進程數,那麼這個現象就不好解釋了。
正當我無奈地點擊托盤圖標,想卸載閃存時,突然發現當點擊"停止USB驅動器"後進程數變成了24,也就是說卸載硬件要由一個進程“負責”,當硬件卸載後,這個進程也同時結束。經過多次試驗,發現這個進程的名稱是rundll32.exe,哈哈,原來是這個熟悉的鏈接程序。
到底有沒有某一個進程和無法卸載硬件有關呢?筆者恰好又碰到了一次"無法停止設備"的機會,就打開任務管理器的進程欄,依次試驗,每結束一個看起來相關的進程,就試驗看能否拔出硬件。結束了幾個無用的進程後,發現有3個相同的rundll32.exe進程同時存在,把這幾個進程都結束時,筆者發現,硬件可以正常刪除了。真是功夫不負有心人,看來症結還在rundll32.exe上。通過這次研究,筆者總結出:可移動硬件無法正常卸載時,進程欄中必定還有沒有結束的rundll32.exe(當然,有的rundll32.exe可能和系統中正在運行的程序有關),把這幾個rundll32.exe進程結束,可移動設備就肯定能正常卸載了。
小提示
如果經常出現這種無法停止設備的現象,可以建立一個批處理文件,裡(電腦自動關機)面輸入“taskkill /im rundll32.exe”,保存為delusb.bat,出現故障時運行一下就可以了。這種方法適用於Windows XP用戶,如果是Windows 9x/2000的用戶,可以到這裡(電腦自動關機)下載。
閃盤無法卸載究竟為什麼?