05 March, 2021
Cài Windows 10 lên Google Cloud (update 08/2023)
Update 08/2023: Do file cũ bị hỏng, cũng như thi thoảng có người hỏi, nên hôm nay mình sẽ update lại hướng dẫn mới. Mình đã thử cài cả win 11 nhưng nó chưa chạy đc trên gg cloud, vậy nên hiện tại vẫn sẽ là hướng dẫn cài win 10.
Hướng dẫn sau đây là để cài nhanh một bản windows đã tạo sẵn. Nếu bạn muốn tự tạo image windows riêng của mình, hãy tham khảo bài viết: Tạo Windows bootable image để chạy trên Google Cloud
Bạn windows tạo sẵn có trong hướng dẫn này là cài từ iso win 10 22H2 của anh-dv.com. Bản này khá nhẹ, chiếm ít RAM, đã active sẵn. Ngoài ra mình đã bật RDP, SSH để tiện truy cập từ xa, cũng như tắt bỏ windows update, windows defender cho đỡ lag. User / pass mặc định là user / 123456
Việc thực hiện cơ bản sẽ có các bước sau (thực hiện 100% trên google cloud, không phải tải về máy file nào cả):
- Tạo VM linux với 1 boot disk và 1 additional disk
- Dùng lệnh “dd” để copy windows image sang additional disk đã tạo
- Detach additional disk khỏi máy linux
- Tạo VM mới, attach additional disk phía trên thành boot disk => khi khởi động, máy này sẽ vào trực tiếp windows
- Xóa VM linux
Bước 1: Tạo VM linux
Tạo mới một máy linux (debian) trên google cloud:
(Ổ đĩa debian cứ để 10GB cũng được)
Chú ý: trước khi lưu, bạn cần thêm 1 disk ở phần Additional options:
Đặt tên disk mới là “windows”
Dung lượng tùy ý (tối thiểu là 30GB). Đây sẽ là ổ đĩa dành cho windows.
Sau đó bấm nút CREATE ở dưới cùng.
Bước 2: Copy windows image sang additional disk
Sau khi VM debian đã khởi động, bấm nút SSH để mở cửa sổ nhập lệnh.
Khi con trỏ nhập lệnh hiện ra, nhập lệnh sau đây rồi bấm enter:
wget -qO- https://raw.githubusercontent.com/ngxson/public-assets/main/install-windows-gcp.sh | sudo bash
Sau khoảng 5-10 phút, màn hình sẽ hiện ra kết quả:
=== ALL DONE ===
Bạn có thể đóng cửa sổ lệnh được rồi.
Bước 3: Detach additional disk khỏi máy linux
Stop máy debian
Sau đó bấm vào tên máy => Edit
Ở mục “Additional disk”, bấm remove ở windows
Sau đó, nhớ lưu lại:
Bước 4: Tạo VM windows
Nhớ chọn region và zone trùng với VM debian đã tạo.
Đặt tên tùy ý (ví dụ win10)
Bật display device:
Ở mục boot disk, chọn existing disk > windows
Cuối cùng, bấm CREATE để tạo
Một lúc sau, khi máy ảo đã tạo, vào tab screenshot, nếu thấy màn hình login windows thì tức là đã thành công:
Bước 5: Kiểm tra lại và dọn dẹp
Bây giờ, bạn đã có thể truy cập VM windows đã tạo thông qua RDP hoặc SSH. Tuy nhiên, do mặc định thì firewall của google cloud chặn hết mấy port này, bạn cần thêm một cách thủ công:
Để test nên mình sẽ mở tất cả các port luôn. Điều này KHÔNG TỐT cho bảo mật, vì vậy bạn hãy chọn port cố định nếu muốn dùng lâu dài nhé:
Xong, giờ thử RDP vào xem (mình dùng app Remmina)
User / pass mặc định là user / 123456
Nhớ đổi pass ngày sau khi đăng nhập
Cuối cùng, bạn có thể xóa VM debian vì nó không cần thiết nữa:
Xong!
Câu hỏi thường gặp
- Mình không cài được một vài ứng dụng
Tra lời: có thể do mình tắt mất windows update service. Bạn có thể mở lại service này bằng cách vào thử mục windows update blocker ở ngoài desktop => mở wub64 => bấm enable - Vì sao không dùng tính năng import (ova, vmdk,…) của google cloud?
Trả lời: Vì nó mất thời gian, và bạn phải tải image về máy rồi upload lại. Trong khi cách của mình làm online hoàn toàn, không phải tải về máy file nào. - Mình sợ bị trừ nhiều tiền, có cách nào giới hạn số tiền phải trả không?
Bạn hãy tìm google từ khóa sau: how to set budget limit on google cloud platform - Windows 11 có chạy không?
Trả lời: Không, tại thời điểm mình viết bài này thì driver Google VirtIO SCSI chưa tương thích với win 11. Mới chỉ có driver của RedHat tương thích thôi. - VM cloud như thế này có thích hợp để chơi game / edit video không?
Trả lời: Không. Dẫu mục đích ban đầu của bài này là để làm VM chơi game, mình nhận ra là GPU trên server tối ưu để chạy các tác vụ AI. Vậy nên chơi game vẫn được, nhưng không hiệu quả. Edit video cũng vậy, tệ hơn là bạn phải mất thêm bandwidth để copy video từ máy nhà lên cloud.