Solved Windows 7/8 Dual Boot Drive Letter Issue

gaelow

New Member
Messages
7
Location
Krakow
Hi guys,

I've got a problem with my dual boot setup:

I've installed win8, selected an empty partition, booted it, everything peachy.

The only surprising thing was that driver letters where switched: my windows 7 install and data was now in D: drive and windows 8 install appropiated C: letter drive without consulting me.

This became a problem came when I tried to boot windows 7 and an annoying startup repair assistant showed up.

Tried autorepair but no luck. [to be honest, I let it unattended and don't know what happened, don't even know if it finished since the battery died, but it lasts at least 2 hours, and that should be enough, right?]

Then read somewhere changing active partition to win7 could help. Bad idea: now no boot at all.

After a failed attempt to autorepair with windows 8 dvd restore utility I managed to restore windows 8 dual boot menu with win8 install dvd -> repair console -> bootrec /fixboot bootrec /fixmbr and bootrec /rebuildbcd commands, but windows 7 is still not loading: it says it can't find winload.exe or it is corrupt, and I guess it has something to do with the fact that it is now in D: drive

This is my current bcdedit output in windows 8:

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=C:
description Windows Boot Manager
locale en-us
inherit {globalsettings}
default {current}
resumeobject {186227ae-b91b-11e1-9b6c-1c7508fb9bfe}
displayorder {current}
{e1b5dcd9-b960-11e1-b749-d6509e56593f}
toolsdisplayorder {memdiag}
timeout 30

Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \windows\system32\winload.exe
description Windows 8
locale en-us
inherit {bootloadersettings}
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \windows
resumeobject {186227ae-b91b-11e1-9b6c-1c7508fb9bfe}
nx OptIn
bootmenupolicy Standard
detecthal Yes

Windows Boot Loader
-------------------
identifier {e1b5dcd9-b960-11e1-b749-d6509e56593f}
device partition=D:
path \Windows\system32\winload.exe
description Windows 7 Ultimate
locale es-ES
osdevice partition=D:
systemroot \Windows
bootmenupolicy Standard

Funny thing is preinstalled PB laptop has a system 100MB partition currently containing a bunch of win7 boot files. Isn't the loader path and drive supposed to be somewhere there?
Any suggestions?
 
Last edited:

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
Hi guys,

I've got a problem with my dual boot setup:

I've installed win8, selected an empty partition, booted it, everything peachy.

The only surprising thing was that driver letters where switched: my windows 7 install and data was now in D: drive and windows 8 install appropiated C: letter drive without consulting me.

This became a problem came when I tried to boot windows 7 and an annoying startup repair assistant showed up.

Tried autorepair but no luck. [to be honest, I let it unattended and don't know what happened, don't even know if it finished since the battery died, but it lasts at least 2 hours, and that should be enough, right?]

Then read somewhere changing active partition to win7 could help. Bad idea: now no boot at all.

After a failed attempt to autorepair with windows 8 dvd restore utility I managed to restore windows 8 dual boot menu with win8 install dvd -> repair console -> bootrec /fixboot bootrec /fixmbr and bootrec /rebuildbcd commands, but windows 7 is still not loading: it says it can't find winload.exe or it is corrupt, and I guess it has something to do with the fact that it is now in D: drive

This is my current bcdedit output in windows 8:

Windows Boot Manager
--------------------
identifier {bootmgr}
device partition=C:
description Windows Boot Manager
locale en-us
inherit {globalsettings}
default {current}
resumeobject {186227ae-b91b-11e1-9b6c-1c7508fb9bfe}
displayorder {current}
{e1b5dcd9-b960-11e1-b749-d6509e56593f}
toolsdisplayorder {memdiag}
timeout 30

Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \windows\system32\winload.exe
description Windows 8
locale en-us
inherit {bootloadersettings}
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \windows
resumeobject {186227ae-b91b-11e1-9b6c-1c7508fb9bfe}
nx OptIn
bootmenupolicy Standard
detecthal Yes

Windows Boot Loader
-------------------
identifier {e1b5dcd9-b960-11e1-b749-d6509e56593f}
device partition=D:
path \Windows\system32\winload.exe
description Windows 7 Ultimate
locale es-ES
osdevice partition=D:
systemroot \Windows
bootmenupolicy Standard

