Lỗi Docker cho Windows: Phần cứng ảo hóa và bảo vệ thực thi dữ liệu được hỗ trợ phần cứng phải được bật trong BIOS


151

Tôi đã cài đặt Docker và tôi gặp lỗi này khi chạy GUI:

Ảo hóa được hỗ trợ phần cứng và bảo vệ thực thi dữ liệu phải được bật trong BIOS

Có vẻ như là một lỗi vì Docker hoạt động như một bùa mê từ dòng lệnh, nhưng tôi tự hỏi liệu có ai có manh mối về lý do tại sao điều này xảy ra không?

Trước khi bạn hỏi, vâng, tôi đã kích hoạt ảo hóa trong BIOS và Tiện ích nhận dạng bộ xử lý Intel xác nhận rằng nó đã được kích hoạt. Docker, docker-machine và docker-compose all work from the dòng lệnh, Virtualbox hoạt động, chạy Docker từ Debian hoặc Ubuntu VM hoạt động.

Có vấn đề kỳ lạ về GUI.

Thông số kỹ thuật của tôi:

  • Phiên bản kỷ niệm Windows 10 Pro x64
  • Intel core i5-6300HQ @ 2.30GHz

Câu trả lời:


340

Nếu các tính năng được mô tả được bật, sự cố xảy ra với Hyper-V bị vô hiệu hóa hoặc tác nhân Hypervisor không chạy

GIẢI PHÁP A (Nếu Hyper-V bị vô hiệu hóa hoàn toàn hoặc không được cài đặt)

  1. Mở PowerShell với tư cách quản trị viên và

  2. Kích hoạt Hyper-V với

    dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

GIẢI PHÁP B (Nếu tính năng Hyper-V đã được bật nhưng không hoạt động)

Kích hoạt Hypervisor với

bcdedit /set hypervisorlaunchtype auto

Bây giờ khởi động lại hệ thống và thử lại.

GIẢI PHÁP C

Nếu sự cố vẫn còn có thể Hyper-V trên hệ thống của bạn bị hỏng, vì vậy

  1. Đi vào Bảng điều khiển -> [Chương trình] -> [Tính năng của Windows] và bỏ chọn hoàn toàn tất cả các thành phần liên quan đến Hyper-V. Khởi động lại hệ thống.

  2. Kích hoạt lại Hyper-V. Khởi động lại.

CHÚ THÍCH 1 :

Hyper-V cần ảo hóa phần cứng là điều kiện tiên quyết. Hãy chắc chắn rằng PC của bạn hỗ trợ nó, nếu có và vẫn không hoạt động thì có khả năng BIOS của bạn không được cấu hình đúng và tính năng này bị tắt. Trong trường hợp này, kiểm tra, kích hoạt nó và thử lại. Các tính năng ảo hóa có thể được báo cáo dưới các tên khác nhau theo nền tảng được sử dụng (ví dụ: nếu bạn không thấy bất kỳ tùy chọn nào sử dụng nhãn ảo hóa rõ ràng, trên AMD, bạn phải kiểm tra trạng thái tính năng SVM , trên trạng thái tính năng VT-x của Intel ).

LƯU Ý 2:

Hyper-V chỉ có thể được cài đặt với một số phiên bản, ví dụ:

Doanh nghiệp Windows 10; Windows 10 Professional; Giáo dục Windows 10.

Hyper-V không thể được cài đặt trên các phiên bản Windows rẻ hơn hoặc di động, ví dụ:

Trang chủ Windows 10; Windows 10 Di động; Doanh nghiệp di động Windows 10.


3
@Julien thử mở lại và cài đặt lại Hyper-V xem bản chỉnh sửa
Silverstorm

5
Trong trường hợp bất kỳ ai khác có vấn đề tương tự, gần đây tôi đã cài đặt Bash trên Ubuntu trên Windows (sử dụng Hyper-V). Sau khi tôi gỡ cài đặt nó và sau đó làm theo các bước trong câu trả lời này, Docker đã làm việc cho tôi!
Kyle Challis

9
Tôi đang chạy Windows 10 trong Bootcamp trên MacBook Pro. Tôi đã từng gặp vấn đề tương tự. Lần đầu tiên tôi thử dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /Allnhưng dường như không giải quyết được, vì vậy sau đó tôi đã thử bcdedit /set hypervisorlaunchtype autovà Docker hiện đang chạy cho tôi.
Johnny Oshika

1
Đây không phải là vấn đề trong trường hợp của tôi, đó là thực tế là tính năng thông thạo đã bị vô hiệu hóa trong BIOS. Tôi đã phải kích hoạt tính năng ảo hóa trong tab bảo mật trong BIOS, điều này khiến cho docker hoạt động ngay lập tức sau đó.
shahar_m

5
Giải pháp B đã làm việc cho tôi sau khi nâng cấp / chuyển đổi SSD của tôi thông qua Công cụ di chuyển SSD Samsung.
plocks

19

Dưới đây là giải pháp làm việc cho tôi, xin vui lòng làm theo các bước sau

  1. Mở PowerShell với tư cách quản trị viên hoặc nhắc nhở CMD với tư cách quản trị viên

  2. Chạy lệnh này trong PowerShell-> bcdedit /set hypervisorlaunchtype auto

  3. Bây giờ khởi động lại hệ thống và thử lại.

chúc mừng


