Matt's step-by-step guide to dual booting Windows 8 Developer Preview alongside Windows 7:
Items you will need:
- USB Drive (I used a 20GB Maxtor inside an IDE to USB enclosure)
- Existing Windows 7 installation on a laptop/desktop
Create a partition to install Windows 8 onto:
- Start > right-click on Computer > Manage
- Go to Disk Management
- Locate the partition that Windows 7 is installed on
- Right-click and you should get the option to Shrink Volume
- Choose a new volume size, to allow you at least 20GB of free space for Windows 8
- Confirm and wait a few minutes for the Volume to be resized
- You can now righ-click on the new unallocated space and create a new Volume
- Assign it a drive letter, name it and format it to NTFS (Quick)
With the partition created, it's onto setting up Windows 8 on the USB drive:
- Download the relevant ISO (preferably 64-bit with Developer Tools)
- Download 7Zip (free, open-source, highly recommended)
- Extract the ISO file to the same place you downloaded it to
- Format your USB drive to NTFS
- Copy the contents of the extract ISO to your USB drive
- Open a command prompt (Start > Run > cmd)
- Navigate to the folder you extracted the ISO (e.g. cd \Users\Matt\Downloads\Windows8)
- Navigate further to the boot folder (e.g. cd \boot) within the extracted ISO
- Run the command "bootsect.exe /nt60 E:" where E: is the drive letter of your recently formatted USB drive
You will now have a partition to install Windows 8 onto and a USB drive with the Windows 8 ISO contents on, ready for installation.
The next stage is relatively easy:
- Restart your computer
- Hit F2/DEL to enter Setup (BIOS)
- As long as your computer is fairly new, you should see an option to specify the USB drive to boot from
- Re-arrange the boot order so that USB drive is the first device
- Save and Exit Setup (BIOS)
- You'll then begin to see the Windows 8 installer do its thing
- Follow the instructions when prompted and sit back, whilst it installs
- The installer will restart once it has completed, so you will need to enter Setup (BIOS) again
- Change the boot order once again, so that your hard drive is the first device
- Save and Exit Setup (BIOS)
- The installer will continue and you'll eventually be presented with a new Windows 8 style boot menu
- Choose Windows 8 Developer Preview, or leave it be (it'll default to Windows 8)
You'll then be asked a number of questions to setup your new Windows 8 Developer Preview install - allowing you to enjoy Microsoft's latest operating system.
I've had a few hours play with it so far and am highly impressed. Initially I started with it running within a Virtual Box VM, but I found it to be too restrictive. So I opted for the dual boot scenario as outlined above. This allows me to try Windows 8 on the raw hardware, but keeping my existing Windows 7 installation intact. Once the Developer Preview expires or if I find any incompatability issues, I can simply boot back into Windows 7 and continue.
Performance wise, the operating system feels a lot snappier than my Windows 7 install. But that's probably due to the crap it has accumulated over the past year - and the lack of software installed on Windows 8. Dare I say it: Internet Explorer 10 feels quicker than Chrome; yes it does. My only gripe would be the lack of mouse gestures via a laptop's touchpad - having to use the scroll bars on the main Metro UI is awkward and fiddly.
Also, I'm unsure as to why there is Internet Explorer 10 with the standard Aero UI and then there's the full-screen Metro version. They both have their purpose, but users may get confused and not know what tab they have open in which. Speaking of tabs - I'm lost in the Metro version with multiple tabs open, as there's no visual indication of which tab you are currently on and how many you have open, due to the lack of tool/status bars.
Overall, for a Developer Preview (pre-Beta?) Windows 8 is outstanding. The initial discussions surrounding the release are positive and it seems Microsoft have learnt from both its mistakes and also its competitors successes. A single operating system for all devices - Phones, Tablets, Netbooks, Laptops, Desktops, Servers makes complete sense and is what Microsoft has been striving to achieve with the whole Windows thing since, well forever. Hopefully they can get it right, keeping the device specific features at the forefront on the relevant devices, rather than a one UI for all.
Update: I've uploaded a few screenshots to Picasa Web Albums.
For the past few years (longer than I can remember) I've been running Microsoft's Virtual Server 2005 R2, an application that installs on their Server operating systems, to allow you to host multiple Virtual Machines on the one Physical Server. So for Slickhouse, the mail; web; database; and domain controller servers are all located on the one physical box.
However, Virtual Server 2005 does have its drawbacks - it's not a pure Virtualisation platform, as it installs on top of an operating system layer. It also doesn't perform as well as other solutions on the market - namely VMWare. Microsoft released Hyper-V as an add-on to Server 2008 and as a free standalone hypervisor - Hyper-V Server 2008 R2. The compatability with Virtual Server is there, but it is a better competitor to VMWare's ESX platform.
Hyper-V does have a few advantages compared to VMWare's ESX/ESXi platform, which I was also looking into. Firstly, the hardware requirements are a lot less strict and you'll find that Hyper-V runs on many modern 64-bit servers that Server 2008 successfully installs on. There are specific CPU requirements, but most AMD/Intel CPUs on the market now support Virtualisation at a hardware level. Secondly, it fits into an existing Microsoft network very well and supports migration from Virtual Server 2005.
I chose to upgrade my main server to Hyper-V at the same time as consolodating the storage for the network. Previously, I had the virtual servers housed on one box, with 4 x 250GB drives in a RAID array within another, acting as a NAS. As with most computer technology, the price of storage has decreased as the capacity has increased over the years. Whereas back in 2005 the 250GB drives cost ~£50 each (~£200 per TB), in 2010 I've purchased a 2TB drive for ~£100 (~£50 per TB), so it made sense to drop the NAS for 24/7 use and put the 2TB drive on the server housing the virtual machines.
I opted for another Samsung Spinpoint HDD, as I've had 9 running smoothly for a few years now, so it made sense to add a tenth. Their 2TB F3 Eco Green drive runs at a slower 5400rpm speed, but I'd say it performs as well as the older generation 250GB SATA Spinpoints, running at 7200rpm. A copy of around 630GB of data (various file sizes) took hours rather than days over a gigabit connection from the original NAS.
The 2TB drive itself is purely for holding all of the data served via the NAS. I was originally intending to connect it to the host and setup shares on it, but Hyper-V Server 2008 R2 only offers Hyper-V, no other Windows Server Services (hence the free price). Server Fault's community suggested that I setup a VM as a NAS and that I wouldn't notice any performance hits.
As for Hyper-V, the installation is very straight forward - much the same as their Server 2008/Vista/Windows 7 installation process, with all the prompts located at the start, rather than strewn throughout during previous Windows installations. Once the install is complete, you can configure the server using the command line interface once the server completes a reboot. This screen remains the same throughout use of Hyper-V Server 2008 R2 with the actual management occuring on a client machine via the Hyper-V Management snap-in.
In usual setups, managing Hyper-V should be fairly straight forward. Install the Remote Administration Tools for Windows 7, then connect to the Hyper-V Server and away you go. However, as all my main servers are now virtualised, including the domain controller - I could only run the Hyper-V Server in Workgroup mode, not as part of the Active Directory domain. As my Windows 7 machines are part of the domain, it meant that I spent 3 evenings back-to-back pulling my hair out to try and get it all working. Virtual PC Guy has a great tool, HVRemote that cuts out many of the headaches involved with the initial setup. I finally managed to successfully connect to the host after plugging in the 2nd NIC, which picked up a dynamic IP via DHCP - so it appears to have been a DNS/routing issue.
Once Hyper-V Server 2008 R2 has been installed and configured, it's a case of either migrating VMs across, or building new ones. Migrating from Virtual Server 2005 proved to be a fairly easy procedure with Server 2003 VMs - uninstall the Virtual Server additions and shutdown the VM before copying the VHD across to the Hyper-V host and creating a new machine (using the copied VHD). When it came to migrating my Server 2008 Web Server across though, things were a little different. The Integration Services wouldn't fully install and a quick check of Device Manager warned me that the Virtual Machine Bus could not find enough resources. As with 99% of IT related problems though, Google netted me a solution.
Once all the virtual machines had been migrated across, full network connectivity and services were restored. Performance appears to have improved from the upgrade: VMs are a lot more responsive after booting or logging on; the sites also appear to load much quicker and SQL Server queries are instant - though I don't have raw figures to back up my claims, but if you have a Virtual Server host, Hyper-V is definately worth looking into, especially if your existing server supports it.
Inspired by the site over at usethis.com, the following is a brief interview between me and, well, me.
Web Developer, Techie
Who are you and what do you do?
I'm Matt, Husband to Anneka and Daddy to Lily (18 months) and Mia (15 weeks to go). By day I'm a Web Developer for IOCEA.com Ltd, the creators of Cshop and by night I develop my own sites and tinker with my servers.
My personal project, SlickCMS is nearing completion for a public release, over a year after embarking on it. I'm still contemplating going Open Source with it, or simply making it freely available.
When I'm not developing for work or my own kicks, I try to improve my measly XBOX 360 Gamer Score; Fallout 3 is proving to be engaging.
What hardware do you use?
At work, a Dell Optiplex 320 with 2GB RAM and an Intel Pentium D. It has lasted me nearly 3 years of development without any problems. It has 2 Sony 17" LCDs connected to it, with a Microsoft Laser Mouse 6000 - an older gaming mouse I found to be perfect for me, a lefty.
At home, a Sony VAIO, again with 2GB RAM and an Intel Pentium (M). It runs Windows 7 fine and my only complaint is the loud fan.
I also run several servers in the loft, including a mini-itx Firewall and an AMD Athlon X2 with 6GB RAM as a Virtual Host.
And what software?
My work desktop and laptop run pretty much the same set of software, with the former using Vista and the latter Windows 7. Visual Studio 2008; Microsoft SQL Server 2008; Office 2007; Notepad++ and 7Zip amongst others.
Browser wise, it's Internet Explorer 8 at work, with Google Chrome at home. I prefer the minimalist approach of Chrome for browsing websites and the Web Developer toolbar of IE8 for development purposes.
The Firewall uses Smoothwall and the Virtual Host uses Microsoft Virtual Server 2005, with the VMs a mix of Server 2003/2008.
Lastly, I am a fan of Star Wars, so my Servers are named after planets: Bespin for the Host; Talus, Hoth and Corellia (amongst others) for the VMs and Tatooine for the NAS.
What would be your dream setup?
At work, a 30" Dell monitor, with the Sonys either side would work well - all powered by a Intel Xenon workstation.
Laptop wise, a bleeding-edge Lenovo, Sony or Dell would be good. Maybe a high-end netbook or lightweight laptop for browsing the Internet when not developing too.
My servers could do with an upgrade and consolidation - there's no need to run all 4 of them 24/7, when just the one with a bunch of Virtuals would suffice.
I used to roll with a desktop at home, for PC Gaming and occasional developing - but have since found a laptop to be ideal for sitting on the sofa whilst coding.
Recently, I've been asked to perform a clean install on friend's laptop/desktop PCs. I reckon over the past few years I've installed an operating system over 100 times, of all different flavours. Off the top of my head, I've sat waiting for the following to complete:
- Windows 98se
- Windows 2000
- Windows XP
- Windows Server 2003
- Windows Vista
- Windows Server 2008
- Windows 7
- Various Linux Distros (mainly ubuntu)
- Copy all relevant files to another drive (network/external)
- Format the hard drive
- Pop-in the O/S CD/DVD and follow the instructions
- Install the latest drivers (usually in a specific order)
- Install updates
- Install software required
Step 2 is fairly straight forward and can be combined with 3 - as many Operating System installations allow you to format the drive(s) during the process. If you feel it's necessary, run a format utility on the drive to wipe them prior to installation - DBAN is good for this. The installation process can vary from 15 minutes or so, all the way up to a couple of hours. Microsoft seem to be doing better these days, as I've found the installation times with Vista and Windows 7 are far quicker than those of XP and older versions.
A restart is essential after installation. You may need to change the boot sequence within the BIOS on older hardware, to ensure it doesn't perform the whole process over again.
Once you're into your Operating System of choice, it's then a case of ascertaining which Drivers are needed. Usually, the more recent the Operating System, the less drivers you'll need to install - this is due to the vendors packaging many popular Drivers with the O/S.
You have 2 options whilst installing the Drivers - either restart in-between each install, or skip the restarts and wait until all are installed. The former is preferred, as it ensures each Driver is installed correctly and loaded prior to moving onto the next. It also allows you to resolve conflicts quicker if required.
Then you can move onto the updates. Linux/Mac fans would argue that they can get by without updates, but Microsoft users are veteran update installers. Choose wisely, opt for all critical and security updates, then trawl through the optional ones and ascertain whether or not you'd need them. I recommend Microsoft's Update website over the built-in Automatic Updates for pre-Vista O/S's, as it includes all Microsoft Updates, not just those specific to the O/S.
Step 8 is specific to your requirements, but if you've restored a PC to factory settings - now is the time to remove the excess crap that many Manufacturers install. Then add any additional software that you need. My current suite includes:
- Adobe Reader
- Combined Community Codec Pack
- Google Chrome
- Helicon ISAPI Rewrite Lite
- Expression Web 2
- Office 2007
- SQL Server 2008
- Tortoise SVN
- Visual Studio 2008
- XML Notepad
Then move onto step 9, which for me involves running msconfig and removing startup programs not needed. Then look at all of the services and disable any unnecessary ones. Finally, tailor the settings to your needs, such as Folder Options within Control Panel and the Taskbar/Start Menu settings.
Finally, give the PC a Defrag. Afterall, it's just had a kicking in the hard drive department. Then it's a case of testing everything works as you'd expect and start using the machine.
Let me know if you do anything different and any interesting stories of your clean install encounters.
RAID (Redundant Array of Independant/Inexpensive Disks) arrays are common in servers and high end workstations. According to Wikipedia, there are 6 official RAID levels, along with several manufacturer specific levels. RAID is available in both hardware and software offerings, with the former being the preferred. Hardware RAID utilises onboard or dedicated RAID controllers, which take the load away from the CPU. They are generally more reliable and better performing than Software RAID - which, as the name suggests, uses Software to create and manage RAID arrays.
As all of my physical and virtual servers here use Microsoft Server Operating Systems (specifically 2003), I decided to research RAID and what was avaiable to me, as my storage is in need of some tweaking. My 2 storage servers, Fileserver and Backupserver both have 4 x 250GB Samsung Spinpoint IDE drives, connected to the mainboard via cheap PCI RAID cards, which only support a handful of RAID levels. As they're not big brand offerings, I am reluctant to use them for creating RAID arrays, in case something goes horribly wrong and I lose GBs of data.
So, I turned to Software RAID and what Server 2003 offers. Microsoft's Technet site has a create article detailing all of the options available to Server Administrators:
- Simple - disks that can be extended, but are usually used as standalone drives
- Spanned - a collection of disks that are combined, to make one larger volume
- Striped - commonly known as RAID0, improves I/O by spreading the volume across 2 disks
- Mirrored - commonly known as RAID1 uses 2 disks to mirror data across them, so if 1 disk dies the data is still available on the 2nd
- RAID5 - uses 3 discs to create a redundant array, so that if 1 disk dies, the array can be rebuilt from the remaining disks
Before I started formatting my ~1TB Backupserver drives, I decided to try out the various options to see which would suit my needs best, which is to combine the 4 x 250GB drives into a larger volume. As the Backupserver keeps a weekly copy of the Fileserver data, redundancy isn't a priority, but as 2 of the 4 drives are nearing their capacity (~232GB formatted) I could do with a larger volume.
Using Microsoft's Virtual Server platform, I was able to create 8 Dynamically Expanding Disks, each of 25GB in size (a 10th of the size of the physical drives). Attaching 2 Virtual SCSI adapters to the Virtual Machine allows you to connect up to 14 drives (7 per adapter), as you can see above. I then switched the Virtual Machine back on and opened up Computer Management:
If you initialise the Disks as Dynamic ones, you can then right click on them and choose which of the available Volume options you want to go with. Above, you can see the options available on Server 2003.
I played around with the Virtual Disks, creating a Striped, Mirrored and RAID-5 array to begin with. The Striped Volume spreads the data over 2 Disks, giving you 2 x 50GB capacity. This effectively improves I/O performance, as you have 2 Disks to read/write to. The Mirrored Volume writes the data to both Disks, giving you just 1 x 25GB capacity, but if one of the Disks fails, you still have a copy of the data. The RAID-5 volume spreads the data over all of the Disks in a way that means if 1 Disk fails, the array can be rebuilt from the remaining Disks. However, if 2 Disks fail, all of the data in the array is lost. In my example, 3 x 25GB drives would give a total capacity of 50GB - one of the drives used for redundancy.
RAID isn't to be used as a backup solution, as other factors can lead to data loss - but some levels provide redundancy in the event of Disk failure and optimise uptime of the system.
To stick with the ~1TB capacity of the 4 x 250GB drives, I opted for the Spanned volume:
In my test environment, I was able to initially create the volume from 4 x 25GB drives, giving me an approximate total of 100GB - which in the Physical servers, would mean near enough 1TB unformatted within a single volume. The beauty of a Spanned volume is that it can easily be extended. So if I find that next year I'm nearing the 1TB capacity, I can chuck another 250GB (or any size) Disk into the Server and extend the Spanned volume onto the new Disk, which would result in a 1.25TB volume. The downside to this is that if 1 of the Disks in the array fails, the whole array is broken and all of the data is lost. However, as I've mentioned, the Backupserver stores a copy of the Fileserver's data, so to have complete data loss, one of the drives in both arrays would need to fail at the same time. Fingers crossed that's something I won't be experiencing.
The performance overhead of Software RAID should be non-existant, as the Spanned volume is simply extending the capacity. Software RAID5 and Mirrored options do put additional strain on the hardware though, which should be taken into consideration if you're thinking of opting for this too.
The next step is to mimic this on the Backupserver, which will require a complete format and converting of all the Disks to Dynamic, then creating the volume and copying the data from the Fileserver across. If all goes to plan, I can then do the same on the Fileserver - which will give me a single 1TB volume, allowing me to re-create the shares without worrying about running out of space anytime soon. To give you an idea of how useful it'll be:
- Documents: 232GB total, 101GB free
- Downloads: 232GB total, 144GB free
- Music: 232GB total, 130GB free
- Video: 232GB total, 69.6GB free