Funny thing is preinstalled PB laptop has a system 100MB partition currently containing a bunch of win7 boot files. Isn't the loader path and drive supposed to be somewhere there?
Any suggestions?

Try to add Windows 7 boot entry using EasyBCD and see that if it works :confused:
 

My Computer

System One

  • OS
    Windows 8 RP, Windows 7
    System Manufacturer/Model
    HP / Compaq 610
    CPU
    Intel Core 2 Duo
    Screen Resolution
    1300x768
No luck, keeps saying something about winload.exe signature cannot be verified. Worst than that. I realized I have two BCD: one in my "new" c: drive for win8 with win7 and win8 entries and another in my d: drive (previously c:) with win7 entry. I guess the one active is windows 8, but since windows 7 unit also has one, I'm a little bit confused.

Since I have my windows 7 install files built in the laptop's recovery partition instead of a dvd, I downloaded and burned a windows 7 sp1 install disc, but it doesn't allow me to enter repair mode when I pick windows 7, it says cannot enter repair mode for this os or something like that, I guess it's related to this sign problem or whatever.

Any other suggestions?
 

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour

My Computer

System One

  • OS
    Windows 8 RP, Windows 7
    System Manufacturer/Model
    HP / Compaq 610
    CPU
    Intel Core 2 Duo
    Screen Resolution
    1300x768
If you multiboot, most Windows systems report being on the "C:" drive.

It's a difficult thing to get one's head around, but the "C:" designation is just an alias - another name, or shortcut for the boot volume. Windows 8 now consistently uses it for the current drive with the Windows folder on it.

It was not always so - Not only could XP be installed on any assigned drive letter, you could have more than one XP installation in the same partition - as long as the Windows folder had a different name - so you could multiboot to Windows XP on C:\Windows, Windows XP on C:\Windows.001, Windows XP on D:\Windows, etc.,

It is outdated, limiting and confusing to just use the letters A..Z as drive designators, or even the volume numbers - it should be either logical as in Linux (hd0,0), (hd0,1), (hd1,0), etc, or using the unique volume label (up to 32 characters for NTFS, 11 for FAT), which could be automatically assigned by Windows OSs -A..99999999999999999999999999999999 for example. The "C:" alias could still be used by the OS internally for consistency.

The moral is: clearly label each drive volume and make sure that the BCD entry has the volume name included
 

My Computer

System One

  • OS
    Windows 8.1 Pro with Media Center
    Computer type
    PC/Desktop
    System Manufacturer/Model
    HP COMPAQ Presario CQ57
    CPU
    AMD E- 300 APU with Radion HD Graphics 1.30GHz
    Motherboard
    inbuilt
    Memory
    4GB
    Graphics Card(s)
    ATI
    Sound Card
    High Definition Audio on-board
    Monitor(s) Displays
    notebook
    Screen Resolution
    1366x768
    Hard Drives
    Seagate ST9500325AS
    Google drive 15GB
    Skydrive 25GB
    BT Cloud
    PSU
    external 20v
    Case
    Laptop
    Cooling
    pretty good
    Keyboard
    inbuilt
    Mouse
    touchpad
    Internet Speed
    BT Infinity Unlimited - 80 up 20 down =70/16 really
    Browser
    Chrome Canary usually
    Antivirus
    Windows Defender and Malwarebytes
    Other Info
    no Start menu modifications
    Upgraded with no issues to 8.0 and to 8.1
Ok,

First of all I solved the signature issue disabling x64 driver signature checking (I guess this was necessary due to some device encription drives (freeotfe) I had installed on win7, which required to disable the driver checking which was somehow reenabled when I tried to restore windows 7)

Anyway, now I'm (almost) back at my original point. It means: I can enter the repair mode and console on windows 7 install, which means the loader is close to working, but when I execute startup repair it found no errors, and yet I cannot start windows, because it automatically falls back to this repair mode every time I select to boot windows 7.

Second: Each partition has a disctinct label but I don't know how to specify other than the drive letter using bcdedit command. Is there a bcdedit /set {id} osdevice label="mywin7partitionlabel" command or something?

