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


120

ฉันใช้งาน VMware ในปีที่แล้วโดยไม่มีปัญหาวันนี้ฉันเปิดขึ้นเพื่อเริ่ม VM เครื่องใดเครื่องหนึ่งของฉันและได้รับข้อความแสดงข้อผิดพลาดดูภาพหน้าจอ

ใส่คำอธิบายภาพที่นี่

ฉันทำตามลิงค์และทำตามขั้นตอนในขั้นตอนที่ 4 ฉันต้องต่อโวลุ่มโดยใช้ "mountvol" เมื่อฉันพยายามเมานต์โวลุ่มโดยใช้mountvol X: \\?\Volume{5593b5bd-0000-0000-0000-c0f373000000}\มันยังคงบอกว่าThe directory is not empty.ฉันสร้างพาร์ติชันที่มี 2GB และยังคงเป็นข้อความเดิม

คำถามของฉัน:

ฉันจะติดตั้งโวลุ่มที่ไม่ว่างเปล่าได้อย่างไร?

เหตุใด Device / Credential Guard auto จึงเปิดใช้งานตัวเองและฉันจะกำจัดหรือปิดใช้งานได้อย่างไร

CMD: ใส่คำอธิบายภาพที่นี่

คำตอบ:


81

Device / Credential Guard เป็น Virtual Machine / Virtual Secure Modeที่ใช้ Hyper-Vซึ่งโฮสต์เคอร์เนลที่ปลอดภัยเพื่อทำให้ Windows 10 มีความปลอดภัยมากขึ้น

ใส่คำอธิบายภาพที่นี่

... อินสแตนซ์ VSM ถูกแยกออกจากฟังก์ชันระบบปฏิบัติการปกติและได้รับการป้องกันโดยพยายามอ่านข้อมูลในโหมดนั้น การป้องกันนั้นได้รับความช่วยเหลือจากฮาร์ดแวร์เนื่องจากไฮเปอร์ไวเซอร์กำลังร้องขอให้ฮาร์ดแวร์ปฏิบัติต่อเพจหน่วยความจำเหล่านั้นแตกต่างกัน นี่เป็นวิธีเดียวกันกับที่เครื่องเสมือนสองเครื่องบนโฮสต์เดียวกันไม่สามารถโต้ตอบกันได้ หน่วยความจำของพวกเขาเป็นอิสระและฮาร์ดแวร์ได้รับการควบคุมเพื่อให้แน่ใจว่า VM แต่ละเครื่องสามารถเข้าถึงได้เฉพาะข้อมูลของตัวเองเท่านั้น

จากที่นี่ตอนนี้เรามีโหมดป้องกันที่เราสามารถเรียกใช้การดำเนินการที่ละเอียดอ่อนด้านความปลอดภัยได้ ในขณะที่เขียนเราสนับสนุนความสามารถสามประการที่สามารถอยู่ที่นี่: Local Security Authority (LSA) และฟังก์ชันการควบคุมความสมบูรณ์ของรหัสในรูปแบบของ Kernel Mode Code Integrity (KMCI) และการควบคุมความสมบูรณ์ของรหัสไฮเปอร์ไวเซอร์เองซึ่งเรียกว่า Hypervisor Code Integrity (HVCI)

ใส่คำอธิบายภาพที่นี่

เมื่อความสามารถเหล่านี้ได้รับการจัดการโดย Trustlets ใน VSM โฮสต์ OS จะสื่อสารกับพวกเขาผ่านช่องทางมาตรฐานและความสามารถภายในระบบปฏิบัติการ แม้ว่าการสื่อสารเฉพาะ Trustlet นี้จะได้รับอนุญาต แต่การมีโค้ดที่เป็นอันตรายหรือผู้ใช้ใน Host OS พยายามอ่านหรือจัดการข้อมูลใน VSM จะทำได้ยากกว่าระบบที่ไม่มีการกำหนดค่านี้อย่างมากซึ่งให้ประโยชน์ด้านความปลอดภัย

