Pemasangan Windows di Mesin Maya

Dengan QEMU/KVM


geeky stuff
#Windows | #QEMU | #KVM
DITULIS SEMULA SEBAGAI PENAMBAH BAIK.


Merata-rata mencari pelbagai sumber rujukan demi membolehkan perkara-perkara yang saya hajati berikut:-

  1. Pemasangan melalui QEMU/KVM secara manual.
  2. Penting perkara di atas ini kerana mahu set up samba untuk perkongsian direktori / fail.
    Satu-satunya kaedah untuk berkongsi direktori / fail apabila menggunakan aplikasi GUI virt-manager / virt-viewer melalui Spice WEBDAV Daemon adalah tidak stabil bagi saya. Disebabkan itu, saya beralih kepada kaedah manual ini yang membenarkan opsyen medium kepada samba.
  3. Dan dalam masa yang sama, boleh set up Spice Client untuk:-
    1️⃣    paparan skrin yang sama sebiji sebagaimana boot sistem sebenar di luar VM; Sharp dan cantik.
    2️⃣    prestasi juga lebih pantas.
    3️⃣    penggunaan clipboard bagi kemudahan menyalin di antara sistem hos dan tetamu.


Saya sudah mencuba untuk Windows 10 juga. Sama sahaja caranya. Tiada yang berubah. Perbezaan disedari hanya terdapat pada User Interface sahaja [ tidak terhad kepada penampilan (appearance) dan penetapan (settings) ].


Hantaran kali ini berkisar pemasangan Windows di mesin maya. Walaupun hantaran Bahagian 2 untuk pembinaan aplikasi web menggunakan MySQL dan PHP masih belum siap-siap lagi. 😒

Tak ada mood betul nak menaip panjang-panjang fikir ayat penerangan padahal web-nya dah lama siap dan berfungsi. Sat nanti dah ada mood akan kusiapkan jugalah.

Apa pun sebenarnya komputer riba ini memang dah dual-boot dengan Windows 8.1. Tapi disebabkan sistem operasi utama yang digunakan adalah Arch Linux, terasa renyahnya nak bertukar-tukar sistem bila ada keperluan untuk menggunakan Windows.

Jadinya solusi kepada permasalahan itu adalah menyediakan mesin maya atau bahasa teknologinya Virtual Machine-lah (VM)!

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.

Set up Windows ini memerlukan lesen Windows yang sah ya! Bukan main taram pakai crack punya. Saya pakai yang memang dah tersedia ada semasa beli komputer riba ini. Dah memang masuk sekali-kan semasa beli. Jadinya guna yang sedia ada-lah. Lesen kekunci sah untuk diaktifkan ini boleh digunakan untuk pemasangan di mesin maya juga sebab penggunaannya tidak serentak.

Ya-lah, dah sekarang sedang menggunakan sistem operasi Linux, bagaimana pula mahu on sistem operasi Windows dalam masa yang sama, kan?

Walaubagaimanapun, hal ini tertakluk kepada jenis lesen bagi kekunci produknya juga. Terdapat lesen yang boleh dipindahmilik ke peranti lain; dan ada juga lesen yang sekali kekuncinya sudah diaktifkan, ia tidak dapat dipindahmilik ke / diaktifkan di peranti lain lagi.

Kalau betul-betul perlu, carilah lesen OEM yang dijual oleh penjual-penjual bertauliah. Biasanya murahlah sedikit berbanding jika beli secara langsung dari Microsoft. Lesen kekunci yang terlalu murah tak masuk akal (contoh harga RM 5) itu selalunya dari lesen volume yang dijual secara haram walaupun kekuncinya sah.

Khusus bagi Windows 10: Jika hanya untuk eksperimentasi di VM, pilih sahaja "I don't have a product key" semasa pemasangan. Sistem tetap dapat dipasang malahan boleh dikemaskini. Cuma terdapat limitasi dalam sebahagian perkara e.g. tidak dapat menukar tetapan untuk paparan desktop mengikut cita rasa dan sebagainya.

Baiklah. Seperti biasa, rujukan paling digemari adalah ArchWiki. Sebenarnya rujuk ArchWiki itu sahaja dah mencukupi. 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.

