Warung Bebas

Monday, December 21, 2009

裝置管理員+DevCon [一] 復原安全移除的 SATA/USB 硬體 ‧ 查詢 Hub 負載


有沒有想過,裝置管理員 (Device Manager) 除了安裝驅動程式外還可做甚麼?



Device Manager, 裝置管理員的另一面


  • 錯手移除之 USB/SATA 裝置,無需重插便可復原?

  • 避免 USB Hub 超出負荷?

  • 移除不能移除的驅動程式?

  • 顯示比「隱藏裝置」更隱藏的裝置?


還有...



  • 光碟機消失了,不是硬體故障?

  • 判斷不明裝置有比用 Google 更快的方法嗎?

  • 裝置管理員的命令介面 devcon.exe 可以令到電腦更省電?

  • ...更多



這系列介紹各種用來解決問題的裝置管理技巧。


[2009-12-30 更新] 新增 devcon 用法作對比。



本篇目錄:



  1. 介紹「裝置 (依連線)」檢視模式 — 找出硬碟駁在哪個控制器

  2. 「依連線」的實用技 — 已安全地移除的 USB/(e)SATA 裝置,無需重插或重啟就能復原?

  3. 查詢 USB 裝置耗電量 — 避免 USB Hub 超出負荷

  4. 「依資源」查詢裝置 — 找出哪些裝置在共用 IRQ






1. 介紹「裝置 (依連線)」檢視模式


— 找出硬碟駁在哪個控制器


全賴 SSD 加入競爭,現在我們能以低廉的價錢買到海量大小的硬碟。如希望安裝很多硬碟但插槽不足,一般都是加儲存控制卡來解決。但當有朝一日要拆掉其中一個時,面對著一堆硬碟,恐怕已忘掉哪個才是要找的了。

那時可以使用裝置管理員內的「檢視」→「裝置 (依連線)」模式:



Device Manager By Connection



圖中電腦內駁著硬碟的控制器有四個(以 標示)。假設要找出 WD 200G 硬碟,我便知道駁著 Silicon Image Sil 0680 控制卡的那個就是了。用「裝置 (依連線)」檢視模式就可以一目了然。



其實除了硬碟,任何會「纏繞束縛」的裝置都適用。



知多一點:「裝置 (依連線)」模式內所顯示的次序是由隨插即用管理員在開機時所偵測出來的,依照裝置 (devnode) 在電腦中的連線方式來顯示,這結構名為 Device Tree





2. 「依連線」的實用技


— 已安全地移除的 USB/(e)SATA 裝置,無需重插或重啟就能復原?


不知道你有沒有試以下經驗 - 在萬事俱備、千鈞一髮之際,發覺按了...



Safely Remove USB

...按了的並不是想要移取的,而是另一個裝置?例如是掃瞄器,內置式的如讀卡器、熱拔插硬碟或光碟機( eSATA) 等... 那感覺是多麼沮喪...!因為你知道要將掃瞄器帶回來便要重新拔插 USB;將內置式東西帶回來更需要重新開機!
為此,在這裡介紹一個可將移除了的裝置帶回來而無需重新拔插的方法。




i.「檢視」→ ii.「裝置 (依連線)」→ iii. 在黃色符號裝置之上的 USB Hub 按右鍵 → iv.「停用」:



Uninstall USB Hub

(註:每當「安全移除」了裝置而又未拔除,在裝置管理員內都會出現黃色符號。)



重點是,停用了該 USB Root Hub 後,再次按右鍵 →「啟用」,那裝置就會回來了。


eSATA 也可用同一方式弄回來,只不過要將上圖「停用」和「啟用」的 USB Root Hub 改為在該硬碟之上的 ATA Channel。



技巧:對於鍵盤愛好者,想單手移除裝置的,可以製作一個捷徑連到
「control hotplug.dll」,再指定一組快速鍵執行該捷徑即可。


Devcon 方式:進階用者只需一句指令來達至復原的效果:




USB: devcon restart @USB\ROOT_HUB*