การเรียกใช้ LSA ใน VSM ทำให้กระบวนการ LSA เอง (LSASS) ยังคงอยู่ใน Host OS และมีการสร้างอินสแตนซ์พิเศษเพิ่มเติมของ LSA (เรียกว่า LSAIso ซึ่งย่อมาจาก LSA Isolated) นี่คือเพื่อให้การเรียกมาตรฐานทั้งหมดไปยัง LSA ยังคงประสบความสำเร็จนำเสนอความเข้ากันได้แบบดั้งเดิมและย้อนหลังที่ยอดเยี่ยมแม้สำหรับบริการหรือความสามารถที่ต้องการการสื่อสารโดยตรงกับ LSA ในแง่นี้คุณสามารถนึกถึงอินสแตนซ์ LSA ที่เหลือใน Host OS เป็นอินสแตนซ์ 'พร็อกซี' หรือ 'ต้นขั้ว' ที่สื่อสารกับเวอร์ชันที่แยกได้ตามวิธีที่กำหนด


และ Hyper-V และ VMware ไม่ได้ทำงานในเวลาเดียวกันจนกว่า2020 , เมื่อ VMware ใช้เทคโนโลยี Hyper V-แพลตฟอร์มที่จะอยู่ร่วมกับ Hyper-Vที่เริ่มต้นด้วยเวอร์ชัน 15.5.5

VMware Workstation ก่อนเวอร์ชัน 15.5.5 เป็นอย่างไร

ตามปกติแล้ว VMware Workstation จะใช้ Virtual Machine Monitor (VMM) ซึ่งทำงานในโหมดพิเศษที่ต้องการการเข้าถึงโดยตรงไปยัง CPU รวมถึงการเข้าถึงการสนับสนุนการจำลองเสมือนในตัวของ CPU (VT-x ของ Intel และ AMD-V ของ AMD) เมื่อโฮสต์ Windows เปิดใช้งานคุณสมบัติ Virtualization Based Security (“ VBS“) Windows จะเพิ่มเลเยอร์ไฮเปอร์ไวเซอร์ที่ใช้ Hyper-V ระหว่างฮาร์ดแวร์และ Windows ความพยายามใด ๆ ในการเรียกใช้ VMM แบบดั้งเดิมของ VMware ล้มเหลวเนื่องจากอยู่ใน Hyper-V ทำให้ VMM ไม่สามารถเข้าถึงการสนับสนุนการจำลองเสมือนของฮาร์ดแวร์ได้อีกต่อไป

ขอแนะนำ User Level Monitor

เพื่อแก้ไขปัญหาความเข้ากันได้ของ Hyper-V / Host VBS นี้ทีมแพลตฟอร์มของ VMware ได้ออกแบบ Hypervisor ของ VMware ใหม่เพื่อใช้ WHP API ของ Microsoft ซึ่งหมายถึงการเปลี่ยน VMM ของเราให้ทำงานที่ระดับผู้ใช้แทนที่จะเป็นในโหมดที่มีสิทธิพิเศษรวมถึงการปรับเปลี่ยนให้ใช้ WHP API เพื่อจัดการการดำเนินการของแขกแทนที่จะใช้ฮาร์ดแวร์ที่จำเป็นโดยตรง

สิ่งนี้หมายความว่าคุณหรือไม่?

ขณะนี้ VMware Workstation / Player สามารถทำงานได้เมื่อเปิดใช้งาน Hyper-V คุณไม่จำเป็นต้องเลือกระหว่างการเรียกใช้คุณลักษณะ VMware Workstation และ Windows เช่น WSL, Device Guard และ Credential Guard อีกต่อไป เมื่อเปิดใช้งาน Hyper-V โหมด ULM จะถูกใช้โดยอัตโนมัติเพื่อให้คุณสามารถเรียกใช้ VMware Workstation ได้ตามปกติ หากคุณไม่ได้ใช้ Hyper-V เลย VMware Workstation ก็ฉลาดพอที่จะตรวจจับสิ่งนี้และจะใช้ VMM

ความต้องการของระบบ

ในการเรียกใช้ Workstation / Player โดยใช้ Windows Hypervisor APIs เวอร์ชัน Windows 10 ขั้นต่ำที่ต้องการคือ Windows 10 20H1 build 19041.264 เวอร์ชันขั้นต่ำของ VMware Workstation / Player คือ 15.5.5

เพื่อหลีกเลี่ยงข้อผิดพลาดปรับปรุง Windows 10 ไปเป็นเวอร์ชั่น 2004 / รูปร่าง 19041 (เชียงใหม่ 2020 แก้ไข) และการใช้งานอย่างน้อย VMware 15.5.5


