Install OS over network [closed]

Single OS Methods

There are different methods depending on the operating system you are attempting to install

  • Windows Windows Automated Installation Kit (Windows AIK)
  • RHEL Chapter 3. PXE Network Installations
  • Ubuntu 4.6. Automatic Installation
  • FreeBSD Remote Installation of the FreeBSD Operating System Without a Remote Console
  • OS X OS X Server: Creating a single NetBoot, NetInstall or NetRestore image for multiple Macs

Multi-Boot Gold Image Method

I am responsible for a group that amongst it's responsibilities maintains a couple hundred similar machines that have the following requirements:

  1. They are updated at the same time
  2. They are updated quarterly
  3. Downtime should be minimized
  4. They dual boot between a current Windows and Linux distro
  5. They have about 500GB of software installed

The method that we use is a Gold Image method, with a IGMP multicast/IP session management layer. A simplified version of our gold image setup and deployment is as follows

  1. Install Windows, Enter Audit Mode at user setup.
  2. Perform updates, and install software, Ninite, Secunia PSI (at home), or CSI at work, and Redmond App Manager (full disclosure, I am one of the authors) can be helpful.
  3. Use sysprep to enter generalized OOBE, and reboot to linux install
  4. Install Linux (we use Ubuntu at the moment)
  5. Install GPXE (so we can remotely force machines to PXE boot)
  6. We PXE boot all couple hundred machines to UDPCast and send from the gold image machine

Image pushing options

The following are some solutions other than UDPCast that could work

  • Ghost
  • Clonezilla
  • Acronis True Image
  • FOG
  • Netcat, lzop (if your network is slower than disk), dd, tee, full duplex networking

Configuration Management

Were it not for our constraints, multiboot, and imaging 500GB to 200 machines all at once, in a short period of time, we would deploy a minimal OS configured with a configuration management solution. Some options you might look at are

  • CFengine
  • Puppet
  • Chef
  • Salt Stack
  • Ansible

You can automatically network install/boot multiple OSs (Windows and Linux) with Serva

Serva automatically creates a repository structure that you have to populate by copying the content of your OS distribution ISOs, Serva takes care of all the background processes and when you boot a network client (PXE client) you will see a menu with all your OSs ready to network install.

Serva implements all the required network protocols specially proxyDHCP; this protocol let you integrate a network boot environment without touching the already in place DHCP infrastructure. (I'm related to Serva development)

(Edit)

If you want to install images on identical hardware you can also consider FOG.

If you want to install only Microsoft you can use WDS/MDT/SCCM but the learning curve is steep.

If you are more oriented to Linux distributions unfortunately eachone has a different PXE approach what makes a multi OS PXE server hard to mantain manually.


You can install Windows OS's over networks in one of two ways:

For home/small organizations, you can use Windows AIK (Automatic Installation Kit), this not only lets you install an OS from a network location, it also lets you completely automate the procedure with an XML file called an answer file. It's not the easiest thing to get working and some command like knowledge and basic understanding of its function are necessary.

For large organizations, there is a Windows Server role called WDS (Windows Deployment Services) which brings Windows AIK into a server environment, you can store, sort and catalogue multiple OS images, driver packages and answer files in a neat GUI, this also used PXE so there is no need for any physical media (at all, not even the AIK CD), all the machine needs is a network connection that can reach the WDS server.