Code Monkey home page Code Monkey logo

windows-ova's Introduction

Self-Installing Windows OVA & ISO

because I can't distribute Windows

Overview

OVA

This is an Virtual Machine in OVA format that will install Windows on top of itself. I wrote this as an alternative to packer. This OVA basically downloads the evaluation version of the Windows version you select to one drive as installation media and then installs onto the primary drive. After this is done, the smaller secondary drive can be discarded to save disk space. If the default size of the primary drive is not large enough, it should be resized BEFORE booting the OVA for the first time.

ISO

This is an ISO to be used with packer to fully automate a Windows install in a VM environment like proxmox. This should be used as the secondary boot source, behind the primary drive. VMs that use this ISO should also have two drives, two cpus, and two gigabytes of memory. There's some packer templates provided in the release for the ISO.

windows 10

Customizing

This OVA supports being repackaged with an ISO for further customization. Simply add at least one file, install.cmd to an iso and attach it before booting the OVA for the first time. The system will boot up, and copy the contents of the iso to the secondary drive, display a message to the user upon success, then shutdown. The VM can be exported as a OVA now for redistribution.

Contents for an example iso are in the iso/ directory. There is also a Makefile target for building this iso, example.iso.

install.cmd

This is simply run at first login after install. Place things in here like silent installation instructions for programs either off the same iso or downloaded from the internet.

variables.txt

This file should set at least one variable.

version

This should be one of the following keys:

key Version
win2k16 Windows 2016 Standard
win10-64 Windows 10 64-bit
win10-32 Windows 10 32-bit
win2k12r2 Windows 2012 R2 Standard
win81-64 Windows 8.1 64-bit
win81-32 Windows 8.1 32-bit
win8-64 Windows 8 64-bit
win8-32 Windows 8 32-bit
win2k8r2 Windows 2008 R2 Standard
win7-64 Windows 7 64-bit
win7-32 Windows 7 32-bit

localmirror

This should be the absolute address of a local mirror for ISOs. It can also be "none" for no mirror and no prompt. This allows truly unattended installation.

Example variables.txt

version=win10-64
localmirror=http://192.168.0.1/isos/

Autounattend.xml

If this file is present on the ISO, in a directory named for the version key being installed, it will be used instead of an Autounattend.xml from the boxcutter project. One gotcha is how Windows 7 and Windows 2008 think the install media is DriveID 0 and the actual "C" drive is DriveID 1. Keep that in mind when crafting answer files for these versions.

Building

To build this, start with a debian system and install virtualbox and the following:

apt-get install fakeroot multistrap debian-archive-keyring rsync mtools
genisoimage qemu-img dosfsutils

windows-ova's People

Contributors

brimstone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

windows-ova's Issues

7 64 bit

the links are no more existing, You still have a local copy of the windows 7 64 bit? the Microsoft developer VMs are all 32 bit except for windows 10

add qemu to depends

add qemu to depends

Success.
qemu-img resize c.img 107374182400
make: qemu-img: Command not found
Makefile:33: recipe for target 'c.vmdk' failed
make: *** [c.vmdk] Error 127

add dosfsutils to dependencies

Makefile:33: recipe for target 'c.vmdk' failed
make: [c.vmdk] Error 1 (ignored)
/sbin/mkfs.vfat -C c.img -F 32 "$(du -s c | awk '{print $1 + 10000}')"
/bin/sh: 1: /sbin/mkfs.vfat: not found
Makefile:33: recipe for target 'c.vmdk' failed
make: *** [c.vmdk] Error 127

On Debian, mkfs.vfat is provided by dosfsutils

Thanks!

missing keyring on ubuntu xenial

E: There were unauthenticated packages and -y was used without --allow-unauthenticated
apt download failed. Exit value: 100
Makefile:10: recipe for target 'c/initramfs.gz' failed
make: *** [c/initramfs.gz] Error 100

apt-get install debian-archive-keyring resolved

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.