Having an use for UEFI: Windows 7 as a second OS

This is not your average Linux-focused post, I’ m sorry if you were expecting one.

As I said lately, I’m now in Los Angeles, and while my dayjob involves working with a Gentoo-based firmware (and a Flash-written interface), I also have to complete a few tasks for customers at home, one of which requires me to use Windows 7 and Visual Studio 2008, both of which I own a license of … but in Italy.

While my original plan was to use TeamViewer (of which I also have a license — no kidding I know the value of Free Software, given how much I must spend on proprietary software to perform the task that FLOSS is unable to), but unfortunately the same router crash that caused Yamato’s unavailability has caused me to lose access to the laptop I used for this task.

This became even more troublesome considering that while my Dell laptop came with a Windows 7 Professional license, I decided to not install it back last time I decided to repartition it, and even more importantly, when I came here to the US I replaced the 250GB SATA hard drive with a 64GB SSD which is entirely dedicated to my Gentoo installation.

How to solve this situation? Well, seems like I did set me up with the single component to handle this properly: an eSATAp-to-SATA cable, a passive adapter, which can be used in combined eSATA/USB ports, which my laptop has (incidentally, that works just fine if you boot the system with it connected; it also works fine if you resume with it connected… but Linux seems not to have a way to rescan the bus properly, making it unsuitable for hotplug), The other part to this task is of course having the product keys (the Windows 7 one is under my battery, the Visual Studio one is on my NAS, which means a friend of mine can access it), and the discs… luckily, Microsoft’s official ISO files are available, even though you have to hunt for the Windows 7 ones, as they are not public. Visual Studio 2008 and the SP1 are available as downloads, the first as a 90 days convertible trial, which is fine.

My idea was to hope for the best, install Windows on the secondary disk, and then re-install grub2, through SysRescue, to be able to boot from the external drive. Well, it turns out it was much more easy than that. For whatever reason, my laptop can keep booting UEFI and non-UEFI modes without having to reconfigure the firmware every time, just by using F12 to choose the different boot device. So I started the Windows installation in UEFI mode, and watched it progress (I already knew that the firmware can easily boot from the external harddrive, as the eSATA interface only shows it on a different AHCI host, but it’s initialized the same way as the internal one).

After the first installation step was completed, I was honestly surprised to find out that… Windows didn’t even touch grub2! Instead, what it did was create its own EFI boot partition on the secondary harddrive, leaving the main harddrive totally clean… I just have to select “Windows Boot Manager” from the F12 menu, and Windows 7 boots and doesn’t give anything about being on a physically external drive. Even their performance score system is not showing any difference from having it internal (although I’m sure it would show the difference if it was Windows on the SSD).

Of course this is not to say that Microsoft’s software is not the usual stinking stuff… but at least they can leverage UEFI, with all its faults, to make for something… and luckily, they no longer want to be the sole owners of my laptop to just let me use their stuff for one job.

9 thoughts on “Having an use for UEFI: Windows 7 as a second OS

  1. you should also of course be able to access support.dell.com and use your service tag and get any needed updates; maybe even d’load any missing apps/bloatware; as well they usually have some nice tear downs if you ever need to. ;-) those two things are about the best things that come out of Dell.

    Like

  2. Yep done that already… actually a few times, since I did reinstall the system a couple of times before, and I’ve also got another Dell at home, and installed a few for customers of mine.In this case there actually also is a firmware (“BIOS” seems to be limiting) update that was released… two days ago.

    Like

  3. Concerning VisualStudio cost: In all fairness I think that the free Express variants works just fine for a lot of things.Though if you need one of the features it doesn’t have (like 64 bit or MFC support) I admit it gets expensive.

    Like

  4. Huh? There is no such restriction in the 2010 Express EULA. I seem to believe there was such a thing in earlier express versions, but it doesn’t seem to exist in the current 2008 EULA either…And searching around the internet people seem to agree with my reading of the license terms…(Unless I misunderstood you and you were talking about some other legal reason)

    Like

  5. Uhm, good question as to whether they removed it, I remember clearly reading that the Express was not for work-related stuff. I’ll doublecheck at some point I guess.

    Like

  6. Actually there is a way in Linux to rescan the bus:echo ‘- – -‘ > /sys/class/scsi_host/hostX/scan(you’ll have to figure out which host is the esata port connected to, or just rescan all of them)If you want to detach the drive then use this (after umounting the filesystem):echo 1 > /sys/block/sda/device/delete

    Like

  7. Thanks Bud but that doesn’t seem to work… as I said on linux the only thing I could find to make it work was suspend and wake up the computer.

    Like

  8. I you already have a Visual Studio 2008 licence why don’t you use that? As far as I know, licences are not region locked

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s