XP to Windows 7 Migration in Schools

Posted by : Rob Stevens | Sunday, April 03, 2011 | Published in

I've been doing a fair amount of rolling out of new systems recently, both OS X and Windows based. While the OS X based stuff has been an interesting look at a reasonably recent and up to date operating system (10.6), it occurred to me that the Microsoft side of things was the same old irritating process of fighting with Windows XP that I've been doing for God knows how long. With Windows 7 now at nearly 2 years old and boasting a full service pack, is it not time for us to ditch an increasingly clunky 10 year old operating system and start making our school domain environments work with the newer technology?

I know this is a fairly well looked at point of discussion with plenty of documentation covering it, but I was thinking about how the various arguments affect my own situation.

A large amount of what's stopping this will be the time and effort that would be involved in safely testing the effects of managing Windows 7 systems from the existing infrastructure. I realise that time is not always available to do these sort of things. Unfortunately things may well reach a stage where that excuse won't run any more and it just has to be done. Hopefully the schools will do this for us. A lot of the existing servers really need replacing - A good chance to get some decent Server 2008 R2 boxes in there and start upgrading.

The next problem to be looked into will be the running of legacy software. A lot of schools continue to use very old software. Sometimes it's because their license only covers them for a particular version and they don't want to pay to upgrade. In other cases it's software titles that are very good, but are no longer being maintained. Can Windows 7 run this stuff straight out of the box? Or are we going to have to spend ages building virtual machines and installing software in XP Mode? Which would kind of defeat the point of this and would also spoil my argument somewhat... We're in a bit of a Catch 22 situation where the software maintainers haven't fully gotten around to making their products Windows 7 compatible because the vast majority of the schools that buy from them still use XP, but the schools won't use an operating system that won't run their software.

It's a difficult call to make. Do we force the schools to come up to date, but possibly make them ditch some software in the process? Do we continue with the venerable Windows XP and all of its inherent bugs and security flaws? Don't get me wrong, I have no problem with XP. It is a brilliant OS for it's time and it has stood the test of Microsoft's in ability to replace it well, but I believe that has now been done.

Glad it's not my decision to be honest.

I'm sure there will be some schools out there that have already done this. What was your experience of the switch?

Some documentation and guides I've looked at:

The Microsoft Windows 7 Upgrade & Migration Guide
Microsoft Tutorial: Upgrading from windows XP to Windows 7
How-To Geek: Migrate XP to Windows 7 with Easy Transfer and a USB Disk

Ubuntu Server - Scripting Virtual Box Machines to Suspend and Restart on Server Reboot

Posted by : Rob Stevens | Saturday, March 12, 2011 | Published in

I run a headless VirtualBox instance of Server 2k3 on my Ubuntu 10.04 Server and I wanted a way to be able to cleanly startup and shutdown the host machine without having to manually control the virtual one. The following is what I've come up with after cobbling together various things found on Google. Particular thanks to Brendan Kidwell on Glump.net for his info on setting up VirtualBox to behave as a service. This guide basically updates and simplifies his how-to.

Throughout this guide USER indicates the user on your system that is part of the virtual box management group and is able to run the 'VBoxManage' commands. The guide assumes that you already have a working virtual machine and so doesn't cover setup or configuration. The following can be applied to any guest, not just a Windows system.

The first thing to do was to create a script for starting your virtual machine.

This example is called server03start.sh:

#!/bin/sh
#Script to start Server03 VBox machine in vrdp mode
su USER -c "VBoxManage startvm Server03 -type vrdp"


Once you have the script you need to make it executable:

chmod +x SCRIPTNAME


The next step is to copy your script to /etc/init.d/ and edit /etc/rc.local to run the script on system boot. Your rc.local file should look like this:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

./etc/init.d/server03start.sh
exit 0


Your system will now start the virtual machine at boot.

Now we need to configure cleanly suspending the machine on system shutdown. Fortunately VirtualBox provides this facility for us.
If you look through /etc/init.d/vboxdrv you will find a section that reads

# enter the following variables in /etc/default/virtualbox:
# SHUTDOWN_USERS="foo bar"
# check for running VMs of user foo and user bar
# SHUTDOWN=poweroff
# SHUTDOWN=acpibutton
# SHUTDOWN=savestate
# select one of these shutdown methods for running VMs


Do "sudo nano /etc/default/virtualbox" to create the required file and then enter the following:

SHUTDOWN_USERS="USER"
SHUTDOWN=savestate


I chose "savestate" as I decided that pausing the virtual machine during reboot was quicker and more efficient than fully shutting it down.

So, there we have it. Your system will now cleanly and quietly deal with your virtual machine during system reboot.

Interesting Times

Posted by : Rob Stevens | Tuesday, January 25, 2011 | Published in

Looks like I might actually have some Interesting stuff to do ahead of me. Two bits of training, and one of my schools being the pilot school for the first of our new virtual server builds.

The training is on two separate things:

The first lot is on doing Mac OS X builds properly, on both desktop and server, and then efficiently rolling them out. I've done builds and deployments before using Deploy Studio but that was very much a case of working it out as I went along, so some perspective on the 'best practice' will be nice, particularly on the deployment side. Deploy studio is obviously a fairly powerful and flexible bit of kit, so knowing how to make full use of it will be nice.

The next bit of training we're looking at is the FITS framework. As an educational ICT contractor, the company I work for is obliged to be fully compliant with the FITS IT support framework for schools which was (IIRC) originally brought about by (the now defunct) Becta. The basic idea behind it is getting people to work in a more structured and professional fashion (really no bad thing for some...!) and to ensure that everyone within the organisation is singing from the same metaphorical hymn sheet. Strangely, I'm actually looking forward to doing this one more than the OS X one as I think it will be a really interesting look into how things are supposed to be done, and should hopefully provide a kick up the backside for those who aren't really working to the level they should be.


The server build I mentioned is something I'll try and post more on as it develops. The gist of it is that it will be a single physical server running a (I think) four virtual ones. This will separate things out nicely as currently we have everything running from one thoroughly overworked DC, and a NAS server. It will also provide an opportunity to start building a framework for how the systems are supposed to be. The current systems are domains that have been around for nearly 10 years and are running on networks that have been cobbled together and added to as necessary. This tends to get a bit crazy and messy, so a sanity injection will be welcome.

As I said, interesting times. Hopefully it will motivate me to post more!