Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

แก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

บางผู้ใช้ VMware Workstation และ VMware Player พบข้อความ 「VMware and DeviceCredential Guard are not Compatible」 เมื่อพยายามเปิดแอปพลิเคชัน หรือพยายามเริ่มต้น Virtual Machine ผู้ใช้ส่วนใหญ่ยืนยันว่าปัญหาเริ่มขึ้นหลังติดตั้ง Windows Update ที่รอคอยอยู่

แก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

เมื่อตรวจสอบปัญหานี้ ควรเริ่มต้นด้วยการปิดใช้งาน Hyper-V แบบปกติ สามารถทำได้ทั้งผ่าน CMD หรืออาศัย GUI interface

ปัญหาที่เป็นไปได้อีกอย่างคือ Local Group Policy ชื่อ Virtualization Based Security ที่บล็อกเทคโนโลยีการจำลองบางอย่าง ในกรณีนี้ สามารถใช้ Local Group Policy Editor ปิด Policy นี้ หรือใช้ Registry Editor บังคับการเปลี่ยนแปลง

อย่างไรก็ตาม หากเจอปัญหานี้บน Windows 10 น่าจะเป็นเพราะความไม่สอดคล้องกับ Boot Configuration Data (BCD) หากสถานการณ์นี้ตรง สามารถแก้ได้โดยแก้ไขไฟล์ BCD เพื่อกำจัดการอ้างอิง Hyper-V ใดๆ

ในกรณีที่ใช้ Windows Defender จำไว้ว่า Error ของ WMware นี้อาจเกิดจากฟีเจอร์ความปลอดภัยชื่อ Core isolation ในกรณีนี้ สามารถแก้ได้โดยปิด Core Isolation จากแอป Settings หรือทำผ่าน Registry Editor

วิธีที่ 1: ปิดใช้งาน Hyper-V

ตามรายงานผู้ใช้หลายราย สาเหตุพบบ่อยที่สุดของข้อความ 「VMware and DeviceCredential Guard are not Compatible」 คือความขัดแย้งระหว่าง Hyper-V (เทคโนโลยีการจำลองของ Microsoft) และ VMware จำไว้ว่า VMware และ VirtualBox จะเลือกเทคโนโลยีการจำลองของตัวเองโดยค่าเริ่มต้น

อย่างไรก็ตาม มี Windows Update หนึ่ง (KB4515871) ที่รู้จักว่าบังคับแอปพลิเคชันบุคคลที่สามบางตัวให้ใช้ Hyper-V — ใน VMware จะทำให้เกิดข้อความ 「VMware and DeviceCredential Guard are not Compatible」

หากสถานการณ์นี้ตรง และคุณเพิ่งติดตั้ง Windows Update ที่คิดว่าอาจเป็นสาเหตุของข้อผิดพลาดที่เพิ่งปรากฏ ทำตามคู่มือด้านล่างหนึ่งในสองเพื่อปิด Hyper-V เพื่อปลดถอนทางสำหรับ VMware ให้ใช้เทคโนโลยีการจำลองของตัวเอง

A. ปิด Hyper-V ผ่าน CMD

  1. เปิดกล่องโต้ตอบ Run โดยกด Windows key + R พิมพ์ cmd กด Ctrl + Shift + Enter เปิด Command Prompt แบบขlevéatedแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

    หมายเหตุ: เมื่อเห็น UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมิน

  2. ใน CMD ที่ขlevéated แล้ว พิมพ์คำสั่งด้านล่าง กด Enter เพื่อปิดฟังก์ชัน Hyper-V บนระดับระบบ:
    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
  3. หลังคำสั่งประมวลผลสำเร็จ ปิดหน้าต่าง Command Prompt ที่ขlevéated และรีบูตคอมพิวเตอร์
  4. เมื่อเริ่มต้นระบบครั้งถัดไปเสร็จ ให้เปิด VMware และทำซ้ำการดำเนินการที่ก่อนหน้านี้ก่อให้เกิดข้อผิดพลาด

B. ปิด Hyper-V ผ่าน PowerShell

มีอีกวิธีหนึ่งในการเปิด/ปิด Hyper-V ใน Windows 10 คือการรัน PowerShell เป็น Administrator แล้วพิมพ์คำสั่งต่อไปนี้:

bcdedit /set hypervisorlaunchtype off (ปิด Hyper-V) bcdedit /set hypervisorlaunchtype on (เปิด Hyper-V)

C. ปิด Hyper-V ผ่าน GUI

  1. กด Windows key + R เปิดกล่องโต้ตอบ Run พิมพ์ appwiz.cpl กด Enter เปิดเมนู Programs and Featuresแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  2. ในเมนู Programs and Files ใช้เมนูด้านซ้าย คลิก Turn Windows features on or offแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  3. เมื่อพรอมป์ UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมิน
  4. จากภายในเมนู Windows Features ขยายเมนูดรอปดาวน์ของโฟลเดอร์ Hyper-V ยกเลิกติ๊กกล่อง Hyper-V Management tools และ Hyper-V platform ก่อนคลิก OK บันทึกการเปลี่ยนแปลงแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  5. หลังปิด Hyper-V จากเมนู GUI แล้ว รีสตาร์ทคอมพิวเตอร์ และดูว่าปัญหาแก้ไขแล้วหรือไม่เมื่อเริ่มต้นระบบครั้งต่อไป