eSATA: devcon restart @PCIIDE\IDECHANNEL*




請注意所有的 USB Root Hub 都會重新啟動,所以要確保沒有重要工作在用 USB 進行。至於 eSATA 經測試則沒關係,因為使用中的裝置似乎是不受影響的,所以不會發生 Windows 系統磁區被卸載的情況。




以上的指令利用裝置管理員的命令介面「devcon.exe」(下載),詳細的使用技巧有機會將在別的篇數專題介紹;暫時我會在每個技巧中加插 devcon 的對比做法,先交代其概念。


檢視命令提示字元範例












3. 查詢 USB 裝置耗電量


— 避免 USB Hub 超出負荷



「一個 USB 的 Hub 最多只能提供 500mA 的電流。如此的電流已足以驅動許多電子設備,不過連接在總線供電 Hub 的所有設備,需要共享 500mA 的電流額度。」 — 維基百科


有沒有使用無外接電源的 USB Hub?如有便要注意所連接的裝置的耗電量合共有沒有超出 500mA 了。



i. 到「檢視」→ ii. 同樣是「裝置 (依連線)」→ iii. 找出 USB Hub 並按右鍵 → iv.「內容」:



Device Manager USB Hub

上圖由「裝置 (依連線)」模式可清晰見到 Generic USB Hub 附於底板內建的 USB Root Hub。



Device Manager USB Hub Power


以上的例子為一普通 USB Hub,插上 Hub 的有兩個裝置,從資訊得知它們合共需要 400mA,並沒超標。



知多一點:USB 3.0 的供電量有所提升,達至 900mA。
(底版生產商 Gigabyte 更將部份新型號提升至 1.5A。)






4. 「依資源」查詢裝置


— 找出哪些裝置在共用 IRQ



在學校工作的兩年,試過一次要為電腦室的二十部 hp Compaq d330 MicroTower 電腦製作映像檔,可能該校資源緊拙,那時 (2007年) 仍在使用 Ghost 7.5 企業版。我發現只有這個型號的電腦在網絡起機時會卡在 DOS 黑色畫面。深入 Google 後發現當它內置的 Broadcom LAN 卡和 SATA 控制器共用同一個 IRQ 便會有問題。(那應是當今難得一見的 IRQ 問題呢!)



i. 到「檢視」→ ii.「資源 (依類型)」:



Devices By Type IRQ Conflict

證實 IRQ 是一樣後,因為是隨插即用裝置,不能在 Windows 內調整 IRQ,需要重新開機進入 CMOS (BIOS) 才能把它們分開。(請注意圖片只作參考)



知多一點:Windows 自 98 開始全面支援 ACPI,只要 BIOS 和裝置支援隨插即用
作業系統可自行調配資源,絕少會有衝突問題。




Devcon 方式:我們可使用 devcon 的 resources 參數,輸入多個裝置 ID 以檢視其資源調配情況。(由於今次包含了保留字符 & 關係,務必要以雙引號包著。)




devcon resources "*VEN_1022&DEV_2000*" "*VEN_80EE&DEV_CAFE*"


檢視命令提示字元範例












感謝閱讀~ 喜歡的話請訂閱支持一下。如欲轉載,包括一條到這頁的連結即可。



第二章預告:



  • 光碟機旁出現黃色感嘆號 — 讀不到光碟竟是軟件問題?

  • 不經解除安裝程式,徹底移除驅動程式 (XP 和 Vista/7 兩個不同的方法)

  • 檢視比「隱藏裝置」更隱藏的裝置

  • 認識裝置識別碼

  • 以 Devcon.exe 命令工具更快的完成上述工作


你有沒有些想知的技巧? 歡迎告知。



Attribution: wanderSick's Tech Notes | 2009.12.20 | TN #002




歡迎用以下方式儲存或分享本文:

















Share

















0 comments em “裝置管理員+DevCon [一] 復原安全移除的 SATA/USB 硬體 ‧ 查詢 Hub 負載”

Post a Comment

 

wander-sick Copyright © 2012 Fast Loading -- Powered by Blogger