Hướng dẫn
Cách kiểm tra ảo hóa đã bật chưa trên Windows 10 và 11 (và vì sao PowerShell báo False dù đã bật)
Cách nhanh trong 10 giây: Task Manager
- Nhấn Ctrl+Shift+Esc để mở Trình quản lý Tác vụ (bấm More details nếu chỉ thấy danh sách ngắn).
- Mở thẻ Performance (Hiệu suất) và chọn CPU.
- Nhìn khối phía dưới bên phải của bảng CPU, tìm dòng Virtualization.
| Bạn thấy | Nghĩa là |
|---|---|
| Virtualization: Enabled | Ảo hóa trong firmware đã bật. Bạn dùng được WSL 2, Docker Desktop, trình giả lập Android và máy ảo. |
| Virtualization: Disabled | Đang tắt. Hãy bật Intel VT-x hoặc AMD-V trong BIOS: Cách bật ảo hóa trong BIOS. |
| Không có dòng Virtualization nhưng có Virtual machine: Yes | Bạn đang ở trong một máy ảo. Máy chủ phải cho ảo hóa đi xuyên xuống (xem phần câu hỏi thường gặp bên dưới). |
Nếu Windows của bạn dùng tiếng Việt, các nhãn sẽ được dịch (ví dụ "Ảo hóa") nhưng bố cục giống hệt.
Cách 2: systeminfo
Mở PowerShell hoặc Command Prompt và chạy:
systeminfo | findstr /i "hyper-v virtualization hypervisor"
Trên máy chưa có hypervisor nào chạy, phần Hyper-V Requirements liệt kê bốn dòng, đều nên là Yes: VM Monitor Mode Extensions, Virtualization Enabled In Firmware, Second Level Address Translation và Data Execution Prevention Available.
Trên máy đã có hypervisor chạy, bạn sẽ thấy dòng này thay thế (chép từ một máy Windows 10 thật đang chạy WSL 2):
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Đó không phải lỗi. Microsoft có ghi rõ: trên một máy chủ Hyper-V đang chạy, phần yêu cầu được thay bằng thông báo này. Hypervisor chỉ chạy được khi ảo hóa trong firmware đã bật, nên chính thông báo này là câu trả lời: ảo hóa đang bật.
Cách 3: PowerShell, và cái bẫy
Đây là hai thuộc tính người ta hay chép từ diễn đàn. Chạy chúng không cần quyền quản trị:
(Get-CimInstance Win32_ComputerSystem).HypervisorPresent
(Get-CimInstance Win32_Processor).VirtualizationFirmwareEnabled
Đây là kết quả thật từ một máy Windows 10 Pro (build 19045, Intel Core thế hệ 11) đang chạy WSL 2 bình thường:
HypervisorPresent : True
VirtualizationFirmwareEnabled : False
Đọc theo nghĩa đen, dòng thứ hai nói ảo hóa đang tắt. Không phải vậy: WSL 2 đang chạy, điều không thể xảy ra nếu ảo hóa tắt. Khi Windows chạy trên hypervisor của nó, cờ ở mức firmware không còn được báo cho hệ điều hành như trên máy không có hypervisor, nên giá trị có thể là False ngay cả khi mọi thứ chạy tốt. SecondLevelAddressTranslationExtensions và VMMonitorModeExtensions cũng có thể bị báo False trên một máy như vậy.
Đọc hai giá trị cùng nhau
HypervisorPresent | VirtualizationFirmwareEnabled | Nghĩa là | Việc cần làm |
|---|---|---|---|
| True | bất kỳ (thường là False) | Hypervisor đang chạy, tức ảo hóa đang bật | Không cần làm gì: bạn ổn |
| False | True | Ảo hóa trong firmware đã bật, nhưng chưa có hypervisor nào khởi động | Bật các tính năng Windows rồi khởi động lại: bài sửa lỗi WSL 2 |
| False | False | Ảo hóa trong firmware đang tắt (hoặc CPU không có) | Bật trong BIOS: hướng dẫn từng bước |
Cách 4: System Information (msinfo32)
- Nhấn Win+R, gõ
msinfo32rồi nhấn Enter. - Ở lại mục System Summary và kéo xuống cuối danh sách bên phải.
- Tìm các dòng Hyper-V, hoặc thông báo A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Trang này còn cho biết Virtualization-based security (Running hoặc Not enabled) và BIOS Mode (UEFI hoặc Legacy). Dòng sau cho bạn biết có dùng được cách "UEFI Firmware Settings" trong bài hướng dẫn BIOS của chúng tôi hay không. Giống systeminfo, màn hình này cũng ẩn các dòng yêu cầu khi hypervisor đang chạy.
Thêm một cách: thử chạy WSL 2
Nếu đã cài WSL, phép thử thực tế là một distro WSL 2 có khởi động được không. Trong PowerShell:
wsl --status
wsl --list --verbose
wsl --status in ra distro mặc định và phiên bản mặc định. Trong wsl --list --verbose, một distro có VERSION 2 và đạt trạng thái Running chứng tỏ ảo hóa chạy thông suốt từ đầu đến cuối. Nếu lỗi kèm mã như 0x80370102, xem Cách sửa các lỗi WSL 2 thường gặp.
Nên tin kết quả nào?
| Tình huống | Tín hiệu đáng tin nhất |
|---|---|
| Chưa từng chạy gì ảo trên máy này | Task Manager, rồi systeminfo |
| WSL 2, Hyper-V hoặc Docker đã chạy ở đây | Task Manager hoặc HypervisorPresent; bỏ qua VirtualizationFirmwareEnabled báo False |
| Sắp cài thứ cần ảo hóa | Task Manager, rồi thử chạy |
| Đang ở trong máy ảo | Cài đặt của máy chủ (nested virtualization), không phải của máy khách |
Những cái bẫy hay gặp
- "Shut down" không phải "Restart". Khi bật Fast Startup, tắt máy rồi bật lại không khởi động lại Windows hoàn toàn, nên một số thay đổi (như tính năng Windows vừa bật) có thể chưa được áp dụng. Hãy dùng Start → Power → Restart, hoặc chạy
shutdown /r /t 0. - Hypervisor khác. Phiên bản tối thiểu để chạy chung với Hyper-V theo Microsoft là VirtualBox 6 và VMware Workstation 15.5.5.
- Bản Windows. Microsoft nêu rõ WSL 2 có trên mọi bản Windows dành cho máy tính để bàn, kể cả Windows 10 Home và Windows 11 Home. Vai trò Hyper-V đầy đủ (Hyper-V Manager) cần Windows 10 hoặc 11 Pro hoặc Enterprise.
- Kiểm tra không cần quyền quản trị, thay đổi thì cần. Mọi thứ trên trang này chạy được bằng người dùng thường. Các lệnh như
bcdeditvàGet-WindowsOptionalFeatuređòi PowerShell chạy bằng quyền quản trị và sẽ lỗi "The requested operation requires elevation" nếu thiếu.
Câu hỏi thường gặp
Vì sao PowerShell báo VirtualizationFirmwareEnabled là False trong khi WSL 2 chạy bình thường?
Khi Windows đã chạy trên hypervisor của chính nó, cờ firmware không còn được báo cho hệ điều hành như trên máy chưa có hypervisor. Một máy WSL 2 chạy tốt vẫn có thể báo False. Nếu WSL 2, Hyper-V hoặc Docker chạy được, ảo hóa đang bật bất kể giá trị đó. Hãy xem HypervisorPresent hoặc Task Manager.
Dòng "A hypervisor has been detected" trong systeminfo nghĩa là gì?
Nghĩa là Windows đã chạy một hypervisor, tức ảo hóa đã bật trong firmware. Microsoft ghi rõ rằng trên một máy chủ Hyper-V đang chạy, systeminfo in thông báo này ở phần Hyper-V Requirements và không hiển thị từng yêu cầu.
Task Manager ghi Virtualization: Disabled. Giờ làm gì?
Hãy bật Intel VT-x hoặc AMD-V (SVM Mode) trong BIOS/UEFI. Bài hướng dẫn từng bước của chúng tôi chỉ rõ phím vào BIOS theo từng hãng và vị trí tuỳ chọn.
Task Manager ghi Virtualization: Enabled nhưng WSL 2 vẫn lỗi. Có thể như vậy không?
Có. Ảo hóa trong firmware mới chỉ là điều kiện đầu tiên. Windows còn cần bật các tính năng Virtual Machine Platform và Windows Subsystem for Linux, hypervisor phải khởi động cùng Windows, và phải khởi động lại đúng cách sau khi đổi tính năng. Xem bài sửa lỗi WSL 2 của chúng tôi.
Kiểm tra từ bên trong máy ảo thì sao?
Máy chủ phải cho phép ảo hóa lồng nhau (nested virtualization). Trên máy chủ Hyper-V, chạy Set-VMProcessor -VMName <tên> -ExposeVirtualizationExtensions $true bằng quyền quản trị rồi khởi động lại máy ảo.
Nguồn tham khảo
- Microsoft Learn: System requirements for Hyper-V on Windows and Windows Server (tiếng Anh; cách kiểm tra bằng systeminfo và thông báo hypervisor-detected)
- Microsoft Learn: Troubleshooting Windows Subsystem for Linux (tiếng Anh; ảo hóa, hypervisor launch type, nested virtualization)
- Microsoft Learn: Basic commands for WSL (tiếng Anh; wsl --status, wsl --list --verbose)
- Microsoft Learn: WSL FAQ (tiếng Anh; WSL 2 trên bản Home, nested virtualization)
- Microsoft Learn: Win32_Processor class (tiếng Anh; VirtualizationFirmwareEnabled)
Bài liên quan
Chạy máy Android và hồ sơ trình duyệt ngay trên PC của bạn
ADSSPEED quản lý nhiều hồ sơ trình duyệt và hồ sơ điện thoại Android trong một ứng dụng, mỗi hồ sơ có cấu hình máy, proxy và tự động hoá riêng.