web-dev-qa-db-ja.com

許可されていないDMA対応するバス/デバイスが検出されました

私の問題は、ラップトップのどのデバイスが許可されていないかを確認する方法ですDMA対応しています。USBデバイスを無効にして、ラップトップをドッキングステーションから取り外してみました。同僚は同じラップトップモデルを使用しており、彼は私と同じ問題はありません。

システムインフォメーション

OS Name Microsoft Windows 10 Enterprise
Version 10.0.16299 Build 16299
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name NB-SOKRE
System Manufacturer LENOVO
System Model 20L7S02M00
System Type x64-based PC
System SKU LENOVO_MT_20L7_BU_Think_FM_ThinkPad T480s
Processor Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 2112 Mhz, 4 Core(s), 8 Logical Processor(s)
BIOS Version/Date LENOVO N22ET37W (1.14 ), 22.5.2018.
SMBIOS Version 3.0
Embedded Controller Version 1.08
BIOS Mode UEFI
BaseBoard Manufacturer LENOVO
BaseBoard Model Not Available
BaseBoard Name Base Board
Platform Role Mobile
Secure Boot State On
PCR7 Configuration Bound
Windows Directory C:\Windows
System Directory C:\Windows\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "10.0.16299.371"
User Name 3PRO\kkljucaric
Time Zone Central European Daylight Time
Installed Physical Memory (RAM) 16,0 GB
Total Physical Memory 15,8 GB
Available Physical Memory 7,02 GB
Total Virtual Memory 18,2 GB
Available Virtual Memory 5,31 GB
Page File Space 2,38 GB
Page File C:\pagefile.sys
Virtualization-based security Running
Virtualization-based security Required Security Properties Base Virtualization Support, Secure Boot, DMA Protection
Virtualization-based security Available Security Properties Base Virtualization Support, Secure Boot, DMA Protection, Secure Memory Overwrite, UEFI Code Readonly, SMM Security Mitigations 1.0
Virtualization-based security Services Configured Credential Guard
Virtualization-based security Services Running Credential Guard
Windows Defender Device Guard Code Integrity Policy Audit
Windows Defender Device Guard user mode Code Integrity Audit
Device Encryption Support Reasons for failed automatic device encryption: Un-allowed DMA capable bus/device(s) detected
A hypervisor has been detected. Features required for Hyper-V will not be displayed. 
2

Microsoftは、このメッセージについて このドキュメント を提供しています。

ブラックリストとホワイトリストの両方がレジストリのHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DmaSecurityにあります。これをチェックする自動化されたプロセスを私は知りませんが、作成はかなり簡単なはずです。

ほとんどのシステムに存在する典型的な候補は「PCI-to-PCIブリッジ」です。不思議なことに、「PCI ExpressRootComplex」はAllowedBusesUnallowedBusesの両方にあります。

2
Daniel B

私の場合、グラフィックカードをホワイトリストに登録する必要がありました。これを行うために私が従ったプロセスは次のとおりです。

問題のあるデバイスを見つける

  1. コンピューターを開き、すべてのオプションのデバイス(HDD、SSD、PCIeカードなど)をマザーボードから物理的に切断します。
  2. コンピューターを起動し、システム情報レポートを再度実行して、エラーが消えたかどうかを確認します。
  3. エラーがまだ存在する場合、私の指示はおそらくあなたを助けません
  4. エラーがない場合は、削除したデバイスを1つだけ追加します
  5. 手順2から繰り返します

最終的に、特定のデバイスを1つ再度追加すると、エラーが表示される場合があります。それがどのデバイスであるかをメモします。

外部DMAがあるかどうかを確認します

デバイスに外部DMAがあるかどうかを確認するには、 Windows 10 for OEMのBitLockerドライブ暗号化 を参照してください。もしそうなら、あなた自身の責任で進んでください。それ以外の場合は、続行してもかまいません。

デバイスIDを取得する

  1. 開くデバイスマネージャ
  2. デバイスを探す
  3. ダブルクリックします
  4. PropertyParentに設定します
  5. 値をコピーします

    Identify the device using Device Manager

デバイスをホワイトリストに登録する

  1. 開くRegedit
  2. Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DmaSecurity\AllowedBusesに移動します
  3. レジストリキーを変更するためのアクセス権を自分に付与します
    1. AllowedBusesを右クリックして、Permissionsに移動します
    2. 自分を所有者にする
      1. 詳細を押します
      2. 所有者の横に、それが何を言っているかをメモします(私の言った[〜#〜]システム[〜#〜]
      3. 所有者の横で、変更を押します
      4. ユーザー名を入力します(例:Microsoftアカウントの電子メールアドレス)
      5. [〜#〜] ok [〜#〜]を押します
    3. アクセスを許可する
      1. 追加を押します
      2. ユーザー名を入力します(例:Microsoftアカウントの電子メールアドレス)
      3. [〜#〜] ok [〜#〜]を押します
      4. ユーザーを選択してください
      5. ティックフルコントロール
      6. [〜#〜] ok [〜#〜]を押します
  4. AllowedBusesの下に、新しいString Valueを作成します。
    1. NVIDIA GeForce GTX 1050など、デバイスを簡単に識別できる名前に名前を設定します
    2. デバイスマネージャからコピーした値を貼り付けますが、PCI\VEN_####&DEV_####Regedit showing the device added to AllowedBuses
  5. コンピュータを再起動してください
  6. 実行システム情報
  7. エラーがなくなったことを確認します
  8. レジストリに戻り、行った権限の変更を元に戻します
1
Sam