I have been working on a project where I need to send logs from Python logger to logstash so I can visualize the logs later using Kibana. Instead of setting up elasticsearch with logstash and kibana on my local workstation, I decided to setup a virtual machine running the complete stack. I have been using Virtualbox on my Ubuntu workstation and pretty happy with it. To make life easier, I put together a vagrant script to spin off VM running the elasticsearch stack so that I can share it work other developers working on the same project.
With release of Windows Server 2008, Micrsoft Windows team made some major improvements to overall architecture to make Windows operating system more stable, secure and reliable. Keeping the Windows 2003 tradition alive, Microsoft ships Windows 2008 in four versions – Web Server, Standard, Enterprise and Datacenter. But one major feature addition to 2008 is the ability to do the minimal installation of Windows 2008 without any graphical utilities which most of the admins don’t need. This feature is known as “Server Core” and its basically provides a minimal environment for running a specific server role. Admins can select to perform Server Core installation during the Windows 2008 installation. The result will be a stripped down installation of Windows without any traditional components installed such as desktop shell, GUI, Windows Explorer, IE and other MMC which otherwise get installed while doing full installation. With Server Core installation, all the management and configuration tasks will be performed using command line utilities.
You must be thinking, why would someone use the Server Core installation? Everything to be configured from command line…. that sounds like going back to era of DOS? Well, there are multiple advantages when using Server Core:
- Reduced maintenance
- Reduced attack surface
- Reduced management
- Less disk space required for installation as footprint is very small
Have you ever been into situation when you wish Windows can install the drivers for you hard disk drive controller from USB flash drive or network instead of Floppy Disk Drive which are becoming obsolete day by day. Well, I been into those situations where I need to provide SATA RAID controller drivers for my PC which unfortunately doesn’t have old fashioned ATA floppy disk drive. And even though I can use USB floppy disk drive to provide the drivers during first stage (text based) Windows installer, it will refuse to use the same drivers from USB floppy disk drive during second stage (Graphical based) installer. I started searching as how I can work around to this problem and one of the method which I came across is called slip-streaming. Basically slip-streaming means customizing the Windows install CDs.
Now there are number of other reasons for customizing install CDs other than just adding custom drivers to it. These include adding latest service packs to install CD, including custom softwares, automating the installation where you don’t have to enter Name, Company Name, CD Keys etc manually. This is very helpful if you manage multiple PCs or have test lab environment where you need to re-install Windows again and again and you wish that you don’t have to sit in front of monitor during the installation.
There are number of ways you can do slip-streaming and most of it includes copying files here and there and changing some INI files to include your custom drivers or automating installation. But as always, easiest and simplest method is to have some kind of GUI tool to do all of this for you. Many thanks to Dino Nuhagic, who created Windows based tool to do exactly this and its called nLite (http://www.nliteos.com). You can download this powerful tool from http://www.nliteos.com/download.html.
So, lets get started and customize that Windows installation CD of yours. nLite can customize any release of Windows 2000, Windows XP and Windows 2003. If you want to customize Windows Vista, than you will need vLite (http://www.vlite.net/). In this tutorial, I will be customizing Windows 2003 Standard R2 so all the screenshots and steps are related to nLite.