Hantaran kali ini berkisar pemasangan Windows di mesin maya.
Sebelum ini gunakan VirtualBox. Tapi susah betul nak buka fail-fail PDF sebab resolusi skrin tak padan dan mesti sentiasa ditukar tetapannya. Jenuh.
Akhirnya rajinkan diri untuk set up menggunakan QEMU/KVM.
Baiklah. Seperti biasa, rujukan paling digemari ialah ArchWiki. Menurut hemat saya, rujuk ArchWiki itu sahaja sudah mencukupi. Walaubagaimanapun, saya buat hantaran ini untuk rujukan sendiri.
Kiranya andai ada pembaca yang terbaca dan rasa ianya lebih membantu sudah tentulah ia perkara yang sangat baik.
Jadi, perkara pertama yang wajib dibuat mestilah memasang pakej qemu
. Saya juga pasang pakej samba
untuk kemudahan berkongsi folder di antara hos (Arch Linux) dan tetamu (Windows). Pelik pula bila guna tetamu. Bahasa Inggerisnya guest-lah.
Mungkin boleh study dulu penerangan dari ArchWiki di sini.
Secara dasarnya pemasangan sistem Windows baru di VM melalui QEMU memerlukan baris-baris perintah seperti yang berikut:-
qcow2
yang akan memakan ruang cakera mengikut jumlah sebenar digunakan. Saiz ruang maksimum ditetapkan adalah 50GiB.
qemu-img create -f qcow2 windows.img 50G
cp /usr/share/edk2/x64/OVMF.4m.fd copyof_OVMF.4m.fd
1qemu-system-x86_64 -enable-kvm \
2 -machine type=q35,vmport=off,usb=on \
3 -m 4G -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
4 -drive if=pflash,format=raw,file=$HOME/copyof_OVMF.4m.fd \
5 -device intel-hda -device hda-duplex -device virtio-balloon \
6 -usb -device usb-tablet \
7 -vga qxl -display gtk,gl=on,show-cursor=on \
8 -display spice-app,gl=on -device virtio-serial-pci \
9 -spice unix=on,addr=/tmp/vm_spice.socket,disable-ticketing=on \
10 -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
11 -chardev spicevmc,id=spicechannel0,name=vdagent \
12 -device ich9-usb-ehci1,id=usb \
13 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,multifunction=on \
14 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2 \
15 -device ich9-usb-uhci3,masterbus=usb.0,firstport=4 \
16 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1 \
17 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2 \
18 -chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3 \
19 -nic user,model=virtio-net-pci,id=nic0,smb=/laluan-penuh-ke-direktori-dikongsi \
20 -drive index=0,media=disk,if=virtio,aio=native,cache.direct=on,file=$HOME/laluan_ke_disk.img \
21 -drive index=1,media=cdrom,file=$HOME/laluan_ke_Win10_20H2_English_x64.iso \
22 -drive index=2,media=cdrom,file=$HOME/laluan_ke_virtio-win-0.1.217.iso
23 #-daemonize
No. | Keterangan |
---|---|
qemu-system-x86_64 bagi sistem x64 untuk emulator sistem penuh.
-enable-kvm untuk feature sedia ada dalam QEMU yang akan meningkatkan kelajuan sistem di VM.
|
|
-machine type=q35 untuk chipset moden.
vmport=off untuk menutup VMWare IO port emulation.
usb=on diambil dari penerangan yang terdapat di Deprecated features:-
|
|
-m 4G merujuk kepada jumlah RAM dalam GiB yang diperuntukkan kepada VM serta command -cpu sebagaimana terdapat pada Tips and Tricks di ArchWiki.
|
|
Opsyen -drive bersama pembolehubah if=pflash untuk bootloader dengan perisian tegar UEFI .
|
|
Opsyen -device intel-hda -device hda-duplex untuk audio. Sementara itu, driver ① |
|
-usb -device usb-tablet untuk integrasi tetikus, Mouse Integration.
|
|
Grafik QXL membuatkan paparan pixel skrin nampak lebih cantik (sharp, akan dibantu oleh spice-guest-tools ).
show-cursor=on untuk mengatasi isu cursor tak kelihatan. No visible Cursor.
|
|
Baris seterusnya saya dapatkan melalui pembacaan dari beberapa sumber yang ada saya nyatakan di bawah halaman ini.-device virtio-serial-pci mesti disertakan sekali. Jika tidak, ralat yang merencatkan pelaksaan qemu akan berlaku. Driver ②vioserial ini perlu dikemaskini melalui CDROM virtio-win pasca-pemasangan (buka Device Manager).Ada dua kali jugalah variable Seandainya
|
|
Enable saluran untuk spice-vdagent yang bertujuan untuk mendapatkan fungsi clipboard bagi sistem hos dan tetamu (akan dibantu oleh spice-guest-tools ).
|
|
Barisan-barisan berisikan opsyen -device ich9-usb-ehci1 dan -chardev spicevmc,name=usbredir pula adalah untuk perkongsian port USB sekiranya ada keperluan untuk memajukan peranti yang dihubungkan melalui port, misalnya kamera web (built-in / USB webcam).
|
|
Baris -nic user,model=virtio-net-pci,id=nic0,smb=/laluan-penuh-ke-direktori-dikongsi adalah untuk mendapatkan rangkaian internet berserta kemudahan berkongsi direktori / fail di antara kedua-dua sistem.Driver ③ |
|
-drive pertama dengan media berformat disk sebagai tempat simpanan sistem operasi dan data serta enable virtio sebagai driver.
|
|
-drive kedua merujuk kepada fail ISO bagi memasang sistem Windows, media berformat cdrom .
|
|
-drive ketiga untuk load CDROM virtio yang diperolehi dari repositori Fedora seperti yang dijelaskan di atas. Ia diperlukan untuk load driver ketika pemasangan.
|
|
-daemonize untuk jalankan QEMU dalam mod daemon.
|
Jika hanya untuk eksperimentasi di VM, pilih sahaja I don't have a product key
semasa pemasangan. Sistem tetap dapat dipasang malahan boleh dikemaskini.
Rangkaian Internet masih belum bersambung sewaktu proses pemasangan. Untuk itu, perlu log masuk dengan memilih I don't have Internet
Continue with limited setup
.
❗ PENTING ❗
Apabila pemasangan sudah siap dan driver untuk Ethernet Controller
yang boleh didapati dari CD virtio-win (NetKVM)
bagi tujuan mendapatkan sambungan Internet juga sudah dikemaskini, buka aplikasi Microsoft Edge
untuk muat turun spice-guest-tools-latest.exe dan pasang ia di sistem tetamu (Windows).