11
Windows 10 ของฉัน (อัปเดตครบรอบ) เป็นเวอร์ชัน 14393.351 และจากคุณลักษณะที่ไฮไลต์สองอย่างฉันมีเพียง "Hyper-V Hypervisor" แต่ไม่ใช่ "โหมดผู้ใช้แยก" ฉันสามารถแก้ไขปัญหา VMware ได้โดยการถอนการติดตั้งเฉพาะคุณลักษณะ "Hyper-V Hypervisor" ฉันดีใจที่ไม่ต้องทำตามขั้นตอนด้วยตนเองที่ VMware มีในKB
Adam Elkurd

2
ไม่จำเป็นต้องปิดใช้งาน Hyper-V ด้วยวิธีนี้หรือติดตั้งยูทิลิตี้ของบุคคลที่สาม Hyper-V สามารถเปิดและปิดได้ตามต้องการเพียงใช้ตัวเลือกการบูตทางเลือกด้วยคำสั่ง bcdedit ในตัว (ดูคำตอบของฉัน)
user1751825

2
ดูเหมือนว่าโซลูชันจะใช้ไม่ได้กับ Win10 Creators Update
asliwinski

1
@AmatVictoriaCuram ใช้ Server Manager เพื่อลบบทบาท Hyper-V
magicandre1981

2
ฉันยังต้องถอนการติดตั้งคุณสมบัติ "ระบบย่อย Linux" ของ windows และรีบูตเพื่อให้ข้อผิดพลาดนี้หายไป
Mtxz

83

มีวิธีจัดการปัญหานี้ที่ดีกว่ามาก แทนที่จะลบ Hyper-V ทั้งหมดคุณเพียงแค่ทำการบูตแบบอื่นเพื่อปิดใช้งานชั่วคราวเมื่อคุณต้องการใช้ VMWare ดังปรากฏที่นี่ ...

http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx

C:\>bcdedit /copy {current} /d "No Hyper-V" 
The entry was successfully copied to {ff-23-113-824e-5c5144ea}. 

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off 
The operation completed successfully.

หมายเหตุ: ID ที่สร้างจากคำสั่งแรกคือสิ่งที่คุณใช้ในคำสั่งที่สอง อย่าเพิ่งเรียกใช้คำต่อคำ

เมื่อคุณรีสตาร์ทคุณจะเห็นเมนูที่มีสองตัวเลือก ...

  • Windows 10
  • ไม่มี Hyper-V

ดังนั้นการใช้ VMWare จึงเป็นเพียงเรื่องของการรีบูตและเลือกตัวเลือก No Hyper-V

หากคุณต้องการลบรายการบูตอีกครั้ง คุณสามารถใช้ตัวเลือก / ลบสำหรับ bcdedit

ขั้นแรกรับรายการรายการบูตปัจจุบัน ...

C:\>bcdedit /v

นี่แสดงรายการทั้งหมดที่มี ID คัดลอก ID ที่เกี่ยวข้องแล้วลบออกเช่นนั้น ...

C:\>bcdedit /delete {ff-23-113-824e-5c5144ea}

ตามที่กล่าวไว้ในความคิดเห็นคุณต้องทำสิ่งนี้จากพรอมต์คำสั่งที่ยกระดับไม่ใช่พาวเวอร์เชลล์ ใน powershell คำสั่งจะผิดพลาด

