Monday, September 12, 2011

Windows 7 Installation Woes

My computer at home has been serving as my router for several years and the only way to run Windows on the computer was using a virtual machine.  Rebooting into Windows would have prevented the other computers in the house from accessing the network.  Recently I changed the networking to use the DSL modem as the router for the house, which means that I could switch my computer to dual boot.

I also have a Netflix account which I would like to use with this computer.  I have tried using VMWare and VirtualBox with limited success, so it was time to install Windows 7 on the computer.

My /home directory consumed nearly all of a 1 TB drive, so I used resize2fs to change its size to about 800 GB.  /home was in partition /dev/sda5, so the new partition was /dev/sda6.  So I started trying to install Windows.  It complained about not being able to locate or create a partition when it clearly showed the partition in the partition choices.  I then consulted the internet.

Myths abound about why Windows doesn't install.  I tried several suggestions.  One was to wipe out the partition table, which I did not wish to do since I had /home already there.  I did wipe out the first 446 bytes of the Master Boot Record to no avail.  Windows was simply not happy.

After quite a few reboots, I decided to try to rearrange things so that Windows would be installing into a primary partition (/dev/sda3).  I deleted /dev/sda6 and shrank the extended partition using gparted.  Then I was able to create the new partition as a primary partition.  It still works fine to have /dev/sda3 at a hugher start block on the disk than /dev/sd5.

Then Windows 7 worked.  I was a little surprised that I did not locate this answer to my question.  At this point I don't know if the problem is that Linux has a different idea about how to layout extended partitions or if Windows 7 simply won't install to a logical partition.  I suspect that Windows 7 doesn't want to use a logical partition, but, if so, then why doesn't the error message indicate that it requires a primary partition.

After a sufficient number of reboots, Windows 7 was up on the computer.  It did not recognize much of the hardware.  Fortunately I still have the Dell drivers CD, so I was able to install network and other drivers from the CD.  The Dell drivers CD did not like my nVidia card, so I had to visit nvidia.com to download the nVidia driver.  Eventually I had Windows running netflix.

Then it was time to do grub-install.   I had to boot Linux from a CD and use a console window to use grub-install which restored the ability to boot Linux.   After booting Linux, I use update_grub2 to have grub discover the existence of the Windows 7 partition and the computer was capable of running either operating system.

I have to give Windows 7 a D for installation.  It's nonsense to face problems like using /dev/sda6 vs /dev/sda3 without a proper clue.  Windows even suggested I inspect a log file, while providing no way to see it.  Where was the log file?  Did it even exist?  I did succeed which moves it into passing territory, but the difficulty with getting past the problem and the fact that drivers were not immediately available is pretty poor performance.

I give Ubuntu an A for installation.  It works with all my hardware even in the live CD mode.  It installs the nVidia driver automatically and works with all my hardware painlessly.

Microsoft needs to learn some lessons from Linux.  There is no excuse for these compatibility problems.  Microsoft defines the rules that hardware manufacturers must play by and Linux on a CD is compatible with far more devices than Windows on a DVD.  Clearly if Linux can do so well, Windows could also.  People think Linux is hard to install, but my experience has been that Windows is much harder to install.  In fact I have had 2 computers at my house which refused to install Windows (even XP) no matter what I did to the disks.  I tried having 1 Windows partititon, zeroed out the partition table, and more and the computers simply would not work.  I assume that Windows needed a driver disk for the hard drive or the disk controller or possibly a BIOS update (which wouldn't work without Windows.)

Ugh!  Once again Windows wastes more of my time than it should have.  It happens over and over.

No comments: