Dual boot linux and windows with windows boot manager — Vista RTM Update

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
    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
    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.

11 Comments

  1. Pinguino:

    What do you mean by {Linux ID}? What do we put there?

    Are we supposed to change “device” to anything?

    “path”?

  2. Singularity:

    {Linux ID}? is the id that returns from the first bcdedit create command

  3. Windows Update » Can Erten " Blog Archive " Dual boot linux and windows with windows…:

    [...] Cyber Tech Help Support Forums wrote an interesting post today on Can Erten " Blog Archive " Dual boot linux and windows with windows…Here’s a quick excerpt [...]

  4. Pierre Gd:

    How do we use DD for windows?!? I try to write something and then when I press enter, it repeat the same line I typed… What’s the problem ?

  5. Falcon006:

    It should look something like this.

    C:\Users\Falcon>bcdedit /create /d "Linux" /application BOOTSECTOR

    The entry {27385c40-b336-11dc-a4e7-9b7501ef3253} was successfully created.

    C:\Users\Falcon>bcdedit /set {27385c40-b336-11dc-a4e7-9b7501ef3253} device boot
    The operation completed successfully.

    C:\Users\Falcon>bcdedit /set {27385c40-b336-11dc-a4e7-9b7501ef3253} PATH c:\linu
    x2.b

    The operation completed successfully.

    C:\Users\Falcon>bcdedit /displayorder {27385c40-b336-11dc-a4e7-9b7501ef3253} /ad
    dlast

    The operation completed successfully.

    C:\Users\Falcon>bcdedit /timeout 5
    The operation completed successfully.

    run bcdedit one more time to check if it was entered.
    C:\Users\Falcon>bcdedit

    You should get something like this.

    Real-mode Boot Sector
    ———————
    identifier {27385c40-b336-11dc-a4e7-9b7501ef3253}
    device boot
    path c:\linux2.b
    description Linux

  6. Falcon006:

    I lied, that didn’t work.

    You needed to change two things.

    bcdedit /set {ID} device Partation=c:

    and

    bcdedit /set {ID} PATH \linux2.b

    My dump looks like this now.

    Real-mode Boot Sector
    ———————
    identifier {27385c40-b336-11dc-a4e7-9b7501ef3253}
    device partition=C:
    path \linux2.b
    description Linux

    I sure miss boot.ini. Microsoft can’t write a parser anymore? Such crap.

  7. fstyle.de:

    Install Ubuntu without GRUB using Vista Bootmanager…

    I am aware that this article is a mess! It’s been created in a hurry.

    Maybe with time I’ll be able to format it correctly and order things a litlle.

    This is the big Tutorial for it:
    Link to the original tutorial.

    Problem to solve: Install …

  8. Install Ubuntu without GRUB using Vista Bootmanager:

    [...] http://www.canerten.com/dual-boot-linux-and-windows-with-windows-boot-manager/ [...]

  9. Ilya:

    Thanks a lot! Very useful.

  10. GR[ae]YSCALE » Blog Archive » Being nice to Windows in a Dual Boot Setup:

    [...] Use Windows Boot Manager to boot to Linux This goes back to the fact that Windows does not play nice with others - and the fact that I seem to have a non-booting somthing under GRUB rather frequently. During the Ubuntu setup, there is a point where you are asked to confirm the details of your installation - and an “Advanced” button. THis button gives you an option to install GRUB somewhere other than the MBR - so, as I had just specified Linux be installed on SDA1, I used (hd0,0) for GRUB - specifying a partition, not a disk. Windows Boot Manager is pointed to that disk, and you have a solution that keeps getting you into windows no matter how many times you “broke” Linux. [...]

  11. Ubuntu 8.10 on a Lenovo Thinkpad T400 « Insert Title Here:

    [...] directly. With Windows Vista, the process for adding an entry to the boot menu has changed. Follow these directions to add a Linux entry to the boot menu. Don’t follow the main directions; look at [...]

Leave a comment