4
Làm việc cho tôi, không cần gỡ cài đặt Intel HAXM, nhưng bây giờ vmware không còn hoạt động nữa :(
realtebo

11

Tôi đã gỡ cài đặt Intel HAXM và VirtualBox, Docker hiện đang chạy


12
Tôi đã cài đặt HAXM cho Android Development và phải tắt HyperV. Loại bỏ nó đã khôi phục Docker cho Windows. Bây giờ nếu ai đó có thể cho tôi biết làm thế nào để Trình giả lập Android và Docker cùng tồn tại?
Dieter Menne



3

Đối với tôi, tất cả những gì tôi phải làm là gỡ cài đặt VMware.

Docker hiện đang chạy


1

Bạn có thể thử bật Hyper-V theo cách thủ công không, và có khả năng tạo và chạy Hyper-V VM theo cách thủ công? Chi tiết:


3
Đối với tôi nó không hoạt động ngay cả khi Hyper-V được kích hoạt và cấu hình BIOS; Tôi vẫn nhận được lỗi đó. Vô hiệu hóa Hyper-V + khởi động lại Windows và sau đó kích hoạt lại nó đã giải quyết vấn đề cho tôi.
Tadej

1

Trong trường hợp của tôi, tôi đã phải gỡ cài đặt hyper-v, khởi động lại máy tính và chạy lại docker.


1

Hãy thử điều này trong PowerShell (bật admin):

Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart

Điều này sẽ cài đặt HyperVisor mà không cần các công cụ quản lý, và sau đó bạn có thể chạy Docker sau này.


1

Tôi đã thử nhiều đề xuất ở trên nhưng docker cứ phàn nàn về lỗi ảo hóa được hỗ trợ bằng phần cứng. Ảo hóa được kích hoạt trong BIOS, và Hyper-V cũng được cài đặt và kích hoạt. Sau một vài lần thử và lỗi, cuối cùng tôi đã tải xuống công cụ coreinfo và phát hiện ra rằng Hypervisor không thực sự được kích hoạt. Sử dụng ISE (64 bit) làm quản trị viên và chạy lệnh từ Giải pháp B ở trên và cho phép Hypervisor thành công (được kiểm tra lại qua coreinfo -v). Sau khi khởi động lại, docker hiện đang chạy thành công.


1

Hãy thử các bước sau

  1. Chạy lệnh này trong powershell ---> bcdedit / set hypannerorlaunchtype auto
  2. Khởi động lại PC của bạn
  3. Bây giờ hãy thử docker --version trong dòng cmd

0

Vấn đề với tôi đã được giải quyết khi tôi gỡ cài đặt Cygwin.


0

Tôi cũng sử dụng vagrant. Có vẻ như tôi chỉ có thể sử dụng 1 thứ một lần. Gỡ cài đặt vagrant / virtualBox cho phép tôi chạy docker và ngược lại



0

@Silverstorm

Tôi đã cài đặt Hyperv và ảo hóa trong BIOS của mình.

Nhưng GIẢI PHÁP A không làm việc cho tôi.

Tuy nhiên, GIẢI PHÁP B làm việc như một lá bùa.

GIẢI PHÁP B (Nếu tính năng Hyper-V đã được bật nhưng không hoạt động)

Kích hoạt Hypervisor với

bcdedit / set hypannerorlaunchtype auto Bây giờ khởi động lại hệ thống và thử lại.


0

Ngoài câu trả lời ban đầu, tôi đã làm như sau:

  • Vô hiệu hóa Hyper-V trong các tính năng của Windows
  • Tắt và bật ảo hóa trong BIOS
  • Đăng nhập lại trong windows, kích hoạt Hyper-V. Tôi đã được nhắc có bản cập nhật cho Hyper-V và tôi đã cập nhật. Khởi động lại khi được nhắc.
  • Nó đã làm việc!

0

Nếu mọi thứ đều ổn với tùy chọn BIOS, tôi chỉ buộc vô hiệu hóa và kích hoạt tất cả các tính năng của HyperV và điều này đã giải quyết vấn đề của tôi --cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All --restart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft- Hyper-VTHER ALL


0

Trong trường hợp của tôi, tôi phải kích hoạt ảo hóa trong cài đặt BIOS.

  1. Khởi động lại PC
  2. Trong khi bạn đang ở trên màn hình 'restart', nhấn bất kỳ phím nào trong số các phím này và bạn nhập cài đặt bios trong windows: esc, f1, f2, f3, f4, f8 hoặc xóa
  3. Đối với hệ thống dựa trên intel:
    • nhấn f7 (chế độ nâng cao)
    • đi nâng cao
    • cấu hình cpa
    • cho phép ảo hóa

Và sau tất cả các bước trên, cuối cùng nó cũng hoạt động :-)


0

Trong trường hợp của tôi mặc dù tôi đã sử dụng tất cả các giải pháp được đề cập ở trên nhưng không có gì hiệu quả với tôi. Vì vậy, tôi quyết định gỡ cài đặt docker và cài đặt lại.

Bây giờ trong quá trình này, tôi nhận thấy rằng tôi đã không kiểm tra Use Windows containers instead of Linux containers (this can be changed after installation)cài đặt trước đó và đó là lý do tại sao tôi gặp sự cố ở trên và các giải pháp vẫn không khắc phục được. Vì vậy, đảm bảo kiểm tra nó trước khi bạn chạy docker máy tính để bàn hoặc gỡ cài đặt nó và cài đặt lại bằng cách kiểm tra tùy chọn này.

Quá trình cài đặt Docker

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.