Any more ideas?
 

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
....Second: Each partition has a disctinct label but I don't know how to specify other than the drive letter using bcdedit command. Is there a bcdedit /set {id} osdevice label="mywin7partitionlabel" command or something?....

Glad to hear that you got rid of signature issue :)

Second way is:

bcdedit /set { YOUR GUID NUMBER } osdevice partition={drive of Windows 7}:
for ex. bcdedit /set {e1b5dcd9-b960-11e1-b749-d6509e56593f} osdevice partition=D:
 

My Computer

System One

  • OS
    Windows 8 RP, Windows 7
    System Manufacturer/Model
    HP / Compaq 610
    CPU
    Intel Core 2 Duo
    Screen Resolution
    1300x768
I suppose I'd delete the windows 8 partition and repair the Windows 7 installation from the windows 7 install DVD first installing another copy of windows 7 where the windows 8 was as a fallback system. I would not bother about activating it.

I'd then try to repair the original windows 7 installation, first by using the DVD startup repair tools then the repair install method, and if they do not work, using the command line, still from the DVD.

If this seems reasonable to you I'll walk you through it
 

My Computer

System One

  • OS
    Windows 8.1 Pro with Media Center
    Computer type
    PC/Desktop
    System Manufacturer/Model
    HP COMPAQ Presario CQ57
    CPU
    AMD E- 300 APU with Radion HD Graphics 1.30GHz
    Motherboard
    inbuilt
    Memory
    4GB
    Graphics Card(s)
    ATI
    Sound Card
    High Definition Audio on-board
    Monitor(s) Displays
    notebook
    Screen Resolution
    1366x768
    Hard Drives
    Seagate ST9500325AS
    Google drive 15GB
    Skydrive 25GB
    BT Cloud
    PSU
    external 20v
    Case
    Laptop
    Cooling
    pretty good
    Keyboard
    inbuilt
    Mouse
    touchpad
    Internet Speed
    BT Infinity Unlimited - 80 up 20 down =70/16 really
    Browser
    Chrome Canary usually
    Antivirus
    Windows Defender and Malwarebytes
    Other Info
    no Start menu modifications
    Upgraded with no issues to 8.0 and to 8.1
Ok, I finally solved it, here is how:

a) Forget about dual letter issues. There are none at all, when using bcdedit just work with the current letter assignment whatever it is (I guess internally the volume id is what's stored, so when you run bcdedit /enum it will always list the whatever-OS-install-currently-running's drive as C: )

b) Before dual installing windows 8, I had a previous bcd fix on my windows 7 install in order to load an unsigned driver which windows 8 install reverted: That's what was causing the "cannot verify winload.exe digital signature" problem.

After learning this, here's what I did:

1) I booted windows 8 and erased ALL the entries on my BCD file one by one using bcdedit /delete {entryguid} (including {bootmbr} and some not showing in the os selection menu), from a cmd console with admin rights.

2) I restored the erased entries booting with a windows 7 installation disk (after language selection click next and then select repair system: the lack of entries on the BCD file is automatically detected and solved)

3) The key thing: I had to put windows 7 bcd entry into test signing mode and disabling integrity checks, just as it was before windows 8 install messed it up, so I booted again windows 8 and input the following commands (on a cmd console with admin rights):

3.1) bcdedit /set {win7entryguid} loadoptions DDISABLE_INTEGRITY_CHECKS
3.2) bcdedit /set {win7entryguid} TESTSIGNING ON
3.3) bcdedit /set {win7entryguid} NOINTEGRITYCHECKS ON

For some reason it didn't work until I did 3.3, despite some forums state that 3.1 and 3.2 is enough.

That's all, hope it can eventually help somebody else.

Regards and all my gratitude to fafhrd and kapilarya. Thanks for your help!
 
Last edited:

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
You could have done it like this:

bcdedit /create /d "Whatever Name" /application osloader

I don't think you can use the label like that - you would need the guid
 

My Computer

System One

  • OS
    7/8/ubuntu/Linux Deepin
    Computer type
    PC/Desktop
