Chạy Windows 10 Song Song: Hướng Dẫn Chi Tiết Trên Bare-Metal và KVM/QEMU [Chuẩn SEO]
Bạn muốn sử dụng Windows 10 một cách linh hoạt, vừa trên phần cứng trực tiếp (bare-metal) khi cần hiệu suất cao, vừa trong máy ảo KVM/QEMU để tiện lợi và thử nghiệm? Bài viết này sẽ hướng dẫn bạn từng bước cách thiết lập **Windows 10 chạy song song** trên cả hai môi trường, giúp bạn tận dụng tối đa hệ điều hành này mà không cần phải khởi động kép. Chúng tôi sẽ giải quyết các vấn đề thường gặp như kích hoạt bản quyền, lỗi thiết bị khởi động và tối ưu hóa hiệu suất.
Tại Sao Nên Chạy Windows 10 Song Song Trên Bare-Metal và KVM/QEMU?
Việc **chạy Windows 10** trên cả bare-metal và KVM/QEMU mang lại nhiều lợi ích đáng kể:
Linh hoạt: Sử dụng Windows 10 trên phần cứng thật khi cần hiệu năng tối đa cho gaming hoặc các ứng dụng nặng, và chuyển sang máy ảo khi cần thử nghiệm phần mềm, truy cập từ xa hoặc đơn giản là để giữ cho hệ thống chính sạch sẽ.
Tiết kiệm tài nguyên: Không cần phải khởi động kép, tiết kiệm thời gian và giảm thiểu việc chiếm dụng không gian ổ cứng cho nhiều phân vùng hệ điều hành.
Sao lưu và phục hồi dễ dàng: Máy ảo dễ dàng được sao lưu và phục hồi, giúp bảo vệ dữ liệu quan trọng của bạn.
Thử nghiệm an toàn: Thử nghiệm các phần mềm mới hoặc cấu hình hệ thống trong môi trường ảo hóa, tránh ảnh hưởng đến hệ thống chính.
Chuẩn Bị Trước Khi Bắt Đầu
Để đảm bảo quá trình cài đặt diễn ra suôn sẻ, bạn cần chuẩn bị những điều sau:
Một hệ thống Linux (ví dụ: Ubuntu, Fedora, Gentoo) đã cài đặt và cấu hình KVM/QEMU.
Một bản cài đặt Windows 10 đã được kích hoạt trên phần cứng thật (bare-metal).
Quyền truy cập root hoặc sudo trên hệ thống Linux.
Đảm bảo hệ thống của bạn hỗ trợ ảo hóa phần cứng (Intel VT-x hoặc AMD-V) và nó đã được kích hoạt trong BIOS/UEFI.
Sao lưu đầy đủ dữ liệu quan trọng trước khi thực hiện bất kỳ thay đổi nào.
Các Bước Thực Hiện Chi Tiết
1. Thu Thập Thông Tin Hệ Thống
Để đảm bảo **Windows 10** có thể chạy trơn tru trong môi trường ảo hóa, chúng ta cần thu thập một số thông tin quan trọng từ hệ thống phần cứng thật:
UUID của hệ thống: Sử dụng lệnh `dmidecode -t 1` trên Linux để lấy UUID. Đây là giá trị duy nhất nhận dạng hệ thống của bạn.
ID của ổ đĩa chứa Windows 10: Sử dụng lệnh `blkid|grep -i ntfs` để xác định phân vùng NTFS (Windows) và sau đó sử dụng `/dev/disk/by-id/` để lấy ID ổn định của ổ đĩa vật lý.
Số serial của ổ cứng: Sử dụng lệnh `smartctl -i /dev/sda` (thay `/dev/sda` bằng ổ đĩa của bạn) để lấy số serial của ổ cứng.
Sử dụng `virsh edit ` để chỉnh sửa file cấu hình máy ảo. Thực hiện các thay đổi sau:
Thay đổi UUID: Thay thế giá trị trong thẻ `` bằng UUID thu thập được từ `dmidecode`.
Thay đổi tên máy ảo: Thay đổi giá trị trong thẻ ``, nếu không libvirt có thể không cho phép bạn lưu.
Thêm thông tin ACPI (tùy chọn): Nếu hệ thống của bạn có bảng SLIC (thường có trên các máy tính cài sẵn Windows), bạn có thể sao chép nó vào máy ảo để giúp kích hoạt bản quyền.
Chỉnh sửa thẻ ``: Thêm các thẻ `` và `` để chuyển thông tin hệ thống thật sang máy ảo.
Chỉnh sửa thẻ ``: Thay đổi `` để trỏ đến ID ổ đĩa thu thập được từ `/dev/disk/by-id/` và thêm thẻ `` với số serial của ổ cứng.
Tăng bộ nhớ video (tùy chọn): Nếu bạn có màn hình độ phân giải cao (HiDPI), tăng giá trị `vgamem` trong thẻ `
Ví dụ:
windows10-vmYOUR-UUID-HERE
/var/lib/libvirt/qemu/nvram/SLIC
S32WJ9CF159997
3. Giải Quyết Lỗi "Inaccessible Boot Device"
**Windows 10** có một cơ chế bảo vệ ngăn chặn việc tải các driver lưu trữ không phải là driver được sử dụng khi cài đặt. Để khắc phục điều này, bạn cần thực hiện các bước sau:
Khởi động vào **Windows 10** trên bare-metal với quyền quản trị.
Mở Device Manager và chuyển sang chế độ "View by connections".
Tìm Storage Controller kết nối với ổ đĩa chứa **Windows 10**.
Xem chi tiết driver của Storage Controller và ghi lại đường dẫn đến file `.sys` (ví dụ: `C:\WINDOWS\System32\DRIVERS\iaStorA.sys`).
Mở Registry Editor và tìm đến khóa `HKLM\SYSTEM\ControlSet001\Services\\StartOverride`.
Sửa giá trị DWORD `0` từ `3` thành `0`. Điều này cho phép driver khởi động ngay cả khi không cần thiết.
(Tùy chọn) Tắt Fastboot và Hibernation để tránh các vấn đề không mong muốn.
Lưu ý quan trọng: Windows 10 có thể tự động đặt lại giá trị `StartOverride` về `3` sau mỗi lần khởi động. Bạn có thể cần tự động hóa quá trình này bằng một script PowerShell (xem phần sau).
4. Tự Động Hóa Việc Chỉnh Sửa StartOverride (Tùy Chọn)
Để tránh việc phải chỉnh sửa registry thủ công mỗi khi khởi động, bạn có thể sử dụng một script PowerShell để tự động hóa quá trình này:
# get a list of storage drivers as parameters
if ($args.Count -eq 0) {
echo "Must indicate at least 1 storage driver name"
exit 1
}
$rootPath = "HKLM:\SYSTEM\ControlSet001\Services\"
$tailPath = "\StartOverride"
foreach ($p in $args) {
echo ("Checking: "+$rootPath+$p+$tailPath)
if (Test-Path ($rootPath+$p+$tailPath)) {
echo ($rootPath+$p+$tailPath) "exists"
Set-ItemProperty -Name "0" -Path ($rootPath+$p+$tailPath) -Value 0
}
}
Lưu script này vào `$WINDIR\System32\GroupPolicy\Machine\Scripts\Startup` với phần mở rộng `.ps1`. Sau đó, mở `gpedit.msc` để chỉnh sửa Group Policy, thêm script PowerShell này vào Startup Scripts, và cung cấp các tham số như `-ExecutionPolicy BYPASS storahci vioscsi iaStorA`. Đảm bảo rằng bạn đã đặt Execution Policy cho phép chạy script.
Khởi Động Máy Ảo và Kiểm Tra
Sau khi hoàn thành các bước trên, bạn có thể khởi động máy ảo **Windows 10** của mình. Kiểm tra xem **Windows 10** đã được kích hoạt hay chưa. Nếu gặp lỗi "Inaccessible Boot Device", hãy thử khởi động vào Safe Mode (sử dụng `bcdedit /set {current} safeboot minimal` trên bare-metal trước khi khởi động máy ảo) và sau đó gỡ bỏ chế độ Safe Mode (sử dụng `bcdedit /deletevalue {current} safeboot`).
Lời Kết
Việc **chạy Windows 10 song song** trên bare-metal và KVM/QEMU có thể phức tạp, nhưng với hướng dẫn chi tiết này, bạn có thể tận hưởng sự linh hoạt và tiện lợi của cả hai môi trường. Hãy nhớ sao lưu dữ liệu của bạn trước khi thực hiện bất kỳ thay đổi nào và tham khảo các tài liệu liên quan để giải quyết các vấn đề cụ thể có thể phát sinh. Chúc bạn thành công!