หากยังเจอข้อความ 「VMware and DeviceCredential Guard are not Compatible」 เมื่อเปิด WMware Player / WMware Workstation หรือพยายาม mount Virtual Machine ให้ลองวิธีถัดไป

วิธีที่ 2: ปิดใช้งาน Virtualization Based Security

หากทำตามคำแนะนำข้างต้นและยืนยันแล้วว่าไม่ได้จัดการกับความขัดแย้งระหว่าง Hyper-V และ VMware อาจเป็นว่าคุณเห็นข้อความ 「VMware and DeviceCredential Guard are not Compatible」 เพราะเครื่องของคุณถูกบังคับด้วย Virtualization Based Security — นี่จำเป็นสำหรับประเภท Virtual Machine บางประเภท

Virtualization Based Security นี้ถูกบังคับผ่าน Policy ผ่าน Local Group Policy Editor แต่จำไว้ว่าโดยค่าเริ่มต้น ยูทิลิตีนี้มีให้เฉพาะ Windows 10 PRO และรุ่น PRO เก่าเท่านั้น

หมายเหตุ: หากใช้เวอร์ชัน Home สามารถติดตั้ง gpedit utility บน Windows 10 Home ได้ด้วยตนเอง

หาก Local Group Policy Editor (gpedit) พร้อมใช้งานบนเวอร์ชัน Windows ของคุณ และต้องการใช้วิธีแก้นี้ ทำตามคำแนะนำด้านล่าง (Sub guide A) เพื่อปิด Virtualization Based Security ผ่าน Policy เฉพาะของมัน

ในกรณีที่ใช้เวอร์ชัน Home และไม่ muốnติดตั้ง Local Group Policy Editor ด้านข้าง ให้ทำตามคู่มือที่สอง (Sub guide B) เพื่อปิด Virtualization Based Security ผ่าน Registry Editor

A. ปิด Virtualization Based Security ผ่าน Gpedit

  1. กด Windows key + R เปิดกล่องโต้ตอบ Run พิมพ์ gpedit.msc กด Enter เปิด Local Group Policy Editorแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

    หมายเหตุ: เมื่อพรอมป์ UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมิน

  2. ใน Local Group Policy Editor ไปที่ตำแหน่งต่อไปนี้โดยใช้เมนูด้านซ้าย:
    Computer Configuration - Administrative Templates - System - Device Guard
  3. เมื่อถึงตำแหน่งนี้ ไปที่เมนูด้านขวา คลิกสองครั้งที่ Turn on Virtualization Based Securityแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  4. ในเมนูตั้งค่าของ Policy Turn On Virtualization Based Security ตั้ง Toggle เป็น Disabled คลิก OK บันทึกการเปลี่ยนแปลง
  5. หลังเปิดใช้งาน Security นี้แล้ว รีสตาร์ทคอมพิวเตอร์ และดูว่าปัญหาแก้ไขแล้วหรือไม่เมื่อเริ่มต้นระบบครั้งต่อไป

B. ปิด Virtualization Based Security ผ่าน Registry Editor

  1. กด Windows key + R เปิดกล่องโต้ตอบ Run พิมพ์ regedit กด Enter เปิด Registry Editor เมื่อพรอมป์ UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมินแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  2. ใน Registry Editor ใช้เมนูซ้ายไปที่ตำแหน่ง:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceGuard

    หมายเหตุ: สามารถไปถึงที่นี่ด้วยตนเอง หรือวางตำแหน่งลงแถบนำทางกด Enter เพื่อไปถึงทันที

  3. เมื่อถึงตำแหน่งที่ถูกต้อง ไปที่ส่วนขวา คลิกขวาที่พื้นที่ว่าง เลือก New > DWORD (32-bit) valueแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  4. ตั้งชื่อ DWORD ใหม่ว่า EnableVirtualizationBasedSecurity คลิกสองครั้ง ตั้ง Base เป็น Hexadecimal และ Value เป็น 0 เพื่อปิด Virtualization Based Securityแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  5. กด OK บันทึกการเปลี่ยนแปลง ปิด Registry Editor รีสตาร์ทคอมพิวเตอร์ ดูว่าปัญหาแก้ไขแล้วหรือไม่

หากยังเจอปัญหาเดิมแม้จะได้เปิดใช้งาน virtualization-based security แล้ว ให้ลองวิธีถัดไป

วิธีที่ 3: แก้ไขไฟล์ BCD

ปัญหานี้อาจเกิดจากความไม่สอดคล้องกับ BCD (Boot Configuration Data) ที่รบกวนเทคโนโลยีการจำลองของบุคคลที่สาม ผู้ใช้หลายคนที่เจอปัญหาเดียวกันรายงานว่าปัญหาหายไปทันทีหลังรันคำสั่งสองสามคำสั่งใน Command Prompt แบบขlevéated