Kemudian, sebelum mula proses pemasangan, dapatkan dahulu virtio drivers dalam bentuk fail ISO yang boleh dimuatturun dari repositori Fedora.

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:-

  1. Saya cipta imej cakera maya (virtual disk) bagi Windows dengan format qcow2 yang akan memakan ruang cakera mengikut jumlah sebenar digunakan. Saiz ruang maksimum ditetapkan adalah 50GiB.
    qemu-img create -f qcow2 windows.img 50G
  2. Mula load VM untuk pemasangan Windows dengan:-
    qemu-system-x86_64 -enable-kvm \
        -machine type=q35,vmport=off,usb=on \
        -m 4G -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
        -device intel-hda -device hda-duplex \
        -usb -device usb-tablet \
        -vga std \
        -display default,show-cursor=on \
        -drive file=/laluan-ke-windows.img,index=0,media=disk,if=virtio \
        -drive file=/laluan-ke-Win10_20H2_English_x64.iso,index=1,media=cdrom \
        -drive file=/laluan-ke-virtio-win-0.1.185.iso,index=2,media=cdrom \
        -boot order=d

  3. BarisKeterangan
    1qemu-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.
    2-machine type=q35 untuk chipset moden.
    vmport=off untuk menutup VMWare IO port emulation.
    usb=on diambil dari penerangan yang terdapat di Deprecated features:-
    " -usbdevice (since 2.10.0)
    The -usbdevice DEV argument is now a synonym for setting the -device usb-DEV argument instead. The deprecated syntax would automatically enable USB support on the machine type. If using the new syntax, USB support must be explicitly enabled via the -machine usb=on argument. "
    3-m 4G merujuk kepada jumlah RAM dalam GiB yang diperuntukkan kepada VM serta command -cpu sebagaimana terdapat pada Tips and Tricks di ArchWiki.
    4pilihan -device intel-hda -device hda-duplex untuk audio sekiranya perlu kepada penggunaan aplikasi yang melibatkan audio. Penegasan di sini bahawa opsyen ini perlu semasa pemasangan kerana seandainya tidak disertakan, driver virtio tidak akan mengesan dan memasang driver audio ini.
    5-usb -device usb-tablet untuk integrasi tetikus, Mouse Integration.
    6-vga std untuk paparan biasa. Pusingan kedua nanti baru load grafik qxl. Ada justifikasi-nya kenapa belum load -vga qxl di sini, kerana ia memerlukan opsyen tambahan yang akan membantutkan pemasangan auto bagi kesemua drivers yang perlu untuk sistem oleh CDROM virtio.
    7show-cursor=on untuk mengatasi isu cursor tak kelihatan. No visible Cursor.
    8-drive pertama dengan media berformat disk sebagai tempat simpanan sistem operasi dan data serta enable virtio sebagai driver yang membenarkan hos untuk berkongsi terus rangkaian internet dengan sistem tetamu. Pastikan sistem hos memang sudah mempunyai Internet sedia terhubung sebelum menjalankan operasi ini ya?
    9-drive kedua merujuk kepada fail ISO bagi memasang sistem Windows, media berformat cdrom.
    10-drive ketiga untuk load CDROM virtio yang diperolehi dari repositori Fedora seperti yang dijelaskan di atas. Ia diperlukan untuk load driver ketika pemasangan.
    11Susunan boot. Boleh juga digantikan dengan -boot menu=on, tetapi proses boot-nya jadi lambat bagi saya.


    ❗ PENTING ❗
    Apabila pemasangan sudah siap, buka aplikasi Microsoft Edge atau Internet Explorer untuk muat turun spice-guest-tools-latest.exe dan pasang ia di sistem tetamu (Windows).


    Contoh : Video lama. Belum ada keingininan/kelapangan untuk kemas kini.
  4. Kemudian, bolehlah shut down dahulu dan kemudian jalankan baris perintah untuk paparan qxl yang tepat serta membolehkan penyalinan (clipboard) melalui agen / alat untuk tetamu spice yang telah dipasang tadi; bersama baris perintah untuk membenarkan perkongsian folder dari hos / tetamu kepada tetamu / hos dengan samba.
    qemu-system-x86_64 -enable-kvm \
        -machine type=q35,vmport=off,usb=on \
        -m 4G -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time \
        -device intel-hda -device hda-duplex \
        -device virtio-balloon \
        -usb -device usb-tablet \
        -vga qxl -device virtio-serial-pci \
        -display spice-app,show-cursor=on \
        -spice port=5900,disable-ticketing \
        -chardev spicevmc,id=spicechannel0,name=vdagent \
        -device virtserialport,chardev=spicechannel0,name=com.redhat.spice.0 \
        -daemonize \
        -drive file=/laluan-ke-windows.img,if=virtio \
        -net nic -net user,smb=/laluan-penuh-ke-direktori-dikongsi \
        -boot order=c

  5. Penerangan untuk baris ke-7 (-vga qxl) sehingga ke-12 (-net nic) daripada perintah di atas:

    • grafik qxl memberikan paparan skrin yang tepat.
    • -device virtio-serial-pci mesti disertakan sekali. Jika tidak, ralat yang merencatkan pelaksaan qemu akan berlaku.
    • Baris-baris seterusnya saya dapatkan melalui pembacaan dari beberapa sumber yang ada saya nyatakan di bawah halaman ini. Seandainya -display spice-app tidak membuka tetingkap Remote Viewer seperti dalam foto ini secara spontan, boleh cuba sama ada;
      1. Tentukan konfigurasi melalui fail mimeapps.list; atau
      2. Jalankan perintah remote-viewer spice://127.0.0.1:5900 di terminal selepas baris perintah di atas dijalankan.
    • -daemonize untuk jalankan QEMU dalam mod daemon.

    Baris ke-14 -net nic -net user,smb=/laluan-penuh-ke-direktori-dikongsi adalah untuk kemudahan berkongsi direktori / fail di antara kedua-dua sistem.
    Ambil perhatian, wajib quote laluan penuh ke direktori perkongsian selepas baris smb= ini, e.g. /home/pengguna/nama-direktori. Jika tidak, penambahan lokasi rangkaian di sistem tetamu akan menemui kegagalan.


    Contoh : Video lama. Belum ada keingininan/kelapangan untuk kemas kini.
    Folder yang dikongsi boleh dicapai dengan menambah lokasi network di alamat \\10.0.2.4\qemu. Hah, boleh-lah nak install Microsoft Office melalui fail ISO yang telah diekstrak ke dalam shared folder itu.


Selesai sudah penerangan bagi tujuan ini.

Terpaksa tarik balik kata-kata di bawah. Sebabnya... Selepas berjaya bereksperimentasi dengan opsyen-opsyen di atas, masya-Allah! Deras sungguh pergerakannya. Terasa bagai mahu menyanyi-nyanyi memuji kebesaran Ilahi sudah haa...! Tiada lagi tersekat-sekat. Siap boleh buka dan mainkan video di YouTube! Mula-mula cemas juga sebab walaupun nampak driver audio terpasang dengan jayanya, tapi bila buka YouTube tak keluar apa-apa suara pun! Rupa-rupanya, konfigurasi spice secara am-nya berhubung dengan pulseaudio. Jadinya, terpaksa tukar konfigurasi bunyi; daripada cara manual kepada pulseaudio yang boleh kesan alsa secara auto, yah! Begitulah. Dah malas nak sakit kepala. Guna saja mana-mana yang berfungsi sebaiknya.


Tapi tapi tapi!

Ada perkara yang tak seronok nak ditambah.

Kalian, kalau mahu set up mesin maya di dalam peranti komputer kalian, selain daripada memiliki memori RAM yang besar, sila pastikan processor dan cores sistem kalian berkuasa tinggi dan banyak ya! (sebaiknya cores lebih daripada 2). Hah, apa sebab?

Sebab…

Kalau pakai komputer riba bajet seperti saya punya ni, alamatnya hang dan crash-lah sistem di mesin maya tu! Nak mainkan lagu di pemain media pun sangkut teruk tau! 😭


Boleh buat carian atau rujuk hantaran yang saya sertakan pautan-nya di bahagian Rujukan di bawah untuk kajian dan pengetahuan lanjut ya!

Sekian sahaja perkongsian kali ini. Selamat tinggal.



Kali terakhir halaman ini dikemaskini/disemak semula adalah pada .
Top