อัปเดต: เป็นไปได้ที่จะเรียกใช้คำสั่งเหล่านี้ใน powershell หากวงเล็บปีกกาถูกหนีด้วย backtick (`) ชอบจัง ...

C:\WINDOWS\system32> bcdedit /copy `{current`} /d "No Hyper-V"

1
หมายเหตุ: เรียกใช้คำสั่งในบรรทัดคำสั่งของผู้ดูแลระบบในPowerShellนั้นไม่ทำงาน
MaciejLisCK

สิ่งนี้ใช้ได้ผลสำหรับฉัน แต่ฉันจะย้อนกลับการกระทำข้างต้นได้อย่างไร
user3402754

คุณสามารถใช้ตัวเลือก / ลบสำหรับ bcdedit เพื่อลบรายการโคลน ฉันอัปเดตคำตอบด้านบนแล้ว
user1751825

5
นี่คือคำตอบที่ดีที่สุด IMHO
Dror 'Yitzhakov

1
@SomethingSomething คุณต้องเรียกใช้คำสั่งจากพรอมต์คำสั่งที่ยกระดับ คลิกขวาและเลือก "Run as administrator"
user1751825

43

ฉันยังไม่มั่นใจว่า Hyper-V คือ The Thing สำหรับฉันแม้ว่าจะมีการทดลองและความยากลำบากของ Docker เมื่อปีที่แล้วและฉันเดาว่าคุณไม่ต้องการเปลี่ยนบ่อยนักดังนั้นแทนที่จะสร้างการบูตใหม่และยืนยันค่าเริ่มต้นสำหรับการบูตหรือ รอการหมดเวลาในการบูตทุกครั้งที่ฉันเปิดใช้งานตามความต้องการในคอนโซลในโหมดผู้ดูแลระบบโดย

bcdedit /set hypervisorlaunchtype off

อีกเหตุผลหนึ่งสำหรับโพสต์นี้ - เพื่อช่วยให้คุณไม่ปวดหัว: คุณคิดว่าคุณเปิด Hyper-V ด้วยอาร์กิวเมนต์ "เปิด" อีกครั้งหรือไม่? Nope ง่ายเกินไปสำหรับ MiRKoS..t มันอัตโนมัติ !

มีความสุข!
กรัม


ใช้งานได้โดยเฉพาะหากคุณต้องการมีทั้งสองอย่าง (แทนที่จะถอนการติดตั้ง Hyper-V Hypervisor ทั้งหมด) ฉันยังคงสลับไปมาระหว่างทั้งสองเพื่อเล่นกับเทคโนโลยีทั้งสอง นั่นเป็นเหตุผลที่ฉันชอบวิธีนี้
Mohamed El-Beltagy

7
และbcdedit /set hypervisorlaunchtype autoหากคุณต้องการเปิดอีกครั้ง
Ken

2
ฉันต้องรีบูตเพื่อให้สามารถเรียกใช้ VM ได้
Chetan

1
นี่เป็นวิธีแก้ปัญหาที่ง่ายและน่ารักที่สุดขอบคุณมาก
Hemanth Savasere

20

วิธีทำให้ง่ายสุด ๆ :

  1. เพียงดาวน์โหลดสคริปต์นี้โดยตรงจาก Microsoft

  2. เรียกใช้ Powershell ของคุณในฐานะผู้ดูแลระบบจากนั้นดำเนินการคำสั่งต่อไปนี้:

    • เพื่อตรวจสอบว่าเปิดใช้งาน DG / CG หรือไม่ DG_Readiness.ps1 -Ready
    • เพื่อปิดการใช้งาน DG / CG DG_Readiness.ps1 -Disable

จะเป็นประโยชน์มากขึ้นหากคุณให้ข้อมูลเกี่ยวกับวิธีใช้สคริปต์ที่คุณบอกว่าจะดาวน์โหลดอย่างถูกต้อง ทุกครั้งที่มีคนโพสต์สคริปต์สำหรับ Powershell พวกเขาจะไม่อธิบายวิธีใช้งานอย่างถูกต้อง
Pegues

ในกรณีของฉันฉันไม่สามารถเรียกใช้สคริปต์ได้เนื่องจากการเรียกใช้สคริปต์ถูกปิดใช้งาน ฉันต้องเปิดใช้งานการเรียกใช้สคริปต์ก่อนด้วยคำสั่งต่อไปนี้: Set-ExecutionPolicy unrestricted ในการรีบูตฉันได้รับแจ้งให้ปิดใช้งาน Device Guard ขอบคุณสำหรับการแก้ปัญหา!
Razikh

ฉันยกเลิกการเลือกกล่องทั้งหมดในรีจิสทรีและยังคงแสดงข้อผิดพลาด สคริปต์นี้ใช้ได้ผลสำหรับฉัน ในที่สุดก็ได้รับคำเตือนในการรีบูตเพื่อปิดใช้งานตัวป้องกันอุปกรณ์และการป้องกันอื่น ๆ
douggard

9

สำหรับผู้ที่อาจประสบปัญหานี้จากการเปลี่ยนแปลงล่าสุดในคอมพิวเตอร์ของคุณที่เกี่ยวข้องกับ Hyper-V คุณจะต้องปิดการใช้งานขณะใช้ VMWare หรือ VirtualBox พวกเขาไม่ทำงานร่วมกัน Windows Sandbox และ WSL 2 จำเป็นต้องใช้ Hyper-V Hypervisor ซึ่งปัจจุบันทำให้ VMWare หยุดทำงาน โดยทั่วไปคุณจะต้องเรียกใช้คำสั่งต่อไปนี้เพื่อเปิด / ปิดบริการ Hyper-V ในการรีบูตครั้งถัดไป

หากต้องการปิดใช้งาน Hyper-V และทำให้ VMWare ทำงานใน PowerShell ในฐานะผู้ดูแลระบบ:

bcdedit /set hypervisorlaunchtype off

ในการเปิดใช้งาน Hyper-V อีกครั้งและหยุด VMWare ในตอนนี้ใน PowerShell ในฐานะผู้ดูแลระบบ:

bcdedit /set hypervisorlaunchtype auto

คุณจะต้องรีบูตหลังจากนั้น ฉันได้เขียนสคริปต์ PowerShell ที่จะสลับสิ่งนี้ให้คุณและยืนยันด้วยกล่องโต้ตอบ มันยังยกระดับตนเองเป็นผู้ดูแลระบบโดยใช้เทคนิคนี้เพื่อให้คุณสามารถคลิกขวาและเรียกใช้สคริปต์เพื่อเปลี่ยนโหมด Hyper-V ของคุณได้อย่างรวดเร็ว สามารถแก้ไขได้อย่างง่ายดายเพื่อรีบูตให้คุณเช่นกัน แต่โดยส่วนตัวแล้วฉันไม่ต้องการให้เกิดขึ้น บันทึกเป็น hypervisor.ps1 และตรวจสอบให้แน่ใจว่าคุณได้รันSet-ExecutionPolicy RemoteSignedเพื่อให้คุณสามารถเรียกใช้สคริปต์ PowerShell ได้

# Get the ID and security principal of the current user account
$myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID);

# Get the security principal for the administrator role
$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator;

# Check to see if we are currently running as an administrator
if ($myWindowsPrincipal.IsInRole($adminRole))
{
    # We are running as an administrator, so change the title and background colour to indicate this
    $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)";
    $Host.UI.RawUI.BackgroundColor = "DarkBlue";
    Clear-Host;
}
else {
    # We are not running as an administrator, so relaunch as administrator

    # Create a new process object that starts PowerShell
    $newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell";

    # Specify the current script path and name as a parameter with added scope and support for scripts with spaces in it's path
    $newProcess.Arguments = "-windowstyle hidden & '" + $script:MyInvocation.MyCommand.Path + "'"

    # Indicate that the process should be elevated
    $newProcess.Verb = "runas";

    # Start the new process
    [System.Diagnostics.Process]::Start($newProcess);

    # Exit from the current, unelevated, process
    Exit;
}

Add-Type -AssemblyName System.Windows.Forms


$state = bcdedit /enum | Select-String -Pattern 'hypervisorlaunchtype\s*(\w+)\s*'


if ($state.matches.groups[1].ToString() -eq "Off"){

    $UserResponse= [System.Windows.Forms.MessageBox]::Show("Enable Hyper-V?" , "Hypervisor" , 4)

    if ($UserResponse -eq "YES" ) 
    {

        bcdedit /set hypervisorlaunchtype auto
        [System.Windows.Forms.MessageBox]::Show("Enabled Hyper-V. Reboot to apply." , "Hypervisor")

    } 

    else 

    { 

        [System.Windows.Forms.MessageBox]::Show("No change was made." , "Hypervisor")
        exit

    }

} else {

    $UserResponse= [System.Windows.Forms.MessageBox]::Show("Disable Hyper-V?" , "Hypervisor" , 4)

    if ($UserResponse -eq "YES" ) 
    {

        bcdedit /set hypervisorlaunchtype off
        [System.Windows.Forms.MessageBox]::Show("Disabled Hyper-V. Reboot to apply." , "Hypervisor")

    } 

    else 

    { 

        [System.Windows.Forms.MessageBox]::Show("No change was made." , "Hypervisor")
        exit

    }

}

1
สั้น ๆ และทำเคล็ดลับโดยไม่ต้องเปลี่ยนแปลงอะไรใน Windows Registry หรือปิดการใช้งานคุณสมบัติของ Windows ขอบคุณ.
Alexandru Dicu

1
ขอบคุณสำหรับการแบ่งปันวิธีนี้ แม้ว่าจะไม่เกี่ยวข้องกันเล็กน้อย แต่ก็ยังแก้ไขปัญหาของประสิทธิภาพที่ช้ามากใน Virtualbox ก่อนหน้าการแก้ปัญหานี้การพยายามติดตั้ง Win10 guest OS ใน Virtualbox นั้นช้ามาก Virtualbox ไม่เคยให้คำเตือนเกี่ยวกับการปิดไฮเปอร์ไวเซอร์ซึ่งนำไปสู่การตรวจสอบ VMWare ฉันพบโซลูชันของคุณและแก้ไขปัญหาของฉันได้ทั้งใน VMWare และ Virtualbox
Zythyr

น่าเศร้าที่แม้จะมีการอัปเดต v2004 บน Windows 10 สิ่งนี้จะทำให้ VMware Workstation ทำงานได้อีกครั้ง แต่หากป้องกันไม่ให้ Docker สำหรับ Windows ทำงาน .... ดูเหมือนว่า Docker จะเปิดใช้งานการตั้งค่านี้
Shawn Melton

นั่นเป็นสีทองและทำงานได้อย่างสมบูรณ์แบบ! คุณอาจแบ่งปันความคิดเกี่ยวกับผลกระทบของการปิดใช้งาน Hyper-V ได้หรือไม่? นี่เป็นปัญหาด้านความปลอดภัยใน Win10 หรือไม่ ขอบคุณ!
atripes

1
@atripes ไม่มีปัญหา! การปิดใช้งาน Hyper-V เป็นการปิดใช้งานบริการระบบ Windows ซึ่งมีอินเทอร์เฟซสำหรับโปรแกรมอื่นในการจำลองฮาร์ดแวร์ของคุณ ดังนั้นการปิดใช้งานบริการนี้จึงไม่ใช่ปัญหาด้านความปลอดภัยเนื่องจากจะหยุดบริการไม่ให้เริ่มต้นเท่านั้น ในกรณีนี้บริการกำลังป้องกันการจำลองเสมือนจริงไม่ให้เกิดขึ้นที่อื่นดังนั้นจึงเป็นสิ่งที่เราต้องการ!
J.Blackadar

4

วิธีแก้ปัญหาที่ง่ายที่สุดสำหรับปัญหานี้คือดาวน์โหลด "Device Guard และ Credential Guard เครื่องมือเตรียมความพร้อมฮาร์ดแวร์" เพื่อแก้ไขความเข้ากันไม่ได้:

  • https://www.microsoft.com/en-us/download/details.aspx?id=53337
  • คลายการบีบอัดซิป
  • คุณจะพบว่า : ภาพหน้าจอเพื่อแสดงเนื้อหา zip
  • เรียกใช้ "DG_Readiness_Tool_v3.6.ps1" ด้วย PowerShell

  • ตอนนี้คุณควรจะสามารถเปิดเครื่องเสมือนของคุณได้ตามปกติ


หากไม่ได้ผลให้ทำตามขั้นตอนเหล่านี้: computerz.solutions/…
AJcleverprogrammer

3

ฉันไม่รู้ว่าทำไม แต่ DG_Readiness_Tool เวอร์ชัน 3.6 ไม่ได้ผลสำหรับฉัน หลังจากที่ฉันรีสตาร์ทปัญหาแล็ปท็อปของฉันยังคงมีอยู่ ฉันกำลังมองหาวิธีแก้ปัญหาและในที่สุดฉันก็เจอเครื่องมือเวอร์ชัน 3.7 และเวลานี้ปัญหาก็หายไป คุณสามารถค้นหาสคริปต์ powershell ล่าสุดได้ที่นี่:

DG_Readiness_Tool_v3.7


1

ฉันยังต่อสู้กับปัญหานี้มาก คำตอบในชุดข้อความนี้มีประโยชน์ แต่ไม่เพียงพอที่จะแก้ไขข้อผิดพลาดของฉัน คุณจะต้องปิดใช้งาน Hyper-V และ Device guard เหมือนคำตอบอื่น ๆ ที่แนะนำ ข้อมูลเพิ่มเติมเกี่ยวกับที่สามารถพบได้ในที่นี่

ฉันกำลังรวมการเปลี่ยนแปลงที่จำเป็นในการดำเนินการเพิ่มเติมจากคำตอบที่ให้ไว้ข้างต้น การเชื่อมโยงที่ในที่สุดก็ช่วยให้ฉันเป็นนี้

คำตอบของฉันจะสรุปเฉพาะความแตกต่างระหว่างคำตอบที่เหลือ (เช่นการปิดใช้งาน Hyper-V และ Device guard) และขั้นตอนต่อไปนี้:

  1. หากคุณใช้นโยบายกลุ่มให้ปิดใช้งานการตั้งค่านโยบายกลุ่มที่คุณใช้เพื่อเปิดใช้งาน Windows Defender Credential Guard (Computer Configuration -> Administrative Templates -> System -> Device Guard -> Turn on Virtualization Based Security)
  2. ลบการตั้งค่ารีจิสทรีต่อไปนี้:

    HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ LSA \ LsaCfgFlags HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ DeviceGuard \ EnableVirtualizationBasedSecurity HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ DeviceGuard

    สำคัญ: หากคุณลบการตั้งค่ารีจิสทรีเหล่านี้ด้วยตนเองอย่าลืมลบทั้งหมด หากคุณไม่ได้ลบออกทั้งหมดอุปกรณ์อาจเข้าสู่การกู้คืน BitLocker

  3. ลบตัวแปร EFI ของ Windows Defender Credential Guard โดยใช้ bcdedit จากพรอมต์คำสั่งที่ยกระดับ (เริ่มในโหมดผู้ดูแลระบบ) พิมพ์คำสั่งต่อไปนี้:

     mountvol X: /s
    
     copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
    
     bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
    
     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
    
     bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
    
     mountvol X: /d
    
  4. รีสตาร์ทพีซี

  5. ยอมรับข้อความแจ้งเพื่อปิดใช้งาน Windows Defender Credential Guard

  6. หรือคุณสามารถปิดใช้งานคุณสมบัติความปลอดภัยที่ใช้การจำลองเสมือนเพื่อปิด Windows Defender Credential Guard


หากคำตอบข้างต้นไม่ได้ผลให้ลอง 1. bcdedit /set hypervisorlaunchtype off2. รีสตาร์ท windows
Nicholas K

1

วิธีแก้ปัญหาอย่างรวดเร็วทุกขั้นตอน:

แก้ไขข้อผิดพลาดใน VMware Workstation บน Windows 10 host Transport (VMDB) error -14: การเชื่อมต่อไปป์เสีย

วันนี้เราจะแก้ไขข้อผิดพลาด VMWare บนคอมพิวเตอร์ Windows 10

  1. ในช่อง RUN ให้พิมพ์ "gpedit" แล้วไปที่ [ข้อผิดพลาดดูจุด 3]

1- การกำหนดค่าคอมพิวเตอร์ 2- เทมเพลตการดูแลระบบ 3- ระบบ - ตัวป้องกันอุปกรณ์: หากไม่มีอุปกรณ์ป้องกัน: (ดาวน์โหลดhttps://www.microsoft.com/en-us/download/100591 ติดตั้ง"c:\Program Files (x86)\Microsoft Group Policy\Windows 10 November 2019 Update (1909)\PolicyDefinitions" COPYนี้เพื่อc:\windows\PolicyDefinitions) 4- เปิดการจำลองเสมือนตาม ความปลอดภัย ตอนนี้ดับเบิลคลิกและ "ปิดการใช้งาน"

  1. เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบและพิมพ์ gpupdate / force ต่อไปนี้ [อย่าทำถ้าคุณไม่มีอุปกรณ์ยามอื่นมันจะกลับมาอีกครั้ง]

  2. เปิดโปรแกรม Registry Editor HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceGuardตอนนี้ไป เพิ่มค่า DWORD ใหม่ที่ตั้งชื่อEnableVirtualizationBasedSecurityและตั้งค่าเป็น 0 เพื่อปิดใช้งาน HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSAถัดไป เพิ่มค่า DWORD ใหม่ที่ตั้งชื่อLsaCfgFlagsและตั้งค่าเป็น 0 เพื่อปิดใช้งาน

  3. ในกล่อง RUN พิมพ์เปิดหรือปิดคุณลักษณะของ Windows ตอนนี้ยกเลิกการเลือก Hyper-V และเริ่มระบบใหม่

  4. เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบและพิมพ์คำสั่งต่อไปนี้

    bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader

    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

ตอนนี้รีสตาร์ทระบบของคุณ


ขอบคุณมันช่วยฉัน
Rohit gupta

0

หากคุณเป็นคนที่ดูแลพร้อมท์คำสั่ง "Run as administrator" ที่กำหนดเองแบบเปิดหรือหน้าต่างบรรทัดคำสั่ง powershell ตลอดเวลาคุณสามารถเลือกที่จะตั้งค่านามแฝง / มาโครต่อไปนี้เพื่อลดความซับซ้อนในการดำเนินการคำสั่งที่กล่าวถึงโดย @ gue22 สำหรับการปิดใช้งานไฮเปอร์ไวเซอร์ เมื่อจำเป็นต้องใช้เครื่องเล่น vmware หรือเวิร์กสเตชันแล้วเปิดใช้งานอีกครั้งเมื่อเสร็จสิ้น

doskey hpvEnb = choice /c:yn /cs /d n /t 30 /m "Are you running from elevated command prompt" ^& if not errorlevel 2 ( bcdedit /set hypervisorlaunchtype auto ^& echo.^&echo now reboot to enable hyper-v hypervisor )
doskey hpvDis = choice /c:yn /cs /d n /t 30 /m "Are you running from elevated command prompt" ^& if not errorlevel 2 ( bcdedit /set hypervisorlaunchtype off ^& echo.^&echo now reboot to disable hyper-v hypervisor )
doskey bcdL = bcdedit /enum ^& echo.^&echo now see boot configuration data store {current} boot loader settings

ด้วยวิธีการข้างต้นคุณเพียงพิมพ์ "hpvenb" [เปิดใช้งานไฮเปอร์ไวเซอร์เมื่อบูต], "hpvdis" [ไฮเปอร์ไวเซอร์ถูกปิดใช้งานเมื่อบูต] และ "bcdl" [รายการอุปกรณ์การกำหนดค่าการบูต] เพื่อดำเนินการเปิดปิดรายการคำสั่ง


0

เด็กชายและเด็กหญิงหลังจากอ่านบันทึกประจำรุ่นสำหรับ build 17093 ในช่วงเวลาสั้น ๆ ของคืนนี้ฉันพบว่าจุดเปลี่ยนแปลงที่ส่งผลกระทบต่อ VMware Workstation VM ของฉันทำให้พวกเขาไม่ทำงาน เป็นการตั้งค่าการแยกหลักภายใต้ความปลอดภัยของอุปกรณ์ภายใต้ ความปลอดภัยของ windows (ชื่อใหม่สำหรับหน้า windows defender) ในการตั้งค่าในการตั้งค่า

โดยค่าเริ่มต้นจะเปิดอยู่อย่างไรก็ตามเมื่อฉันปิดและรีสตาร์ทพีซีของฉันทั้งหมด VMware VM ของฉันกลับมาทำงานได้อย่างถูกต้อง บางทีตัวเลือกตามอุปกรณ์อาจรวมอยู่ในโครงสร้างถัดไปเพื่อให้เราทดสอบการตอบสนองของอุปกรณ์ / แอพแต่ละตัวเพื่อให้สามารถเปิดหรือปิดการแยกหลักตามอุปกรณ์หรือแอพได้ตามต้องการ


2
คุณเพิ่งคัดลอกคำตอบทั้งหมดของคุณจากcommunity.vmware.com/message/2753727#2753727ใช่หรือไม่ ให้เครดิตอย่างน้อย
Vishnudev K

-2

คำแนะนำที่เหมาะสมเพื่อให้ทุกคนปฏิบัติตามได้

  • ขั้นแรกดาวน์โหลด Device Guard และ Credential Guard เครื่องมือเตรียมความพร้อมฮาร์ดแวร์จากลิงค์นี้: https://www.microsoft.com/en-us/download/details.aspx?id=53337
  • แยกเนื้อหาของโฟลเดอร์ zip ไปยังตำแหน่งต่างๆเช่น: C: \ guard_tool
  • คุณจะมีไฟล์เช่นชื่อไฟล์คัดลอกของไฟล์นามสกุล ps1 ในกรณีของฉันมันเป็น v3.6 ดังนั้นมันจะเป็น: DG_Readiness_Tool_v3.6.ps1

ใส่คำอธิบายภาพที่นี่

  • คลิกถัดไปที่เมนูเริ่มและค้นหา powershell จากนั้นคลิกขวาที่มันและเรียกใช้ในฐานะผู้ดูแลระบบ

ใส่คำอธิบายภาพที่นี่

  • หลังจากนั้นคุณจะเห็นเทอร์มินัลสีฟ้าป้อนคำสั่ง cd C: \ guard_tool แทนที่เส้นทางหลังcdด้วยตำแหน่งที่ดึงออกมาของเครื่องมือ
  • ตอนนี้ป้อนคำสั่ง: . \ DG_Readiness_Tool_v3.6.ps1 -Disable
  • หลังจากนั้นระบบรีบูต
  • เมื่อระบบของคุณกำลังรีสตาร์ทระบบเวลาบูตระบบจะแสดงการแจ้งเตือนพร้อมพื้นหลังสีดำเพื่อตรวจสอบว่าคุณต้องการปิดใช้งานคุณสมบัติเหล่านี้ดังนั้นให้กด F3 เพื่อยืนยัน
  • ทำ +1 ถ้ามันช่วย :)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.