Dual boot linux and windows with windows boot manager -- Windows Vista and Windows 7

They are many documents on the web for doing that. However most of them needs to have an installed linux based system to do that. Installing linux without destruction your harddisk is possible for years. I assume that you have windows installed. Here is the walkthrough to do that.
  1. Allocate space for linux partition. The main partition for linux has to be primary partition just like your windows partition. You might need a partition tool to resize and change partition type to do that operation.
  2. Install linux on the partition that you have just created. On the installation screens, for the boot loader, select the partition itself as the partition (don't select mbr). When the installation has finished, your computer restarts and windows will be restarted. Don't be afraid linux is somewhere in your disk.
  3. You need dd for windows to set linux to the boot manager.
  4. Extract the contents of dd in a folder and run
    dd --list

    D:\Tools\dd>dd --list rawwrite dd for windows version 0.3. Written by John Newbigin <[email protected]> This program is covered by the GPL. See copying.txt for details Win32 Available Volume Information \\.\Volume{c5d941f0-8093-11da-b7d7-806d6172696f}\ link to \\?\Device\HarddiskVolume1 fixed media Mounted on c:\ \\.\Volume{c5d941f1-8093-11da-b7d7-806d6172696f}\ link to \\?\Device\HarddiskVolume3 fixed media Mounted on d:\ \\.\Volume{5c5aa360-7406-11da-b7c2-806d6172696f}\ link to \\?\Device\CdRom0 CD-ROM Mounted on e:\ \\.\Volume{23c0e842-75dd-11da-a45d-000e3536c876}\ link to \\?\Device\CdRom1 CD-ROM Mounted on x:\ NT Block Device Objects \\?\Device\CdRom0 \\?\Device\CdRom1 \\?\Device\Harddisk0\Partition0 link to \\?\Device\Harddisk0\DR0 Fixed hard disk media. Block size = 512 \\?\Device\Harddisk0\Partition1 link to \\?\Device\HarddiskVolume1 \\?\Device\Harddisk0\Partition2 link to \\?\Device\HarddiskVolume2 Fixed hard disk media. Block size = 512 \\?\Device\Harddisk0\Partition3 link to \\?\Device\HarddiskVolume3 \\?\Device\Harddisk0\Partition4 link to \\?\Device\HarddiskVolume4 Fixed hard disk media. Block size = 512

    to find the linux partition.
  5. Once you think you've found it just use this command to generate the boot file.
    dd if=\\?\Device\HarddiskVolume2 of=linux.boot bs=512 count=1

    D:\Tools\dd>dd if=\\?\Device\HarddiskVolume2 of=linux.bot bs=512 count=1 rawwrite dd for windows version 0.3. Written by John Newbigin <[email protected]> This program is covered by the GPL. See copying.txt for details 1+0 records in 1+0 records out

    Here Partition2 is the linux partition. You need to feel that from the dd --list output
  6. Move the generated file to the root C:
  7. Then add
    C:\LINUX.BOOT="Linux"
    to boot.ini file.

Vista Update

The above process is still working for Windows Vista beside boot.ini file. Instead we need to bcdedit to add the new entry.

Run cmd and execute the following commands to add the linux entry

bcdedit /create /d "Linux" /application BOOTSECTOR bcdedit /set {LinuxID} device boot bcdedit /set {LinuxID} PATH \LINUX.BOOT bcdedit /displayorder {LinuxID} /addlast bcdedit /timeout 5

Here you are you have used windows boot manager to do that inside windows.