# Installation via QEMU

Consider how to install Windows on any dedicated server with any processor that supports KVM.

First we need to start the server in Resque mode. Login.

Go to `/tmp` directory:

```
cd /tmp
```

Download vKVM software:

<pre><code><strong>wget https://mirror.spacecore.info/software/vkvm-latest.tar.gz &#x26;&#x26; tar xvf vkvm-latest.tar.gz
</strong></code></pre>

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FR8cUttWwaYPikVZGU7KI%2Fimage.png?alt=media&#x26;token=11ac469a-35d7-4705-9d99-aaf1fc827df1" alt="" width="375"><figcaption></figcaption></figure>

Download the OS image we need:

```
wget https://mirror.spacecore.info/os/windows/Windows_10_x64_1909.iso
```

{% hint style="info" %}
A full list of operating systems can be found on our mirror: <https://mirror.spacecore.info/os/>
{% endhint %}

Next, run the software:

```
/tmp/qemu-system-x86_64 -net nic -net user,hostfwd=tcp::3389-:3389 -m 10000M -localtime -enable-kvm -cpu core2duo,+nx -smp 2 -usbdevice tablet -k en-us -cdrom Windows_10_x64_1909.iso -hda /dev/nvme0n1 -vnc :1 -boot d
```

{% hint style="warning" %}
After the argument  «-cdrom» you need to specify the name of your OS image. And after «-hda» - the name of the disk on which you will install.
{% endhint %}

{% hint style="warning" %}
If you encounter a gender error: «cannot set up guest memory 'pc.ram': Cannot allocate memory»

Its solution will be to change the parameter «-m 10000M» to MegaBaite value, which is available in your system.
{% endhint %}

{% hint style="success" %}
If the command succeeds, there will be no response and the KVM process will start in the active window.
{% endhint %}

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FKs5R8ozTrV2kuKSA0u4f%2Fimage.png?alt=media&#x26;token=54cca031-54c4-4e91-b87f-a4294d02bb0e" alt=""><figcaption></figcaption></figure>

Next, we install and run [UltraVNC](https://uvnc.com/downloads/ultravnc.html). In it we enter in the input field the address of our server + port «1» in the format: «IP:1».

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2F8Q2d6Fbc3hhRaOCYgIya%2Fimage.png?alt=media&#x26;token=8e4517c0-a584-4f78-bce3-461380631aa4" alt=""><figcaption></figcaption></figure>

Connect to the server and start the process of installing **Windows**:

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FUMPbGYO3xTB2XVvNQ12r%2Fimage.png?alt=media&#x26;token=ce98b33f-3245-4e78-b389-879a7df2d182" alt=""><figcaption></figcaption></figure>

Next we create partitions and install the OS on the main drive with sufficient memory.

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FlDWs4TvRS1U8srORurEJ%2Fimage.png?alt=media&#x26;token=471d7de8-9bf2-4fa0-8a8d-9854b7a6e475" alt=""><figcaption></figcaption></figure>

After the primary installation is complete, proceed to user configuration. The first step is to specify a name.

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FlF0MECYS2qkH8JSPpKca%2Fimage.png?alt=media&#x26;token=3b40b695-f154-447f-b195-67601d616edf" alt=""><figcaption></figcaption></figure>

And then the user password.

{% hint style="warning" %}
The password must be specified, otherwise you will not have access to the **RDP**.
{% endhint %}

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2F0QRIfsGLqwk5Rsl2PJhO%2Fimage.png?alt=media&#x26;token=071d7692-3f4c-4857-94e5-6ecadfcbe7e3" alt=""><figcaption></figcaption></figure>

Once the installation is fully completed, we need to go to the Windows Firewall settings and disable it completely to avoid connection blockages.

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FShtPijxTDZZNzJIUrxQO%2Fimage.png?alt=media&#x26;token=09048765-d6c0-4dca-b9e3-b6febd1e88cf" alt=""><figcaption></figcaption></figure>

Next, you need to enable Windows Remote Access (RDP) in the appropriate settings.

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FA2UdfcxK2qH6tKcUc1N3%2Fimage.png?alt=media&#x26;token=a73e1283-5faf-4265-8cfc-627a021ad226" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
And also do not forget to remove the tick from the «‎Allow connections only...».
{% endhint %}

Saving the changes. Then turn off our Windows.

{% hint style="info" %}
When the OS shuts down, the vKVM process stops on our host server
{% endhint %}

Now we load our dedicated server from the main disk on which Windows has been installed and connect using the created account.

<figure><img src="https://287241268-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyXvdNIxNLIOcexv7AfU2%2Fuploads%2FJNToANmeQfSRZNIbDUoV%2Fimage.png?alt=media&#x26;token=51ddaf39-2c76-4adf-b97e-0e7b2b288335" alt=""><figcaption></figcaption></figure>
