diff --git a/readme.md b/readme.md index bb17532..ea5b388 100644 --- a/readme.md +++ b/readme.md @@ -49,148 +49,148 @@ docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-ti ## FAQ - * ### How do I use it? +* ### How do I use it? - Very simple! These are the steps: - - - Start the container and connect to [port 8006](http://localhost:8006) using your web browser. + Very simple! These are the steps: + + - Start the container and connect to [port 8006](http://localhost:8006) using your web browser. - - Sit back and relax while the magic happens, the whole installation will be performed fully automatic. + - Sit back and relax while the magic happens, the whole installation will be performed fully automatic. - - Once you see the desktop, your Windows installation is ready for use. - - Enjoy your brand new machine, and don't forget to star this repo! + - Once you see the desktop, your Windows installation is ready for use. + + Enjoy your brand new machine, and don't forget to star this repo! - * ### How do I select the Windows version? +* ### How do I select the Windows version? - By default, Windows 11 will be installed. But you can add the `VERSION` environment variable to your compose file, in order to specify an alternative Windows version to download: + By default, Windows 11 will be installed. But you can add the `VERSION` environment variable to your compose file, in order to specify an alternative Windows version to download: - ```yaml - environment: - VERSION: "win11" - ``` + ```yaml + environment: + VERSION: "win11" + ``` - Select from the values below: - - | **Value** | **Description** | **Server** | **Transfer** | **Size** | - |---|---|---|---|---| - | `win11` | Windows 11 Pro | Microsoft | Fast | 6.4 GB | - | `win10` | Windows 10 Pro | Microsoft | Fast | 5.8 GB | - | `ltsc10` | Windows 10 LTSC | Microsoft | Fast | 4.6 GB | - | `win81` | Windows 8.1 Pro | Microsoft | Fast | 4.2 GB | - | `win7` | Windows 7 SP1 | Bob Pony | Medium | 3.0 GB | - |||||| - | `win22` | Windows Server 2022 | Microsoft | Fast | 4.7 GB | - | `win19` | Windows Server 2019 | Microsoft | Fast | 5.3 GB | - | `win16` | Windows Server 2016 | Microsoft | Fast | 6.5 GB | - |||||| - | `core11` | Tiny 11 Core | Archive.org | Slow | 2.1 GB | - | `tiny11` | Tiny 11 | Archive.org | Slow | 3.8 GB | - | `tiny10` | Tiny 10 | Archive.org | Slow | 3.6 GB | - - * ### How do I increase the amount of CPU or RAM? + Select from the values below: + + | **Value** | **Description** | **Server** | **Transfer** | **Size** | + |---|---|---|---|---| + | `win11` | Windows 11 Pro | Microsoft | Fast | 6.4 GB | + | `win10` | Windows 10 Pro | Microsoft | Fast | 5.8 GB | + | `ltsc10` | Windows 10 LTSC | Microsoft | Fast | 4.6 GB | + | `win81` | Windows 8.1 Pro | Microsoft | Fast | 4.2 GB | + | `win7` | Windows 7 SP1 | Bob Pony | Medium | 3.0 GB | + |||||| + | `win22` | Windows Server 2022 | Microsoft | Fast | 4.7 GB | + | `win19` | Windows Server 2019 | Microsoft | Fast | 5.3 GB | + | `win16` | Windows Server 2016 | Microsoft | Fast | 6.5 GB | + |||||| + | `core11` | Tiny 11 Core | Archive.org | Slow | 2.1 GB | + | `tiny11` | Tiny 11 | Archive.org | Slow | 3.8 GB | + | `tiny10` | Tiny 10 | Archive.org | Slow | 3.6 GB | + +* ### How do I increase the amount of CPU or RAM? - By default, 2 CPU cores and 4 GB of RAM are allocated to the container, as those are the minimum requirements of Windows 11. + By default, 2 CPU cores and 4 GB of RAM are allocated to the container, as those are the minimum requirements of Windows 11. - To increase this, add the following environment variables: + To increase this, add the following environment variables: - ```yaml - environment: - RAM_SIZE: "8G" - CPU_CORES: "4" - ``` + ```yaml + environment: + RAM_SIZE: "8G" + CPU_CORES: "4" + ``` - * ### How do I change the size of the disk? +* ### How do I change the size of the disk? - To expand the default size of 64 GB, add the `DISK_SIZE` setting to your compose file and set it to your preferred capacity: + To expand the default size of 64 GB, add the `DISK_SIZE` setting to your compose file and set it to your preferred capacity: - ```yaml - environment: - DISK_SIZE: "256G" - ``` - - This can also be used to resize the existing disk to a larger capacity without any data loss. - - * ### How do I change the storage location? + ```yaml + environment: + DISK_SIZE: "256G" + ``` + + This can also be used to resize the existing disk to a larger capacity without any data loss. + +* ### How do I change the storage location? - To change the storage location, include the following bind mount in your compose file: + To change the storage location, include the following bind mount in your compose file: - ```yaml - volumes: - - /var/win:/storage - ``` + ```yaml + volumes: + - /var/win:/storage + ``` - Replace the example path `/var/win` with the desired storage folder. + Replace the example path `/var/win` with the desired storage folder. - * ### How do I perform a manual installation? +* ### How do I perform a manual installation? - It's best to use the automatic installation, as it optimizes various settings for use with this container. + It's best to use the automatic installation, as it optimizes various settings for use with this container. - However, if you insist on performing the installation manually, start a clean container with the following environment variable: + However, if you insist on performing the installation manually, start a clean container with the following environment variable: - ```yaml - environment: - MANUAL: "Y" - ``` + ```yaml + environment: + MANUAL: "Y" + ``` - Then follow these steps: + Then follow these steps: - - Start the container and connect to [port 8006](http://localhost:8006) of the container in your web browser. After the download is finished, you will see the Windows installation screen. + - Start the container and connect to [port 8006](http://localhost:8006) of the container in your web browser. After the download is finished, you will see the Windows installation screen. - - Start the installation by clicking `Install now`. On the next screen, press 'OK' when prompted to `Load driver` and select the `VirtIO SCSI` driver from the list that matches your Windows version. So for Windows 11, select `D:\amd64\w11\vioscsi.inf` and click 'Next'. + - Start the installation by clicking `Install now`. On the next screen, press 'OK' when prompted to `Load driver` and select the `VirtIO SCSI` driver from the list that matches your Windows version. So for Windows 11, select `D:\amd64\w11\vioscsi.inf` and click 'Next'. - - Accept the license agreement and select your preferred Windows edition, like Home or Pro. + - Accept the license agreement and select your preferred Windows edition, like Home or Pro. - - Choose `Custom: Install Windows only (advanced)`, and click `Load driver` on the next screen. Select 'Browse' and navigate to the `D:\NetKVM\w11\amd64` folder, and click 'OK'. Select the `VirtIO Ethernet Adapter` from the list and click 'Next'. + - Choose `Custom: Install Windows only (advanced)`, and click `Load driver` on the next screen. Select 'Browse' and navigate to the `D:\NetKVM\w11\amd64` folder, and click 'OK'. Select the `VirtIO Ethernet Adapter` from the list and click 'Next'. - - Select `Drive 0` and click 'Next'. + - Select `Drive 0` and click 'Next'. - - Wait until Windows finishes copying files and completes the installation. + - Wait until Windows finishes copying files and completes the installation. - - Once you see the desktop, open File Explorer and navigate to the CD-ROM drive (E:). Double-click on `virtio-win-gt-x64.msi` and proceed to install the VirtIO drivers. + - Once you see the desktop, open File Explorer and navigate to the CD-ROM drive (E:). Double-click on `virtio-win-gt-x64.msi` and proceed to install the VirtIO drivers. - Enjoy your brand new machine, and don't forget to star this repo! + Enjoy your brand new machine, and don't forget to star this repo! - * ### How do I install a custom image? +* ### How do I install a custom image? - In order to download a custom ISO image, start a clean container with the URL specified in the `VERSION` environment variable: - - ```yaml - environment: - VERSION: "https://example.com/win.iso" - ``` + In order to download a custom ISO image, start a clean container with the URL specified in the `VERSION` environment variable: + + ```yaml + environment: + VERSION: "https://example.com/win.iso" + ``` - Alternatively, you can also rename a local file to `custom.iso` and place it in an empty `/storage` folder to skip the download. + Alternatively, you can also rename a local file to `custom.iso` and place it in an empty `/storage` folder to skip the download. - * ### How do I pass-through a disk? +* ### How do I pass-through a disk? - It is possible to pass-through disk devices directly by adding them to your compose file in this way: + It is possible to pass-through disk devices directly by adding them to your compose file in this way: - ```yaml - environment: - DEVICE: "/dev/sda" - DEVICE2: "/dev/sdb" - devices: - - /dev/sda - - /dev/sdb - ``` + ```yaml + environment: + DEVICE: "/dev/sda" + DEVICE2: "/dev/sdb" + devices: + - /dev/sda + - /dev/sdb + ``` - Use `DEVICE` if you want it to become your main drive, and use `DEVICE2` and higher to add them as secondary drives. - - * ### How do I verify if my system supports KVM? + Use `DEVICE` if you want it to become your main drive, and use `DEVICE2` and higher to add them as secondary drives. + +* ### How do I verify if my system supports KVM? - To verify if your system supports KVM, run the following commands: + To verify if your system supports KVM, run the following commands: - ```bash - sudo apt install cpu-checker - sudo kvm-ok - ``` + ```bash + sudo apt install cpu-checker + sudo kvm-ok + ``` - If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS. + If you receive an error from `kvm-ok` indicating that KVM acceleration can't be used, check the virtualization settings in the BIOS. - * ### Is this project legal? +* ### Is this project legal? - Yes, this project contains only open-source code and does not distribute any copyrighted material. Neither does it try to circumvent any copyright protection measures. So under all applicable laws, this project would be considered legal. + Yes, this project contains only open-source code and does not distribute any copyrighted material. Neither does it try to circumvent any copyright protection measures. So under all applicable laws, this project would be considered legal. ## Disclaimer