yes, every time I meant the guid, sorry for not stating it clearly. Also bcdedit can be used as you pointed out, instead of win7 install/recovery option, but it was simpler for me to let the tool do the work (probably the combo bootrec /rebuildbcd and bootrec /fixboot could also have worked to automatically restore the entries before step 3).
 

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
Ok, I finally solved it, here is how:

a) Forget about dual letter issues. There are none at all, when using bcdedit just work with the current letter assignment whatever it is (I guess internally the volume id is what's stored, so when you run bcdedit /enum it will always list the whatever-OS-install-currently-running's drive as C: )

b) Before dual installing windows 8, I had a previous bcd fix on my windows 7 install in order to load an unsigned driver which windows 8 install reverted: That's what was causing the "cannot verify winload.exe digital signature" problem.

After learning this, here's what I did:

1) I booted windows 8 and erased ALL the entries on my BCD file one by one using bcdedit /delete {entryguid} (including {bootmbr} and some not showing in the os selection menu), from a cmd console with admin rights.

2) I restored the erased entries booting with a windows 7 installation disk (after language selection click next and then select repair system: the lack of entries on the BCD file is automatically detected and solved)

3) The key thing: I had to put windows 7 bcd entry into test signing mode and disabling integrity checks, just as it was before windows 8 install messed it up, so I booted again windows 8 and input the following commands (on a cmd console with admin rights):

3.1) bcdedit /set {win7entryguid} loadoptions DDISABLE_INTEGRITY_CHECKS
3.2) bcdedit /set {win7entryguid} TESTSIGNING ON
3.3) bcdedit /set {win7entryguid} NOINTEGRITYCHECKS ON

For some reason it didn't work until I did 3.3, despite some forums state that 3.1 and 3.2 is enough.

That's all, hope it can eventually help somebody else.

Regards and all my gratitude to fafhrd and kapilarya. Thanks for your help!

I'm glad that you got things right :dinesh: and I'm part of the help ;).
 

My Computer

System One

  • OS
    Windows 8 RP, Windows 7
    System Manufacturer/Model
    HP / Compaq 610
    CPU
    Intel Core 2 Duo
    Screen Resolution
    1300x768
Ok, I finally solved it, here is how:

a) Forget about dual letter issues. There are none at all, when using bcdedit just work with the current letter assignment whatever it is (I guess internally the volume id is what's stored, so when you run bcdedit /enum it will always list the whatever-OS-install-currently-running's drive as C: )

b) Before dual installing windows 8, I had a previous bcd fix on my windows 7 install in order to load an unsigned driver which windows 8 install reverted: That's what was causing the "cannot verify winload.exe digital signature" problem.

After learning this, here's what I did:

1) I booted windows 8 and erased ALL the entries on my BCD file one by one using bcdedit /delete {entryguid} (including {bootmbr} and some not showing in the os selection menu), from a cmd console with admin rights.

2) I restored the erased entries booting with a windows 7 installation disk (after language selection click next and then select repair system: the lack of entries on the BCD file is automatically detected and solved)

3) The key thing: I had to put windows 7 bcd entry into test signing mode and disabling integrity checks, just as it was before windows 8 install messed it up, so I booted again windows 8 and input the following commands (on a cmd console with admin rights):

3.1) bcdedit /set {win7entryguid} loadoptions DDISABLE_INTEGRITY_CHECKS
3.2) bcdedit /set {win7entryguid} TESTSIGNING ON
3.3) bcdedit /set {win7entryguid} NOINTEGRITYCHECKS ON

For some reason it didn't work until I did 3.3, despite some forums state that 3.1 and 3.2 is enough.

That's all, hope it can eventually help somebody else.

Regards and all my gratitude to fafhrd and kapilarya. Thanks for your help!

THIS is what I've been looking for. My problem was exactly the same. Any attempts to boot into Windows 7 from the Windows 8 dual boot were met with that automatic repair that did nothing to remedy the problem. I tried various fixes, start-up repairs, etc., but to no avail.

I had already messed with the bcd entries, and I found just repairing the entries was enough. so I just booted up Windows 8 command prompt and followed your 3.0-3.3 instructions, and after a quick restart, the problem was solved and I can boot into both systems now.

You have my undying gratitude. Signed up for the forum just to let you know that you really helped me out. :)
 

My Computer

System One

  • OS
    Dual Boot Windows 7/8
