This document contains only my personal opinions and calls of judgement, and where any comment is made as to the quality of anybody's work, the comment is an opinion, in my judgement.
[file this blog page at: digg del.icio.us Technorati]
I have not used MS-Windows on both my laptop and desktop because it was failing to boot (preinstalled on the laptop) or install (fresh install from retail package) for a couple of years now, and fortunately I have been able to make do with CrossOver under GNU/Linux for the rare case where I must really use MS-Office.
I have't had time to play games (which really means MS-Windows games) for a long time either, even if Valve Steam and Epic Megagames games seem to mostly work under Crossover.
But I have decided to fix the MS-Windows installation issue, as it had aspects that have long bothered me. Well, indeed there were are I spent a lot of time to work around them, and I spent a lot of time trying to find on the web descriptions of the problems and explanations of what is going on.
The installation problem, where the MS-Windows 7 installation simply would hang with a busy cursor, turned out to be that for some reason MS-Windows 7 is not compatible with the bootloader of GRUB 2, which is very surprising. The most likely cause is that GRUB 2 puts some of its bootstrap code in sectors beyond the first on the disk, but I did not investigate that, and just switched back to LILO.
The bigger problem was that as I had
previously noticed
there are aspects of the MS-Windows boot process that break it
if the system
or boot
filesystems are in partitions that have been moved, and there
are in particular some places where specific information has to
be updated:
The disk signature
in the
MBR
must be the same as the one as the disk on which MS-Windows
was installed or else the drive letters will stop
working and the MS-Windows 7
BCD
will be invalid.
Possible fixes are to updcate or delete the drive letter definitions from the MS-Windows registry and to update the BCD, or to set the disk signature to all zeroes. This may not fix the BCD though.
The partition boot record
in the first 512 bytes of a FAT32 or NTFS partition and
contains a field which must be the address of that
record from the beginning of the disk in 512 byte units.
This only matters for the system partition.
It can be fixed by updating the field.
The partition boot record of the MS-Windows system partition is also listed in the BCD, and must be updated.
This can only be fixed by updating the BCD.
So the MBR, partition boot record, BCD and registry have to be fixed. Unfortunately there is no Microsoft tool to do most of these things (the command to repair MBR and boot do only a very limited subset), but fortunately thanks to a page by a similar user I have discovered that the GNU/Linux utility savepart includes all the required actions as a side effect of its ability to save MS-Windows partitions and them to different disks and offsets.