Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
NVMe depolama sürücülerine yönelik üretici yazılımı güncellemeleri, Windows 10'da tanıtılan belirli üretici yazılımı güncelleme GÇTL'lerini kullanan üretici yazılımı güncelleme uygulamaları oluşturmaları için donanım satıcılarına bağlı kalmıştır. Bu uygulamalar genellikle Windows Update (WU) işlem hattının dışına dağıtılır. Son kullanıcıların cihazlarında hangi depolama disklerinin olduğunu belirlemesi, üreticinin web sitesinden doğru depolama sürücüsü üretici yazılımı yardımcı programını alması ve güncelleştirmeleri el ile indirip yüklemesi gerekir.
Ayrıca, S modunda Windows 10 çalıştıran cihazlar yalnızca kullanıcıların Microsoft tarafından doğrulanmış uygulamaları çalıştırmasına izin veren gelişmiş bir güvenlik yapılandırmasındadır, bu nedenle satıcı yardımcı programları sürücü üretici yazılımını güncelleştiremeyebilir. Bu el ile gerçekleştirilen işlem, üretici yazılımı güncelleştirmelerinin düşük benimsenmesini, destek maliyetlerinin ve donanım üreticilerinin müşteri memnuniyeti sorunlarının artmasına neden olur.
S modunda Windows 10, yalnızca Windows içindeki Microsoft Store uygulamaları ve S modunda Windows 10 ile uyumlu aksesuarlarla çalışır. S modundan çıkış için tek yönlü bir geçiş imkanı mevcut. Daha fazla bilgi için bkz. windows.com/SmodeFAQ ve Windows'da S modundan çıkma.
Sürücü tabanlı bir çözüm kullanarak Windows Update (WU) hizmetini kullanarak cihaz üretici yazılımını güncelleştirmek donanım satıcıları tarafından kullanılabilir ve mevcut bir işlev sürücüsüne üretici yazılımı güncelleştirme mantığı ve yükü eklemelerini ya da ayrı bir üretici yazılımı güncelleştirme sürücüsü ve paketi sağlamalarını gerektirir. Bu senaryo, donanım iş ortakları arasında yinelenen çalışmalara neden olur ve depolama sürücülerinin genel hizmet maliyetlerini artırır. Evrensel sürücüler hakkında daha fazla bilgi için bkz. Evrensel INF Dosyası Kullanma.
Windows 10, sürüm 2004 (İşletim Sistemi derlemesi 19041.488 veya üzeri) kullanıldığında, Microsoft tarafından sağlanan bir sürücü ve donanım satıcısı tarafından sağlanan bir üretici yazılımı güncelleme paketi ile NVMe sürücü üretici yazılımını güncellemek mümkündür. Bu çözüm, Windows Update aracılığıyla Bilgisayar Donanım Kimlikleri (CDK) kullanılarak belirli sürücülere ve cihazlara dağıtılabilir.
Uyarı
Üretici yazılımı güncelleştirmeleri riskli olabilecek bir bakım işlemidir ve yalnızca yeni üretici yazılımı görüntüsünün kapsamlı test edilmesinden sonra dağıtılmalıdır. Desteklenmeyen donanımdaki yeni üretici yazılımı güvenilirlik ve kararlılığı olumsuz etkileyebilir, hatta veri kaybına neden olabilir.
Sürücü uyumluluğu
Sürücü üretici yazılımını güncelleştirmek için Windows 10 kullanmak için desteklenen sürücülere sahip olmanız gerekir. Yaygın cihaz davranışından emin olmak için Windows 10, NVMe cihazları için isteğe bağlı Donanım Laboratuvar Seti (HLK) gereksinimlerini belirtir. Bu gereksinimler, yeni Windows Update tabanlı çözüm kullanılarak bir NVMe depolama sürücüsünün üretici yazılımı güncelleştirilebilir olması için hangi komutları desteklemesi gerektiğini özetler.
Donanımınızın Windows'un sürücü üretici yazılımını güncelleştirmesini destekleyip desteklemediği hakkında bilgi için çözüm satıcınıza başvurun.
NVMe için Windows cihaz COMPAT gereksinimleri: Device.Storage.ControllerDrive.NVMe - bölüm 5.7 ve 5.8
Device.Storage.ControllerDrive.NVMe.BasicFunction
Cihazda en az bir yükseltilebilir firmware yuvası bulunmalıdır.
5.7 Üretici Yazılımı Onayı
Bir üretici yazılımı görüntüsünün etkinleştirilmesi, cihazın güç döngüsüne gerek kalmadan yapılmalıdır.
Etkinleştirme işleminin, belirtim sürümü 1.2a'nın 8.1 bölümünde açıklandığı gibi ana bilgisayar tarafından başlatılan bir sıfırlama yoluyla yapılması beklenir.
Windows, bir aygıt yazılımı işleme komutu verdiğinde 001b veya 010b işlem eylemlerini kullanır.
Güç döngüsü olmadan başarılı etkinleştirme için beklenen tamamlama değerleri 00h (genel başarı), 10h veya 11h'dır.
0Bh tamamlanma durumu olarak döndürülürse, Windows kullanıcıya cihazın güç döngüsünü gerçekleştirmesi konusunda bilgi verir. İşletim sistemi çalışma zamanında üretici yazılımının güncelleştirilmesini önlediğinden ve önemli iş yükü kesintilerine neden olduğundan bu durum önerilmez.
5.8 Üretici Yazılımı Görüntüsü İndirme
- Cihaz, indirme aşaması sırasında G/Ç'de sorun yaşamamalı ve G/Ç hizmeti sunmaya devam etmelidir.
Daha fazla bilgi için, WHCP_Documents_Windows 11, sürüm 24H2.zipindirme dosyasında bulunan Bileşenler ve Peripherals.pdf bulunan Device.Storage.ControllerDrive.NVMe için Windows cihaz COMPAT gereksinimleri - 5.7 ve 5.8 bölümlerine bakın.
NVMe depolama disk sürücüleri için SCSI tanımlayıcıları
Windows 10, sürüm 2004 (İs derlemesi 19041.488 veya üzeri) ile başlayarak, STOR_RICH_DEVICE_DESCRIPTION yapısını destekleyen sürücüleri kullanan NVMe depolama disk sürücüleri için iki yeni tanımlayıcı kullanılabilir:
SCSI\t*v(8)p(40)
Nerede:
- t* değişken uzunlukta bir cihaz türü kodudur.
- v(8), 8 karakterlik bir satıcı tanımlayıcısıdır.
- p(40), 40 karakterlik bir ürün tanımlayıcısı
SCSI\t*v(8)p(40)r(8)
Nerede:
- t* değişken uzunlukta bir cihaz türü kodudur.
- v(8), 8 karakterlik bir satıcı tanımlayıcısıdır.
- p(40), 40 karakterlik bir ürün tanımlayıcısı
- r(8), 8 karakterlik bir düzeltme düzeyi değeridir.
Tanımlayıcı SCSI\t*v(8)p(40)r(80, tam bir ürün adını (NVME 1.4 standardına uygun) sunar ve bu adla eşleşen NVME sürücüleri için üretici yazılımı güncellemeleri amacıyla yazılım bileşeni (SWC) düğümü oluşturmanızı sağlar (en fazla 40 karakter ve 8 karakterlik üretici yazılımı revizyonu).
Daha fazla bilgi için bkz. SCSI Cihazları için Tanımlayıcılar ve STOR_RICH_DEVICE_DESCRIPTION
Depolama Üretici Yazılımı Güncelleştirmesi (SFU) çözümü ayrıntıları
Aşağıdaki diyagramda, Windows 10 hem işlev sürücüsünü (stornvme.sys) hem de üretici yazılımı güncelleştirme sürücüsünü (storfwupdate.dll) sağlar. NVMe sürücü üretici yazılımını güncelleştirmek için Microsoft tarafından sağlanan sürücüyü kullanmak için iki ayrı sürücü gönderimi gerekir.
Paket 1 - Sürücü üretici yazılımı güncelleştirmesi için kimlik oluşturma
Bu paket genellikle aşağıdaki öğeleri içerir:
Yazılım cihazı düğümü oluşturmak için INF uzantısı, bellenim güncelleştirme paketi için bağımsız olarak hedeflenen donanım görevi görür.
Sürücü kataloğu
Uzantı INF paketinizi ayrı bir sürücü gönderimi olarak gönderin.
Ancak birçok cihaz türü, tek bir fiziksel cihazın birden fazla cihaz düğümünü numaralandırmasına izin vermez. Bu durumda, Windows Update tarafından hedeflenen bir cihaz düğümü oluşturmak ve buna üretici yazılım güncelleştirme sürücüsünü yüklemek için AddComponent yönergesini belirten bir INF uzantısı kullanın. Bir INF dosyasındaki aşağıdaki kod parçacığında cihaz düğümünü oluşturma gösterilmektedir:
[Manufacturer]
%Contoso%=Standard,NTamd64
[Standard.NTamd64]
%DeviceName%=Device_Install, SCSI\DiskNVMe____StorageIHVabcd
[StorageIHVabcd.Components]
AddComponent= StorageIHVabcd_component,,StorageIHVabcd_ComponentInstall
[StorageIHVabcd_ComponentInstall]
ComponentIDs = StorageIHVabcd-firmware-update
Bu INF örneğinde, ComponentIDs = StorageIHVabcd-firmware-update alt cihazın SWC\StorageIHVabcd-firmware-update donanım kimliğine sahip olacağını gösterir. Bu INF yüklendiğinde aşağıdaki cihaz hiyerarşisini oluşturur:
Sürücü üretici yazılımı güncelleştirmeleri için yeni bir kimlik oluşturmaya yönelik örnek uzantı INF aşağıda verilmiştir. SCSI\DiskNVMe____StorageIHVabcd donanımı donanım üreticileri arasında benzersiz olmadığından, INF uzantısı dağıtım için CHID hedeflemesini kullanmalıdır.
Paket 2 - Sürücü üretici yazılımı güncelleştirme paketi
Genellikle bu paket aşağıdakileri içerir:
Sınıf üretici yazılımının evrensel sürücü INF dosyası
Üretici yazılımı güncelleştirme yükü ikili dosyası
Sürücü kataloğu
Üretici yazılımı paketinizi ayrı bir sürücü gönderimi olarak gönderin.
Sürücü üretici yazılımı güncelleştirme paketi INF yeni düğümü SWC\StorageIHVabcd-firmwareupdate hedefler ve Windows 10 depolama üretici yazılımı güncelleştirme sürücüsünü çağırır. Yazılım tarafından numaralandırılmış bir bileşen cihazının çalışabilmesi için, ana bileşeninin başlatılması gerekir. StorFwUpdate sürücüsünü kullanmak için geliştiriciler, INF'nin ilgili bölüm için herhangi bir yönerge belirtip belirtmediğine bakılmaksızın, burada gösterildiği şekilde DDInstall bölümünde her olası [DDInstall.*] bölümü için ilgili [StorFwUpdate.*] bölümlerine Include/Needs INF yönergelerini kullanmalıdır.
[StorFwUpdateOem.NT]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT
CopyFiles = StorFwUpdateOem.CopyFiles
[StorFwUpdateOem.NT.Wdf]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT.Wdf
[StorFwUpdateOem.NT.Services]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT.Services
Daha fazla bilgi için bkz . Bileşen INF dosyası kullanma. Aşağıda örnek bir NVMe sürücü üretici yazılımı güncelleştirme INF dosyası verilmiştir. SWC\StorageIHVabcd-firmwareupdate yazılım kimliği donanım üreticileri arasında benzersiz olmadığından INF, Windows Update dağıtımı için CHID hedeflemesini kullanmalıdır.
StorFwUpdate bileşeni, üretici yazılımı ikili veri yükünde herhangi bir doğrulama (imza doğrulaması veya şifre çözme) yapmaz. Bu özellik düzeyi gerekiyorsa donanım iş ortakları kendi depolama üretici yazılımı güncelleştirme sürücüsünü yazabilir.
Depolama sürücüsü üretici yazılımı güncelleştirme örneği
Her iki INF de Windows Update dağıtımı için CHID gerektirdiğinden, donanım ortakları çözümü aşağıda gösterildiği gibi PNPUTIL.EXE kullanarak yerel olarak doğrulayabilir.
Gereksinimler
Windows 10, Sürüm 2004 (İs derlemesi 19041.488 veya üzeri)
NVMe depolama sürücüsüne sahip ve yerleşik stornvme.sys sürücüsünü kullanan cihaz
NVMe sürücü üretici yazılımı ikili dosyası
Düzgün yazılmış INF dosyaları
Geçerli NVMe disk üretici yazılımı sürümünü görüntüleme
Geçerli NVMe disk üretici yazılımı sürümünü görüntülemek için:
Yönetici olarak bir PowerShell penceresi açın.
Geçerli NVMe disk üretici yazılımı sürümünü görüntülemek için yazın
Get-PhysicalDisk | Get-StorageFirmwareInformation.
Geçerli ActiveSlotNumber ve FirmwareVersionInSlot değerlerini not edin.
Daha fazla bilgi için bkz. Get-StorageFirmwareInformation.
Yeni yazılım donanım kimliği oluşturmak için INF uzantısını yükleme
Sisteminizde sürücü uzantısı paketi INF dosyasını içeren dizine gidin. Örneğin,
cd .\signed-DiskExtnPackage\yazın.INF uzantı dosyasının, güncellemekte olduğunuz sürücülerin bilgilerini içerdiğini kontrol edin. Bu makaledeki Disk uzantısı INF dosyası örneğine bakın.
Uzantı INF'yi Microsoft PnP yardımcı programıyla yükleyin. Örneğin, bir yönetici komut isteminde yazın
pnputil /add-driver .\OEMDiskExtnPackage.inf /install. Yeni yazılım düğümü, önemli bir önyükleme cihazının alt düğümü olarak oluşturulduğundan, etkili olabilmesi için cihazın yeniden başlatılması gerekir.
Yeni yazılım bileşeni (SWC) düğümünü görüntüleme
Yeni SWC düğümünü ve donanım kimliğini görüntülemek için:
Windows 10 Başlat menüsünden Denetim Masası'nı ve ardından Cihaz Yöneticisi'ni açın.
Cihaz Yöneticisi'nde Disk sürücüleri'ni seçin, ardından düğümü genişletin ve güncelleştirdiğiniz disk sürücüsünü seçin.
Güncelleştirdiğiniz sürücüyü seçtikten sonra , Cihaz YöneticisiGörünümü menüsünde Bağlantıya göre cihazlar'ı seçin.
Seçili sürücü düğümüne tıklayın ve ardından genişletmek için tıklayın. Sürücü düğümü altında bir alt Genel yazılım bileşeni görürsünüz.
Genel yazılım bileşenine sağ tıklayın ve Özellikler'i seçin.
Özellikler iletişim kutusunda Ayrıntılar sekmesini seçin ve ardından Özellik açılan listesinden Donanım Kimlikleri'ni seçerek sürücü düğümündeki Genel yazılım bileşeninin Donanım Kimliği'ni görüntüleyin.
SWC\* Donanım Kimliği, Uzantı INF'sinde belirtilen kimlikle eşleşmelidir.
NVMe disk üretici yazılımı güncelleştirmesini görüntüleme ve yükleme
Yönetici olarak bir PowerShell penceresi açın.
Sisteminizde NVMe disk üretici yazılımı güncelleştirme INF dosyasını içeren dizine gidin. Örneğin,
cd .\signed-ihv-firmware\yazın.Disk üretici yazılımı güncelleştirme INF'sinin, güncelleştirmekte olduğunuz sürücülerin bilgilerini içerdiğini doğrulayın. Bu makalede örnek disk üretici yazılımı güncellemesi INF dosyasını görmek için Disk Üretici Yazılımı INF dosyasına bakın.
Microsoft PnP yardımcı programıyla disk üretici yazılımı güncelleştirme INF'sini yükleyin. Örneğin, bir yönetici komut isteminde yazın
pnputil /add-driver .\StorFwUpdateIHV.inf /install.Yönetici olarak bir PowerShell penceresi açın.
Güncelleştirilmiş NVMe disk üretici yazılımı bilgilerini görüntülemek için yazın
Get-PhysicalDisk | Get-StorageFirmwareInformation.
ActiveSlotNumber ve FirmwareVersionInSlot değerlerinde güncelleştirilmiş NVMe disk üretici yazılımı bilgilerini görüntüleyin.
Daha fazla bilgi için bkz. Get-StorageFirmwareInformation.
INF uzantı ve üretici yazılım paketlerini Windows Update aracılığıyla dağıtın.
İlk olarak, test dağıtımı için yayımlama kılavuzunu kullanarak Windows Update aracılığıyla paket dağıtımını doğrulayın.
Ardından, uygun CHID'leri kullanarak paketi Windows Update aracılığıyla dağıtın.
Dağıtım hakkında bilgi için bkz. Windows 10 Sürücü Yayımlama İş Akışı (DOCX indirme).
Disk uzantısı INF örneği
Aşağıda örnek bir uzantı INF dosyası verilmiştir:
;/*++
;
; Copyright (c) Microsoft Corporation. All rights reserved.
;
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
; PURPOSE.
;
; File:
;
; OEMDiskExtnPackage.inx
;
; Description:
;
; INF file for installing the OEMDiskExtnPackage. This will create a SWC\ DevNode
; which will service as the target HWID for the Disk storage firmware package.
;
;--*/
[Version]
Signature="$Windows NT$"
Class = Extension
ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
Provider = %ManufacturerName%
ExtensionId = {D91908BD-43FA-411B-92A1-C378AE5AF9FA}
CatalogFile = delta.cat
DriverVer = 08/26/2019,1.0.0.0
PnpLockdown = 1
[SourceDisksNames]
1 = %DiskName%
[Manufacturer]
%ManufacturerName%=Standard,NTamd64
[Standard.NTamd64]
%OEMDiskExtnPackage.DeviceDesc%=StorageIHV1-87B, SCSI\DiskNVMe____StorageIHV1-87B
%OEMDiskExtnPackage.DeviceDesc%=StorageIHV1-87A, SCSI\DiskNVMe____StorageIHV1-87A
%OEMDiskExtnPackage.DeviceDesc%=StorageIHV2_KUS02020, SCSI\DiskNVMe____StorageIHV2_KUS02020
%OEMDiskExtnPackage.DeviceDesc%=StorageIHV3_KBG40ZPZ512G, SCSI\DiskNVMe____KBG40ZPZ512G_IHV300Y9
%OEMDiskExtnPackage.DeviceDesc%=StorageIHV3_KBG40ZPZ512G, SCSI\DiskNVMe____KBG40ZPZ512G_IHV30015
[StorageIHV1-87B.NT]
[StorageIHV1-87B.NT.Components]
AddComponent = StorageIHV1-87B_component,,StorageIHV1-87B_ComponentInstall
[StorageIHV1-87B_ComponentInstall]
ComponentIds=StorageIHV1-87B
[StorageIHV1-87A.NT]
[StorageIHV1-87A.NT.Components]
AddComponent = StorageIHV1-87A_component,,StorageIHV1-87A_ComponentInstall
[StorageIHV1-87A_ComponentInstall]
ComponentIds=StorageIHV1-87A
[StorageIHV2_KUS02020.NT]
[StorageIHV2_KUS02020.NT.Components]
AddComponent = StorageIHV2_KUS02020_component,,StorageIHV2_KUS02020_ComponentInstall
[StorageIHV2_KUS02020_ComponentInstall]
ComponentIds=StorageIHV2_KUS02020
[StorageIHV3_KBG40ZPZ512G.NT]
[StorageIHV3_KBG40ZPZ512G.NT.Components]
AddComponent = StorageIHV3_KBG40ZPZ512G_component,,StorageIHV3_KBG40ZPZ512G_ComponentInstall
[StorageIHV3_KBG40ZPZ512G_ComponentInstall]
ComponentIds=StorageIHV3_KBG40ZPZ512G
;*****************************************
; Strings section
;*****************************************
[Strings]
ManufacturerName = "OEM"
DiskName = "OEM Disk Extn package Installation Disk"
OEMDiskExtnPackage.DeviceDesc = "Disk Extn Package"
OEMDiskExtnPackage.SVCDESC = "Disk Extn Package"
;Non-Localizable
REG_EXPAND_SZ = 0x00020000
REG_DWORD = 0x00010001
REG_MULTI_SZ = 0x00010000
REG_BINARY = 0x00000001
REG_SZ = 0x00000000
SERVICE_KERNEL_DRIVER = 0x1
SERVICE_ERROR_IGNORE = 0x0
SERVICE_ERROR_NORMAL = 0x1
SERVICE_ERROR_SEVERE = 0x2
SERVICE_ERROR_CRITICAL = 0x3
Disk firmware INF örneği
Aşağıda örnek bir disk üretici yazılımı INF dosyası verilmiştir:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Copyright (c) Microsoft Corporation. All rights reserved.
;
; THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
; KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
; PURPOSE.
;
; File:
;
; StorageIHV3-Firmware-Update.inx
;
; Description:
;
; Driver installation file for firmware update.
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[Version]
Signature="$Windows NT$"
Class=Firmware
ClassGuid={f2e7dd72-6468-4e36-b6f1-6488f42c1b52}
Provider=%ManufacturerName%
CatalogFile=delta.cat
DriverVer=08/26/2019,11.37.9.948
PnPLockDown=1
[SourceDisksNames]
1= %DiskName%
[DestinationDirs]
StorFwUpdateOem.CopyFiles=13
[Manufacturer]
%ManufacturerName%=Standard,NTamd64
[Standard.NTamd64]
%StorFwUpdateOem.DeviceDesc%=StorFwUpdateOem, SWC\StorageIHV3_KBG40ZPZ512G
[StorFwUpdateOem.NT]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT
CopyFiles = StorFwUpdateOem.CopyFiles
[StorFwUpdateOem.NT.Wdf]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT.Wdf
[StorFwUpdateOem.NT.HW]
AddReg = StorFwUpdateOem_HWAddReg
[StorFwUpdateOem_HWAddReg]
HKR,,FriendlyName,,%FwUpdateFriendlyName%
; Specify the location of the firmware offer and payload file in the registry.
; The files are kept in driver store. When deployed, %13% would be expanded to the actual path
; in driver store.
;
HKR,0D9EB3D6-6F14-4E8A-811B-F3B19F7ED98A\0,FirmwareImageVersion, 0x00000000, "AEMS0102"
HKR,0D9EB3D6-6F14-4E8A-811B-F3B19F7ED98A\0,FirmwareFileName, 0x00000000, %13%\AEMS0102.sig
[SourceDisksFiles]
AEMS0102.sig=1
[StorFwUpdateOem.CopyFiles]
AEMS0102.sig
[StorFwUpdateOem.NT.Services]
Include = StorFwUpdate.inf
Needs = StorFwUpdate.NT.Services
; =================== Generic ==================================
[Strings]
ManufacturerName="{Your Manufacturer Name}"
StorFwUpdateOem.DeviceDesc = "Storage Firmware Update (StorageIHV3) 1"
DiskName = "Storage Firmware Update Installation Disk"
FwUpdateFriendlyName= "StorageIHV3 Firmware Update"