Please help me through Teamviewer!!!!!!

Ok, I finally solved it, here is how:

a) Forget about dual letter issues. There are none at all, when using bcdedit just work with the current letter assignment whatever it is (I guess internally the volume id is what's stored, so when you run bcdedit /enum it will always list the whatever-OS-install-currently-running's drive as C: )

b) Before dual installing windows 8, I had a previous bcd fix on my windows 7 install in order to load an unsigned driver which windows 8 install reverted: That's what was causing the "cannot verify winload.exe digital signature" problem.

After learning this, here's what I did:

1) I booted windows 8 and erased ALL the entries on my BCD file one by one using bcdedit /delete {entryguid} (including {bootmbr} and some not showing in the os selection menu), from a cmd console with admin rights.

2) I restored the erased entries booting with a windows 7 installation disk (after language selection click next and then select repair system: the lack of entries on the BCD file is automatically detected and solved)

3) The key thing: I had to put windows 7 bcd entry into test signing mode and disabling integrity checks, just as it was before windows 8 install messed it up, so I booted again windows 8 and input the following commands (on a cmd console with admin rights):

3.1) bcdedit /set {win7entryguid} loadoptions DDISABLE_INTEGRITY_CHECKS
3.2) bcdedit /set {win7entryguid} TESTSIGNING ON
3.3) bcdedit /set {win7entryguid} NOINTEGRITYCHECKS ON

For some reason it didn't work until I did 3.3, despite some forums state that 3.1 and 3.2 is enough.

That's all, hope it can eventually help somebody else.

Regards and all my gratitude to fafhrd and kapilarya. Thanks for your help!



I have red this Thread like 20 times and I still can't seem to get your steps to work on my computer :/. Can you please please help me out with the command through teamviewer? I will really appreciate it!!. Also this is my first time posting on a forum so incase I forgot something my e-mail is Wishandgod@hotmail.com
 

My Computer

System One

  • OS
    Windows 8
@erictheluminant Thanks, glad I could help :)

@babylorv

Well, there's people in this forum more capable of helping you than me but basically my problem was that I had a BCD setup on Windows 7 which was altered to allow some stuff to work (unsigned drivers) and was not compatible with Windows 8 auto settings for dual boot (Reasonably, Microsoft policy doesn't allow to automatically have this setup).

So, what you have to do if you are in the same situation as I was is, after installing Windows 8, follow the steps I mentioned on my previous post on this thread to edit the BCD setup and allow unsigned drivers to load again without halts and complains, or else Windows 7 won't boot because it's in signed mode and will detect it's being told to load unsigned stuff which is the best way to have your OS infected with nasty and almost untraceable malicious processes, but on the other hand even indie free and open source software developers are forced to pay a small fortune (250$, if I remember correctly, which I believe is close to a full month of an average programmer's wage in the country I'm currently living in) to get their apps signed so it's kind of a functionality-trust tradeoff you don't usually have to do unless you really NEED the stuff and can't live without it to the point of compromising your enviroment's security, or at least the part based on a chain of trust for signed OS code.

More info:

FGA: The Windows NT 6 boot process

Digital Signatures for Kernel Modules on Windows

Hope this clears some of your doubts. Good luck!
 
Last edited:

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
Thanks for the reply. The recovery drive was the cause of my problem. After I manage to format it my problem was solve and yes with the help of your steps above. But to disable the signature in command prompt I think you need one "d" but in your steps you have two "DD" it was at first confusing but I try one "d" and signature was able to disable. Thanks for your help again.
 

My Computer

System One

  • OS
    Windows 8
I'm pretty sure it's two Ds (DDISABLE) I had to put in my case but whatever, glad you solved it :)
 

My Computer

System One

  • OS
    windows 7/8 dual boot
    System Manufacturer/Model
    Packard Bell Easy Note TS44-HR-244SP
    CPU
    i5-2410@2.3GHz
    Memory
    8GB-DDR3
    Graphics Card(s)
    Intel HD / NVIDIA GeForce GT 540M
    Screen Resolution
    1366x768
    Hard Drives
    Western Digital Scorpio Blue 640 GB SATA 2
    Internet Speed
    depending on neighbour
Back
Top