คำสั่งเหล่านี้จะทำให้แน่ใจว่าเศษซากของ Hyper-V ไม่ขัดแย้งกับเทคโนโลยีการจำลองที่ VMware ใช้ ขั้นตอนดังนี้:

  1. กด Windows key + R เปิดกล่องโต้ตอบ Run พิมพ์ cmd กด Ctrl + Shift + Enter เปิด Command Prompt แบบขlevéatedแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

    หมายเหตุ: เมื่อพรอมป์ UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมิน

  2. ในหน้าต่าง Command Prompt ที่ขlevéated แล้ว พิมพ์คำสั่งต่อไปนี้ในลำดับที่แน่นอน และกด Enter หลังแต่ละคำสั่ง เพื่อลบการอ้างอิง Hyper-V จากข้อมูล BCD ของคุณ:
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi" bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215} bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS bcdedit /set hypervisorlaunchtype off
  3. หลังประมวลผลคำสั่งทุกคำสั่งสำเร็จ รีสตาร์ทคอมพิวเตอร์ ดูว่าปัญหาแก้ไขแล้วหรือไม่

หากยังเห็นข้อความ 「VMware and DeviceCredential Guard are not Compatible」 เดียวกัน ให้ลองวิธีสุดท้ายด้านล่าง

วิธีที่ 4: ปิดใช้งาน Core Isolation

หากวิธีข้างต้นไม่ช่วยเลย ยังมีสาเหตุที่เป็นไปได้อีกหนึ่งอย่างที่ยังไม่ได้จัดการ ถ้าคุณใช้ Windows Defender อาจเป็นฟีเจอร์ความปลอดภัยชื่อ Core Isolation ที่ก่อให้เกิดข้อความ 「VMware and DeviceCredential Guard are not Compatible」

Core isolation คือชั้นความปลอดภัยเพิ่มเติมที่ Windows Defender ปรับใช้เพื่อป้องกันการโจมตีมัลแวร์ระดับสูงที่ทำงานระดับ Kernel

ผู้ใช้หลายคนที่ทำตามการปิดฟีเจอร์ความปลอดภัยนี้ยืนยันว่าปัญหาหายไปสมบูรณ์ แต่มีข้อเสีย — ระบบของคุณจะโดนโจมตีจากช่องโหว่ความปลอดภัยบางส่วน

หากต้องการลองวิธีนี้ ทำตามคู่มือแรกด้านล่าง (Sub guide A) เพื่อปิด Core Isolation จากเมนู Settings ของ Windows Security หากรายการ Core Isolation เป็นสีเทา (greyed out) สามารถทำได้ผ่าน Registry Editor (Sub guide B)

A. ปิด Core Isolation ผ่าน GUI

  1. เปิดกล่องโต้ตอบ Run โดยกด Windows key + R พิมพ์ ms-settings:windowsdefender กด Enter เปิดแท็บ Windows Security (จาก Windows Defender) ของแอป Settingsแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  2. เมื่อเข้าไปในเมนู Windows Security แล้ว ไปที่ส่วนขวา คลิก Device Security (ภายใต้ Protection areas)
  3. เลื่อนลงคลิก Core isolation details (ภายใต้ Core isolation)
  4. เมื่อเข้าไปในเมนู Core isolation แล้ว ปิด Toggle ที่เกี่ยวกับ Memory integrity (ตั้งเป็น Off)
  5. หลังจากการปรับเปลี่ยนนี้มีผล รีบูตคอมพิวเตอร์ และดูว่าปัญหาแก้ไขแล้วหรือไม่เมื่อเริ่มต้นระบบครั้งต่อไป โดยการเปิด VMware Virtual Machine อีกครั้ง
แก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้

B. ปิด Core Isolation ผ่าน Registry Editor

  1. กด Windows key + R เปิดกล่องโต้ตอบ Run พิมพ์ regedit กด Enter เปิด Registry Editor เมื่อพรอมป์ UAC (User Account Control) คลิก Yes ให้สิทธิ์แอดมินแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  2. เมื่อเข้าไปใน Registry Editor แล้ว ใช้เมนูซ้ายไปที่ตำแหน่ง:
    Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\CredentialGuard

    หมายเหตุ: หากต้องการประหยัดเวลา สามารถวางตำแหน่งทั้งหมดลงแถบนำทางกด Enter เพื่อไปถึงทันที

  3. เมื่อถึงตำแหน่งที่ถูกต้อง ให้สนใจเมนูขวา คลิกสองครั้งที่คีย์ Enabledแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  4. ในหน้าต่างค่า Enabled ตั้ง Base เป็น Hexadecimal และตั้ง Value data เป็น 0 คลิก OK บันทึกการเปลี่ยนแปลงแก้ไข: VMware Workstation และ Device/Credential Guard ไม่เข้ากันได้
  5. หลังบังคับการเปลี่ยนแปลงนี้แล้ว รีสตาร์ทคอมพิวเตอร์ และดูว่าปัญหาแก้ไขแล้วหรือไม่เมื่อเริ่มต้นระบบครั้งต่อไป