由于硬件不兼容,前段時間大量使用英特爾600p固態硬盤的用戶在升級到最新Windows 10 1803春季更新的時候遇上麻煩,死機、電腦無法啟動。不過在坑了英特爾的同時,微軟默默的造福了更多其他品牌NVMe固態硬盤用戶!
根據PCEVA的測試發現,本次1803更新中微軟解除了自帶NVMe驅動程序stornvme的強制FUA(Force Unit Access)模式,開放寫入緩存給普通NVMe固態硬盤。這將使眾多沒有提供廠商專用NVMe驅動的固態硬盤品牌從性能表現上獲益,譬如浦科特。
在Windows 10 1803之前,所有版本的Windows系統自帶NVMe驅動都對沒有掉電保護的NVMe固態硬盤強制開啟FUA模式,限制寫入性能以換取數據相對安全。FUA最早問世于SCSI協議,后來被加入到SATA與NVMe協議中。但實際上Windows并沒有針對SATA硬盤啟用FUA,所以只有NVMe固態硬盤的性能受到了限制。
啟用FUA之后,每一條寫入指令都必須等到數據實際寫入到閃存內之后才能繼續執行,相當于Write Through,這種情況下硬盤的寫入緩存無法起到加速作用,運行效率極端低下。表現在AS SSD Benchmark(1.9以前的版本)測試成績上就是4K寫入性能嚴重偏低。
過去要解決跑分偏低的問題,除了寄望于廠商能夠提供專用NVMe驅動解除限制之外,只有冒著更高斷電數據丟失風險手動禁用寫入緩沖區刷新。
2.0版本的AS SSD Benchmark雖然從跑分上修復了這個問題,實際則是掩耳盜鈴繞過了系統限制,普通應用依然會受制約。而現在微軟終于在最新版本的Windows 10中解除了強制FUA限制,對于大眾玩家來說無疑是一個福音。下圖左側為1709版默認設置下AS SSD Benchmark 1.7測試,右側為1803版默認設置下AS SSD Benchmark 1.7測試,均使用各自系統所帶的默認stornvme驅動程序。
雖然FUA限制解除,但這并不意味著NVMe固態硬盤就變得不安全,寫入緩沖區定時刷新機制依然能夠保障DRAM緩存內數據及時寫入到閃存內。家用條件下用flush指令定時成批刷新緩沖區,要比FUA模式下一筆筆寫入請求單獨確認的效率要更高。
隨著SSD的普及,近年來新電腦用戶大多配置了NVMe接口的SSD(簡稱NVMe SSD),為了提升存儲性能,一些舊電腦用戶會加裝NVMe SSD。由于NVMe SSD使用了M.2接口,在日常使用中很多用戶會遇到一些問題,下面就介紹一下在Win10中如何解決一些常見問題。
1.怎么判斷SSD的接口類型
常規的SSD使用的是SATA接口,傳輸帶寬限制為6Gbps,采用AHCI協議。NVMe SSD使用的是M.2接口,大多使用NVMe協議,最高理論傳輸速度為32Gbps,從外觀接口類型上就可以很清楚地看到它們的不同(圖1)。
如果你的SSD硬盤已經安裝在電腦中,那么還可以直接通過Windows 10的設備管理器進行查看。在任務欄搜索框輸入“設備管理器”,啟動該組件后,展開“磁盤驅動器”,在其下的存儲設備中,有些品牌的SSD會直接標注NVMe字樣。比如三星的“SAMSUNG MZVLB512GB”SSD,其中顯示的名稱就是“NVme SAMSUNG MZVLB512 SCSI Disk Device”,這表明它就是一塊NVMe SSD硬盤(圖2)。
如果你使用的SSD沒有在上述窗口標注“NVMexxx”字樣,則可以在上述窗口,用鼠標右鍵點擊該SSD并選擇“屬性”,接著在打開的窗口切換到“詳細信息”選項,在下方的“屬性(P)”下拉列表選擇“硬件ID”,如果顯示類似“SCSI\DiskNVMe”字樣,則表明這也是一塊NVMeSSD硬盤(圖3)。
2.如何判斷主板是否支持NVMe SSD
如上所述,NVMe SSD使用的是M.2接口。如果用戶要在自己的電腦上加裝NVMe SSD,先要確保主板上有對應的接口。
如果可以直接拆開電腦機箱查看,打開機箱后,可以在主板上查看是否有與NVMe SSD硬盤對應的接口。比如MSI Z270M MORTAR主板,在CPU插糟邊上就可以看到其自帶的M.2接口, 按提示在此安裝NVMe SSD硬盤即可(圖4)。
如果不方便拆開查看(如很多筆記本電腦),那么也可以在設備管理器中查看,同上在圖2的窗口展開“存儲控制器”,查看其下是否有“標準 NVM Express 控制器”字樣。因為M.2接口是PCI Express(PCIe)總線,標準 NVM Express 控制器是Windows 10自帶的M.2接口存儲控制器的內置驅動。如有則表明本機主板支持NVMe SSD,用戶可以購買這類硬盤進行升級,否則請勿購買(圖5)。
、
3.在NVMe SSD硬盤上如何加載NVMe驅動
如果是重裝Windows 10系統,現在的Windows 10安裝鏡像都已經集成“標準 NVM Express 控制器”驅動,因此在安裝過程中可以直接識別NVMe SSD。用戶先準備一個8GB以上的閃存盤和Windows 10安裝鏡像(ISO格式安裝文件),然后到http://rufus.ie/下載Rufus制作啟動盤。啟動“Rufus”后,在設備中選中插入的閃存盤,在“引導類型選擇”下點擊“選擇”,選擇Windows 10安裝鏡像,最后點擊“開始”,當“Rufus”界面提示100%后即完成制作(圖6)。
這樣重啟電腦將閃存盤設置為第一啟動項,啟動后按照屏幕的提示激活安裝向導,在“你想將Windows安裝在哪里”,在硬盤列表選中NVMe SSD,剩余的操作按照屏幕提示完成重裝即可(圖7)。
如果需要重裝的是Windows 7系統,由于默認Windows 7安裝鏡像沒有包含NVMe SSD控制器驅動,這樣會導致在選擇安裝位置(即圖7所示界面)時找不到NVMe SSD硬盤,導致無法完成重裝操作。解決方法有兩個:
一種是自行準備NVMe SSD硬盤的驅動,然后在安裝時手動加載。以英特爾NVMe SSD為例,先到其官網下載Inter RST驅動,下載后將它解壓到“閃存盤\Inter RS\drivers\production\windows10-X64”備用。接著在進行到圖7所示安裝步驟時,點擊“加載驅動”,然后選擇上述保存驅動目錄,成功加載后安裝程序可以識別到硬盤,剩余的操作按照屏幕提示完成安裝即可。
另一種方法是將所需要的驅動注入到安裝鏡像中。Windows 7下的NVMe SSD驅動可以到微軟官網下載KB2990941和 KB3087873這兩個補丁文件,下載后將它們放置在E:\備用。接著將Windows 7安裝文件掛載到虛擬光驅,在資源管理器中打開后,將全部文件復制到閃存盤。再到http://www.chuyu.me/zh-Hans/下載“Dism++”,啟動“Dism++”后,點擊“文件→掛載鏡像”,選擇“F:/sources/install.esd”(假設閃存盤的盤符為F:),掛載路徑選擇“E:\windows7”,目標映像會根據自己的需要選擇對應的版本(圖8)。
成功加載鏡像后,繼續在左側窗格菜單切換到“更新管理”,點擊“添加”,定位到E:\,依次選擇上述下載到的兩個系統補丁文件進行集成,這樣在安裝鏡像中就擁有了通用的NVMe SSD驅動了(圖9)。
操作同上,繼續掛載“u:/sources/boot.wim”并集成驅動,完成上述操作后,點擊“文件→保存鏡像→直接保存”,完成鏡像的保存后,再點擊“文件→卸載鏡像”。這樣以后使用這個閃存盤啟動Windows 7安裝后,就可以直接選擇NVMe SSD完成安裝了。
小結:自己解決常見硬件問題
在日常操作中總會遇到一些硬件問題,對于硬件信息(如接口、容量)參數,大家在Win10系統中可以借助設備管理器進行查看;如果遇到硬件無法識別,大多是由于驅動問題造成的。對于已經安裝好的Win10系統,可以借助設備管理器進行卸載或升級,對于類似在PE或者安裝環境下的硬件識別,則可以通過手動加載或者運行“Dism++”這類程序進行整合,這樣一般都可以解決常見的硬件問題。