randalldale Posted February 25, 2010 Posted February 25, 2010 I do OS image deployments for customers on multiple platforms and multiple languages on multiple OS's. I'm now begining my deployment for Windows 7 and have hit a major stumbling block.The above error happens at the end of my installation when running 'bcdboot.exe d:\windows'As far as the install goes it is a self generating HDD install system. 1. Four partitions are created #1 is the 200mb System, #2 is the OS partition, #3 is the WinPE boot partition for the image build set as active, #4 is the imaging files location.2. Upon boot of the image install the system sets partition letters for installing using diskpart.exe 3. An interview using an HTA file starts up asking Name, Language, Timezone, and location.4. Using an WMI call to the baseboard I get the SYSID so that the right driver set can be applied.5. Once the user selects Ok in the HTA interview screen the imaging is all automated. 6. The very last thing that I do before rebooting is call bcdboot s:\Windows (because 'S' is the actual driver letter at the time of the windows install, I've also tried using 'D' but it doesn't work either) then I remove the extra partitions and set the #1 partition as active using diskpart.exe then reboot.This system works fine under my windows XP install and the only real difference is the 200MB system partition. I've tried varying the sequence but it doesn't seem to matter. Any ideas?As always thanks for the help,Randall Dale
Tripredacus Posted February 25, 2010 Posted February 25, 2010 Do not assign the System Reserved partition a drive letter. Assign the OS partition the C letter. Then run BCDBOOT.EXE C:\WINDOWS.
randalldale Posted February 25, 2010 Author Posted February 25, 2010 (edited) I actually had not been assigning it a letter until the last couple of attempts but will rest it and confirm it. To Make sure I understand my diskpart TXT looks like this:select disk 0cleancreate partition primary size=200create part primary size=15000Create part primary size=200create partition primary size=18000select partition 4assign letter=rformat quick fs=ntfs label="image"select partition 3activeassign letter=iformat quick fs=fat32 label="WinPE"select partition 2assign letter=sformat quick fs=ntfs label="Windows"select partition 1format fs=ntfs label="system"assign letter=cexitAnd you want me to make it like this ?:select disk 0cleancreate partition primary size=200create part primary size=15000Create part primary size=200create partition primary size=18000select partition 4assign letter=rformat quick fs=ntfs label="image"select partition 3activeassign letter=iformat quick fs=fat32 label="WinPE"select partition 2assign letter=sformat quick fs=ntfs label="Windows"select partition 1format fs=ntfs label="system"exitCorrect?More to follow...Thanks,RD Edited February 25, 2010 by randalldale
randalldale Posted February 25, 2010 Author Posted February 25, 2010 No difference 'bcdboot.exe c:\windows' still has the same issue...BFSVC:BcdOpenSystemStore failed with unexpected error code, Status = [c0000098]I found the code on some different websites but know one has so far been able to say what the error is.RD
randalldale Posted February 26, 2010 Author Posted February 26, 2010 Fixed!!!Ok guys, here is what it took to fix the boot system. As stated earlier my installs run from the HDD. Whenever I was installing using DVDs I had no issues. But when I ported the Windows 7 install over to the HDD install I contiunally got the above issue.What I found was while I need to create the whole HDD structure up front the 200mb 'System' partition needs to stay raw until you are ready to reboot. In other words here is my text for my diskpart to create the structure:select disk 0cleancreate partition primary size=200create part primary size=15000Create part primary size=200create partition primary size=18000select partition 4assign letter=rformat quick fs=ntfs label="image"select partition 3activeassign letter=iformat quick fs=fat32 label="WinPE"select partition 2assign letter=sformat quick fs=ntfs label="Windows"exitNotice nothing is mentioned about the first partition except to create it. Then when I'm ready to reboot I make these two calls.objWShell.Run "cmd /c diskpart.exe /S x:\windows\system32\delPart.txt", 0, True objWShell.Run "cmd /c bcdboot.exe s:\windows",0, TruedelPart.txt has the following:select disk 0select part 4Delete partselect part 3Delete partselect part 1format fs=ntfs label=systemactiveexitThere you have it, if you want to do a HDD install you need to make sure that the 'system' partition is not formated or set active until you are ready to reboot. This way during the install someone can pull the power and the system will restart at the begining each time right up to the last two call tags. Makes it almost stupid proof, almost.In case you are wondering if you want to do such a structure you also need a .txt file to call each time the system boots to set the install structure. Here is mine:select disk 0select partition 4assign letter=zselect partition 3assign letter=iselect partition 2assign letter=sformat quick fs=ntfs label=WindowsexitThat way I can hard code my drives and not worry about them changing each boot. I install from the 'Z' and install to the 'S' drive that way you do not have to worry about drive letters being available.
Tripredacus Posted February 26, 2010 Posted February 26, 2010 I sometimes run into systems where the C is not available, because some other drive takes it. I run the following diskpart script, which so far, the destination letter has always worked:sel vol cassign letter=eexitThat will fix your issue with the C being taken my something else.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now