The naming of drives by grub is confusing because they are relative. The
terms sda and sdb or hda and hdb, typically used in file managers, are fixed.
Sda or hda is the first drive listed in the BIOS and sdb or hdb is the second
one.This is easy to understand.
However, grub is relative, meaning that you can switch the drive to which grub
is written to. In some case sda could be hd0 and in other cases sdb could be
hd0. It all depends on where grub is written to. Hd0 is always the drive on
which grub is written to.
You can find out how grub is named on your computer by opening the file
/boot/grub/device.map.
Windows has its own bootloader. When grub is written to the MBR it
replaces the Windows bootloader with its own rather than modifying the Windows
bootloader. In contrast, Wubi uses the Windows bootloader and merely adds a line
to it for Ubuntu. Ubuntu assumes that you want Ubuntu to boot first and that it
will be the default OS. This can be changed as grub is just a text file that can
be edited with root permissions, sudo.
Windows needs a bootloader, like Linux, to point to its kernel loader. It
assumes that it will be its own, but does not actually check so as long as grub
points to the right place Windows won't know or care. When Ubuntu is removed the
the Windows bootloader must be restored so that Windows can find its kernel
loader once again. Otherwise you will get the ntldr missing error. In both cases
the bootloader is traditionally written to the MBR. However, grub can be written
the to root directory or chainloaded.
Windows is untouched by your Ubuntu installation, no matter where it is located,
as long as when you install it that you don't use the whole drive to replace
Windows. Linux is good at sharing. The bootloader will point to where the
loading process begins for all operating systems. In the case of the Windows
loader, it will only show Windows installations. I have had XP and another
Windows operating installed to different partitions of the same drive and the
Windows bootloader will pop up briefly to allow you to switch in the same way it
does in Wubi. Otherwise it is silent meaning that you don't usually see it.
As an aside, Mac OS/X does not like sharing at all. It needs not just a separate
partition, but a drive all to itself. So if it sounds like I think that Windows
is inflexible, just look at the Mac. It is all about what the programmers design
it for and what the developer wants. In the case of Windows, they ignore Linux
because Microsoft chooses to. You can get third party utilities to read and
write to Linux drives in Windows.In the case of the Mac, Apple wants you to run
their OS and not anything else. OS/X is based on BSD, a Linux cousin, and BSD is
just as flexible as Linux.
In both cases, the companies could be more flexible if they wanted. Both
operating systems are capable of doing more than they do. That being said, we
need to work around these issues for now and if you want to share drives with
non-Microsoft operating systems you need a flexible bootloader. There are
several commercial ones for Windows that will work with Linux.
Grub is quirky, but it is simple and it works. You can check out LILO which is
another bootloader for Linux, but most people prefer Grub. There are several
others, even Grub2. Some people like SuperGrubDisk:
http://stmaarten.globat.com/~supergrubdisk.org/
See this for more on bootloaders: http://www.xs4all.nl/~lennartb/bootloaders/