LSI MegaRAID SAS 9271-8i 無法安裝在 Windows 10 2004 及其後續的版本

這是這次在 Windows 7 重灌 Windows 10 一開始就遇到的狀況,因為越來越多工作會用到的軟體在 Windows 7 不再更新甚至終止服務,所以雖然重灌會非常的麻煩,還是把一路用了 6 年的老電腦升級。但就在用 USB 隨身碟開進 Windows 10 22H2 的安裝程式時,馬上遇到了 BSoD:

不得不說用 Windows 遇到 BSoD 並不稀奇,但在安裝程式就遇到,除了硬體故障以外還真罕見。BSoD 主要的內容就是「Stop code: DRIVER IRQL NOT LESS OR EQUAL」和「What failed: storport.sys」。把這關鍵字丟到 Google 上查詢,就會發現很多人因此卡在 Windows 10 1909 這個版本無法再升級,因為一升就掛。

後來做了一番研究,知道癥結點不是在 storport.sys 而是微軟的 C:\Windows\System32\drivers\MegaSas2i.sys 在 1909 之後就有問題並且完全不想理會 9271-8i 這種舊卡的相容性,只要設法把它更新成 Broadcom 最後提供的版本「MR Windows Driver - 06.714.18.00」即可,不知道怎麼從他們官網搜尋這張卡驅動程式的可以用這個連結:https://www.broadcom.com/support/download-search?pg=Legacy+Products&pf=Legacy+RAID+Controllers&pn=MegaRAID+SAS+9271-8i&pa=&po=&dk=&pl=&l=false。抓到之後當然就是去裝置管理員的「存放控制器」裡找到這張卡,對它點右鍵然後選「更新驅動程式」,再把這個版本的驅動程式更新上去就行了。

但是問題來了,連 Windows 10 都安裝不了,要怎麼進去裝置管理員?網路上查到的資料幾乎不提這點,看了實在令人氣憤,畢竟很多人的經驗是從 1909 升級上去的,比較少是全新安裝遇到,所以大多是叫你降版回 1909 解決,這並不意外。但是不插這張卡,灌完了 Windows 10,你也無法在裝置管理員找到這張卡來更新驅動程式,然後你只要插回去,就算安全模式你也開不進去。那要怎麼搞呢?

其實只要插著這張卡,但是卡上什麼硬碟都不接,就可以正常安裝完 Windows 10 22H2,然後進去裝置管理員找到這張卡更新驅動程式了,更新完再把硬碟接上去就好。這是硬體 RAID 卡的一種特性,20 幾年前在 Linux 和 FreeBSD 玩 RAID 卡被 driver 婊過幾次的人應該不陌生。

當然網路上也會找到一些對岸提供的解法,一種是用 DISM 或 DISM++ 自行注入這個驅動程式到 Windows 10 的安裝 ISO 檔內,一種是不插卡灌完 Windows 10 去暴力替換 C:\Windows\INF\megasas2i.inf 和 C:\Windows\System32\drivers\MegaSas2i.sys 再關機插卡。我是沒有試,有興趣的可以自己玩玩看,我是覺得拔排線灌完系統再更新比較簡單。

這問題不知道該罵微軟還是該罵 Broadcom,反正目前整個看下來微軟在 2004 這版本開始就抱持著擺爛態度,不少人去反映了這問題也是置之不理。LSI 一直被轉手,最後到了科技業美商藝電的 Broadcom 手上,舊產品直接被放爛也不算意外。總而言之不少人是建議這產品既然已經終止支援,最好還是趁早替換才是正途,只是要找可以直接 import array 的新卡也還得再做功課或寫信問客服就是了,不然就得想辦法轉移資料。

其實早期我也不是 LSI MegaRAID 這產品線的愛好者,比較喜歡使用 3ware 這家的 RAID 卡,畢竟 3ware 對於 FreeBSD 一直都比較友善,我那張 3ware 9750-4i 目前也還在 FreeBSD 系統上服役當中,比起操作那個什麼 MegaCli 和 StorCli,3ware 的 3dm 實在是方便太多了。但 3ware 也是早早被 LSI 併吞掉了,這點相當可惜。