I have Vista32 in my PC, and after some new hardware related crashes I decided yesterday to completely restore Vista partition from backup with Acronis. However, in the middle of the restore from USB HDD, the backup complained about faulty archive and I ended up with no working C: partition. I reinstalled Vista from DVD and also all the programs.
The loss of the Vista OS partition was not that hard, as all my personal data is on D: and E: on the same drive.
However, as the reinstall started from a situation, where there was empty space instead of C:, I realized only after the install that Vista had set the BCD boot files to D: (the first existing partition at installation start), while the operating system is quite correctly installed to the recreated C:.
The PC works just fine, but I do not like mixing the pure "data partition" D: with the boot sequence. I also realized with the reinstall to destroyed C: that having the BCD data on the OS partition may be problematic at some times. Although everything works now just fine, I would like to transfer the BCD data either to C: or, maybe even better, to a small 2 GB partition S: created for that purpose.
Thus, currently the status is:
I have looked for advice transferring the BCD data to another partition, but have not found very good advice. Based on documentation, I think that EasyBCD does not allow restoring to another drive creating a new BCD storage.
Best discussion/advice I found has been:
Change/delete system partition after BitLocker removal - Vista Forums
Defines the requirements for a 'System' partition. It sounds like I need :copy the correct BCD files to S: and mark that S: partition active. Would that be enough?
Moving Vista Boot Manager (BCD) - Guides and Tutorials - TechEnclave
Sounds working, but requires boot with Vista DVD. Or does it actually?
Recovering the Vista Bootloader from the DVD - NeoSmart Technologies Wiki
Step Four 'Nuclear holocaust' might work. Creating a new store on S:, and then copying the files there, and then marking the partition active. BCDEDIT export, createstore, sysstore and import ? (I fear that the 'sysstore' command might not work as documentation says it is only EFI systems specific...)
Would it work so simply that I would backup BCD with EasyBCD (or VistaBootPro) or manually copy the files, and then manually restore all files to the S: drive, and then mark that as 'Active'? Would that work? Or is there some "system store" setting somewhere?
--------
EDIT: or might this actually work by using the official commands?
Tech Support Guy Forums - View Single Post - Solved: Installed Vista. Now system will not boot without install disk in drive.
So, if
1) the other files (bootmgr, bootsect.bak and boot-directory’s files) are copied to S: (already done)
2) current BCD system store is exported to S:
3) then the function pointers in that new store file (boot manager, memory tester, legady OS loader) are one by one set by using BCDEDIT to point to the newly copied files on volume S: instead of D:
4) Vista Boot sector is copied to S: using Vista DVD media and 'BOOTSECT /NT60 S: /FORCE' from that DVD while still in normal Vista. (This part should be done from command prompt of booted Vista DVD if the target disk has the operating system (C: for me) or is otherwise used by Vista. Instead 'S:' also 'ALL' can be used to force the boot sector to be copied to all partitions.)
5) Active bit in partition table is changed to S: before rebooting by using DISKPART or Disk Management console
Might even work… or how?
Addendum:
Based on the previous thoughts, I thought out the needed commands. Would this work?
First the system store is exported to S:,
then the references in that store file to partition D: are replaced by references to S:,
then the contents are printed out just for verification, just in case
then the boot sector was copied from DVD to S:
and finally DISKPART is used to mark the S: as active.
Addendum:
IT WORKED!!!
Now I have S: as Active & System, and D: is just a normal data partition.
So, this is a way to transfer Vista’s BCD boot manager data to another partition, using only Microsoft own tools and remaining inside the normally running Vista. The Vista DVD media is needed at just one point for running the BOOTSECT command from the media.
The loss of the Vista OS partition was not that hard, as all my personal data is on D: and E: on the same drive.
However, as the reinstall started from a situation, where there was empty space instead of C:, I realized only after the install that Vista had set the BCD boot files to D: (the first existing partition at installation start), while the operating system is quite correctly installed to the recreated C:.
Code:
C:\Users\hannu>bcdedit /v
Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=D:
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {d7909ee9-7166-11dd-9349-98516989298b}
displayorder {d7909ee9-7166-11dd-9349-98516989298b}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30
Windows Boot Loader
-------------------
identifier {d7909ee9-7166-11dd-9349-98516989298b}
device partition=C:
path \Windows\system32\winload.exe
description Microsoft Windows Vista
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
osdevice partition=C:
systemroot \Windows
resumeobject {d7909eea-7166-11dd-9349-98516989298b}
nx OptIn
Thus, currently the status is:
Code:
C: Boot, Page file, etc. (contains actual Vista OS)
D: System, Active (contains the BCD boot manager files) and my data
E: data
S: empty (2 GB)
All partitions are primary partitions, and formatted with NTFS.
Best discussion/advice I found has been:
Change/delete system partition after BitLocker removal - Vista Forums
Defines the requirements for a 'System' partition. It sounds like I need :copy the correct BCD files to S: and mark that S: partition active. Would that be enough?
Moving Vista Boot Manager (BCD) - Guides and Tutorials - TechEnclave
Sounds working, but requires boot with Vista DVD. Or does it actually?
Recovering the Vista Bootloader from the DVD - NeoSmart Technologies Wiki
Step Four 'Nuclear holocaust' might work. Creating a new store on S:, and then copying the files there, and then marking the partition active. BCDEDIT export, createstore, sysstore and import ? (I fear that the 'sysstore' command might not work as documentation says it is only EFI systems specific...)
Would it work so simply that I would backup BCD with EasyBCD (or VistaBootPro) or manually copy the files, and then manually restore all files to the S: drive, and then mark that as 'Active'? Would that work? Or is there some "system store" setting somewhere?
--------
EDIT: or might this actually work by using the official commands?
Tech Support Guy Forums - View Single Post - Solved: Installed Vista. Now system will not boot without install disk in drive.
Based on this article, it sounds like it is possible to set one attribute by time (memory tester, etc.) to a certain disk volume (S: in my case), provided of course that the needed files are there.referred article said:In my case, both the Windows Memory Diagnostic and the Windows Boot Manager
were configured for D:, so I want to change those.
Boot Manager is always reffered to as {9dea862c-5cdd-4e70-acc1-f32b344d4795} and so on, so we use the following commands to make things right.
C:\Windows\system32>bcdedit /set {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=c:
C:\Windows\system32>bcdedit /set {b2721d73-1db4-4c62-bf78-c548a880142d} device partition=c:
So, if
1) the other files (bootmgr, bootsect.bak and boot-directory’s files) are copied to S: (already done)
2) current BCD system store is exported to S:
3) then the function pointers in that new store file (boot manager, memory tester, legady OS loader) are one by one set by using BCDEDIT to point to the newly copied files on volume S: instead of D:
4) Vista Boot sector is copied to S: using Vista DVD media and 'BOOTSECT /NT60 S: /FORCE' from that DVD while still in normal Vista. (This part should be done from command prompt of booted Vista DVD if the target disk has the operating system (C: for me) or is otherwise used by Vista. Instead 'S:' also 'ALL' can be used to force the boot sector to be copied to all partitions.)
5) Active bit in partition table is changed to S: before rebooting by using DISKPART or Disk Management console
Might even work… or how?
Addendum:
Based on the previous thoughts, I thought out the needed commands. Would this work?
Code:
bcdedit /export S:\Boot\BCD
bcdedit /store S:\Boot\BCD /set {9dea862c-5cdd-4e70-acc1-f32b344d4795} device partition=S:
bcdedit /store S:\Boot\BCD /set {b2721d73-1db4-4c62-bf78-c548a880142d} device partition=S:
bcdedit /store S:\Boot\BCD /set {466f5a88-0af2-4f76-9038-095b170dc21c} device partition=S:
bcdedit /store S:\Boot\BCD /enum all /v
VistaDVD:\BOOT\BOOTSECT /NT60 S: /FORCE
DISKPART
select disk 0
select partition 4
active
then the references in that store file to partition D: are replaced by references to S:,
then the contents are printed out just for verification, just in case
then the boot sector was copied from DVD to S:
and finally DISKPART is used to mark the S: as active.
Addendum:
IT WORKED!!!
Now I have S: as Active & System, and D: is just a normal data partition.
So, this is a way to transfer Vista’s BCD boot manager data to another partition, using only Microsoft own tools and remaining inside the normally running Vista. The Vista DVD media is needed at just one point for running the BOOTSECT command from the media.
Last edited: