Jump to content

zcaa0g

Member
  • Posts

    3
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Posts posted by zcaa0g

  1. Thanks for both of your responses. I am looking to deploy this in the future to about 1500 workstations, so I have to make sure it's flawless, so I will have to run through different scenarios. A second partition isn't too big of a deal as I can always hide and lock that from access within the Windows environment anyway, so the users can't mess anything up. I may go that route. Thanks again.

  2. Hmmm, same problem. The boot manager shows up correctly after running this and while Windows XP boots up fine and the recovery console boots up fine, the WinPE selection receives the following error message:

    Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:

    1. Insert your Windows installation disc and restart your computer.

    2. Choose your language settings, and then click "Next."

    3. Click "Repair your computer."

    If you do not have this disc, contact your system administrator or computer manufacturer for assistance.

    Status: 0xc000000f

    Info: The boot selection failed because a required device is inaccessible.

    My process is I throw on a clean Windows XP image that has the Windows XP and Recovery Console boot options and no 'Boot Manager' yet. Then I boot from WinPE 2 and run the aforementioned batch file process in this thread and all that runs without error. Then once I reboot, the 'Boot Manager' shows up with all three of the entries, but the WinPE option fails with the aforementioned error.

    Any ideas anyone?

  3. Is there a surefire way to have a WinXP and WinPE 2 dual boot on the same local drive and partition with Windows already being installed and THEN adding WinPE 2 as a boot option?

    I've tried the VB script below (referenced here: http://technet.microsoft.com/en-us/magazine/cc194422.aspx) to add dual boot functionality for WinXP and WinPE 2, but it never displayed the Windows PE option, but the Boot Manager did operate correctly outside of that, but I have a bad feeling that it wouldn't work anyway since that part didn't work.

    Dim WshShell, FSO 
    Set WshShell = WScript.CreateObject("WScript.Shell")
    Set FSO = WScript.CreateObject("Scripting.FileSystemObject")

    IF FSO.FolderExists("c:\boot") then
    Msgbox "The ""c:\boot"" folder already exists. Please delete it (to verify you want it overwritten)."
    END IF

    WSHShell.run "bcdedit /createstore", 0, TRUE
    WSHShell.run "bcdedit /create {ramdiskoptions} /d ""Boot Windows PE""", 0, TRUE
    WSHShell.run "bcdedit /set {ramdiskoptions} ramdisksdidevice partition=c:", 0, TRUE
    WSHShell.run "bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi", 0, TRUE
    Set getGUID = WshShell.Exec("bcdedit -create /d ""Windows PE"" /application OSLOADER")
    Do While getGUID.Status = 0
    WScript.Sleep 100
    Loop

    'Fun little set of code to grep out the GUID
    strGUID = getGUID.StdOut.ReadAll
    arr1GUID = Split(strGUID, "{")
    arr2GUID = Split("{"&arr1GUID(1), "}")
    strGUID = arr2GUID(0)&"}"

    WSHShell.run "bcdedit /set "&strGUID&" device ramdisk=[c:]\boot\boot.wim,{ramdiskoptions}", 0, TRUE
    WSHShell.run "bcdedit /set "&strGUID&" path \windows\system32\winload.exe", 0, TRUE
    WSHShell.run "bcdedit /set "&strGUID&" osdevice ramdisk=[c:]\boot\boot.wim,{ramdiskoptions}", 0, TRUE
    WSHShell.run "bcdedit /set "&strGUID&" systemroot \windows", 0, TRUE
    WSHShell.run "bcdedit /set "&strGUID&" winpe yes", 0, TRUE
    WSHShell.run "bcdedit /set "&strGUID&" detecthal yes", 0, TRUE

    WSHShell.run "Bcdedit /create {bootmgr} /d ""Boot Manager""", 0, TRUE
    WSHShell.run "Bcdedit /set {bootmgr} device boot", 0, TRUE
    'Create the entry to boot Windows XP (or whatever OS's you have booting via boot.ini
    WSHShell.run "bcdedit /create {ntldr} /d ""Windows XP""", 0, TRUE
    WSHShell.run "bcdedit /set {ntldr} device partition=C:", 0, TRUE
    WSHShell.run "bcdedit /set {ntldr} path \ntldr", 0, TRUE
    WSHShell.run "bcdedit /displayorder {ntldr} /addfirst", 0, TRUE

    'Without these files, the system won't boot
    CheckFile "BOOTMGR", 1
    CheckFile "BOOT\BOOT.SDI", 1
    CheckFile "SOURCES\BOOT.WIM", 1

    'You won't need these files unless you want additional language support at boot time.
    CheckFile "BOOT\FONTS\CHS_BOOT.TTF", 0
    CheckFile "BOOT\FONTS\CHT_BOOT.TTF", 0
    CheckFile "BOOT\FONTS\JPN_BOOT.TTF", 0
    CheckFile "BOOT\FONTS\KOR_BOOT.TTF", 0
    CheckFile "BOOT\FONTS\WGL4_BOOT.TTF", 0

    Msgbox "Your system is now set up to boot Windows PE 2.0 as well as your previous operating systems."

    'Function to check for and copy the necessary files for BOOTMGR functionality
    FUNCTION CheckFile(FilePath,bCrit)
    IF NOT FSO.FileExists(FilePath) then
    If bCrit = 1 THEN
    IF FilePath = "BOOTMGR" THEN
    Msgbox "Script could not find the file "&FilePath&", which is needed to set up the system to boot to Windows PE 2.0."&vbcrlf&"Please place it in the same directory as this script and re-start the script."
    ELSE
    Msgbox "Script could not find the file "&FilePath&", which is needed to set up the \boot directory."&vbcrlf&"Please place it in a directory named ""boot"" (or ""sources"" for the boot.wim file to be copied) in the same directory as this script and re-start the script."
    END IF
    END IF
    ELSE
    IF FilePath = "SOURCES\BOOT.WIM" THEN
    FSO.CopyFile FilePath, "C:\BOOT\BOOT.WIM"
    ELSE
    IF NOT FSO.FolderExists("c:\boot\fonts") THEN
    FSO.CreateFolder("c:\boot\fonts")
    END IF
    FSO.CopyFile FilePath, "C:\"&FilePath
    END IF
    END IF
    END FUNCTION

    I also tried the batch routine from WreX below and it will show the WinPE option in the boot menu and XP and the receovery console work fine, however, it gets the Status:0xc000000f error message that "The Boot selection failed because a required device is inaccessible.". And I assume I need to apply the WinPE.wim to a certain path, but I am not sure of where.

    xcopy D:\BOOT\*.* /e /f /y C:\BOOT\
    copy D:\BOOTMGR C:\
    IF EXIST C:\BOOT\BCD DEL C:\BOOT\BCD
    IF NOT EXIST C:\TEMP MD C:\TEMP
    IF EXIST C:\TEMP\BCD DEL C:\TEMP\BCD
    bcdedit -createstore C:\TEMP\BCD
    bcdedit -store C:\TEMP\BCD -create {bootmgr} /d "Boot Manager"
    bcdedit -store C:\TEMP\BCD -set {bootmgr} device boot
    bcdedit -store C:\TEMP\BCD -create {ramdiskoptions} /d "WinPE"
    bcdedit -import C:\TEMP\BCD
    bcdedit -set {ramdiskoptions} ramdisksdidevice partition=C:
    bcdedit -set {ramdiskoptions} ramdisksdipath \BOOT\BOOT.sdi
    for /f "tokens=3" %%a in ('bcdedit -create /d "WinPE" -application osloader') do set guid=%%a
    bcdedit -set %guid% device ramdisk=[C:]\WINPE\WINPE.WIM,{ramdiskoptions}
    bcdedit -set %guid% path \WINDOWS\SYSTEM32\BOOT\WINLOAD.EXE
    bcdedit -set %guid% osdevice ramdisk=[C:]\WINPE\WINPE.WIM,{ramdiskoptions}
    bcdedit -set %guid% systemroot \WINDOWS
    bcdedit -set %guid% winpe yes
    bcdedit -set %guid% detecthal yes
    bcdedit -displayorder %guid% -addlast
    bcdedit -create {ntldr} /d "Windows XP Professional"
    bcdedit -set {ntldr} device boot
    bcdedit -set {ntldr} path \ntldr
    bcdedit -displayorder {ntldr} -addfirst
    bcdedit -default {ntldr}
    bcdedit -timeout 5
    bootsect /nt60 C:

    If anyone has any suggestions, it would be greatly appreciated! Thanks.

×
×
  • Create New...