Rich_Weiss Posted June 9, 2009 Share Posted June 9, 2009 (edited) I have a WinPE.iso that contains a few support tools. It was created from Vista WAIK on an XP PC. The ISO, when burned, and booted from a CD works perfectly. What I would like to do is create a boot.ini menu item called WinPE that would load the ISO from the C: Drive into RAM, and then run it from there so I don't need to carry the CD around with me. I've been able to successfully use Win Builder to create a BootSDI.img, that I've added to the boot.ini and it works perfectly. But I need to stick to MS products if at all possible, and therefore I would like to be able to do the same with the WinPE.iso or any bootable ISO that would fit in RAM.I've been searching on and off for a solution to this for some time, but I can't seem to find any clear directions. I'm hoping someone here can point me in the right direction. Edited June 9, 2009 by Rich_Weiss Link to comment Share on other sites More sharing options...
jaclaz Posted June 9, 2009 Share Posted June 9, 2009 Are we talking about a PE 1.x (XP/Server 2003 based) or a PE 2.x .iso (Vista/Server2008/7 based)?First one can be booted through Server 2003 Ramdisk, see this seemingly unrelated thread AND links given in it:http://www.boot-land.net/forums/?showtopic=4952Second one can be booted through grub4dos .iso mapping:http://www.boot-land.net/forums/index.php?showtopic=5041jaclaz Link to comment Share on other sites More sharing options...
Rich_Weiss Posted June 9, 2009 Author Share Posted June 9, 2009 Thanks for the quick response. Its a PE 2.x .iso (Vista/Server2008/7 based ISO. So I'll check out the 2nd link. Hopefully I can pass control to grub4dos from the ntldr/boot.ini since I need to keep the MS XP boot process intact. Link to comment Share on other sites More sharing options...
WreX Posted June 9, 2009 Share Posted June 9, 2009 My post here might help.You can just put the WIM file you have in your \ISO\sources\ folder on the hard drive and use the Vista Boot Loader configured with bcdedit to boot it. I have my WIM file sitting on C: and XP on D: (but only boot.ini is involved with that). The bcdedit commands in my post show how to set it up that way. You could have both the WIM and your OS on C: as long as boot.ini is pointing at the right location for your OS. Link to comment Share on other sites More sharing options...
Rich_Weiss Posted June 9, 2009 Author Share Posted June 9, 2009 (edited) I still may tweak this a little, or even find another solution, such as suggested by WreX, but so far I've got it working by using Grub4DOS. I discovered that GRUB for NTLDR, can be used to boot into GRUB from the boot.ini menu of Windows XP. Nothing needs to be installed either, which is perfect, since all I have to do is drop my files into the root, and I'm good to go. I simply copied my WinPEx86.iso, and the GRLDR, (which I extraced from Grub4Dos), to the root directory of the C: drive, appended the C:\BOOT.INI with this line: C:\GRLDR="WinPEx86", and then created a menu.lst, that I also put in the root of the C: drive with the following code. timeout 0default 0title WinPEx86find --set-root --ignore-floppies /WinPEx86.isomap /WinPEx86.iso (hd32)map --hookchainloader (hd32)bootThanks everyone. This Board is awesome Edited June 10, 2009 by Rich_Weiss Link to comment Share on other sites More sharing options...
jaclaz Posted June 11, 2009 Share Posted June 11, 2009 Since you use timeout 0, you may want to edit the "embedded" menu in grldr and get rid of menu.lst, too.For the record you do NOT need a "boot" command in a menu.lst entry."boot" is implied (and executed) whenanother "title" line is foundorend of file is reachedjaclaz Link to comment Share on other sites More sharing options...
Rich_Weiss Posted June 11, 2009 Author Share Posted June 11, 2009 (edited) First let me say say thanks to WreX for your info, I'll integrate it into the Vista installs. And to jaclaz, I used your info to tweak the xp version.So here's the latest procedure that I've used for booting a PE 2.x .iso (created from the Vista WAIK) from a XP PC using the Grub4DOS CDROM emulation. Note: This also worked with other bootable ISO images, I simply changed the name of the ISO in the menu to match. I suspect I could even have a list of several ISO's in the menu to choose from, all of which could be in an ISO directory, located on a hidden support/recovery partition, but I will have to look into that idea at another time.Download the Grub4DOS from Grub4DOS ProjectDownload GrubInst from Grub4Dos Utils ProjectCreate a temporary directoryExtract the grldr file, from the Grub4Dos download, to the temporary directoryExtract the grubmenu.exe, from the GrubInst download, to the temporary directoryCreate a new menu.lst in the temporary directory which contains the following code - default 0timeout 0title WinPEx86find --set-root --ignore-floppies --ignore-cd /WinPEx86.isomap /WinPEx86.iso (hd32)map --hookchainloader (hd32)Import the new menu.lst into the grldr using grubmenu.exe by executing the following command from the temporary directory - grubmenu.exe import grldr menu.lstCopy the grldr from the temporary directory to the root of the C: DriveAppended the C:\BOOT.INI with this line: C:\GRLDR="WinPEx86"And finally copy the WinPEx86.iso to the root of the C: Drive - Note: This file must be in one contiguous disk area for drive emulation to work, so defrag it if neccessary, or if you have enough RAM add a --mem option to the menu.lst before importing it by changing the "map /WinPEx86.iso (hd32)" to "map --mem /WinPEx86.iso (hd32)" Edited July 1, 2009 by Rich_Weiss Link to comment Share on other sites More sharing options...
jaclaz Posted June 13, 2009 Share Posted June 13, 2009 Good. Since you use grldr in such a "vertical" way, you can even rename it to something specific, like WinPEx86.jaclaz Link to comment Share on other sites More sharing options...
Rich_Weiss Posted June 14, 2009 Author Share Posted June 14, 2009 Wow, What a good idea. I renamed the grldr to WinPEx86, and changed the boot.ini to match. Thanks again.I now have it successfully booting from a hidden recovery partition as well, and will be using imagex to restore images to the primary drive.PS The next project is going to be getting it to boot from a USB Flash Drive as a system support environment. Link to comment Share on other sites More sharing options...
jaclaz Posted June 14, 2009 Share Posted June 14, 2009 Wow, What a good idea. I renamed the grldr to WinPEx86, and changed the boot.ini to match. Thanks again.You are very welcome.We try to deliver solutions. I now have it successfully booting from a hidden recovery partition as well, and will be using imagex to restore images to the primary drive.PS The next project is going to be getting it to boot from a USB Flash Drive as a system support environment.FYI (since you are not afraid to "dirty your hands" ) a seemingly unrelated, but interesting thread/approach:http://www.boot-land.net/forums/index.php?showtopic=7138jaclaz Link to comment Share on other sites More sharing options...
Rich_Weiss Posted July 2, 2009 Author Share Posted July 2, 2009 As you can all see, and thanks to everyones help, I've got this working exactly like I wanted it to from the local HD's, However, after spending a considerable amount of time, I've been unsuccessful in getting this Vista PE ISO to boot from a USB Flash Drive. I copied the files from the working HD to the flash drive, however when grub finds the ISO and begins to load it, the led on the flash drive indicates activity, but the image never finishes loading. In fact there is no indication that it even started to load (ie the progress bar across the bottom never shows up) I can load other ISO's, off of the flash drive, by using the exact same grub menu.lst, and syntax, but not the ISO that I created from the Vista PE WAIK I've tried different flash drives, reformatted the Flash Drive. I've defragged the ISO, tried loading grub from DOS instead of from the ntldr/ boot.ini. I tried to use the --mem option to load the ISO to RAM first, and yet I can't figure out what I'm missing. If I remove the ISO from the Flash Drive, and copy it to the local HD the "find --set-root" in the menu.lst on the Flash Drive, locates it on the HD, and it runs perfectly.I am assuming its either the ISO itself (since other ISO's load from the flash drive) or the syntax / emulation of how I'm calling it from the menu.lst (but again it works fine when located on the HD). Could it be that Vista is resetting the USB ports before the ISO can finish loading, like the XP install does? But then why didn't the --mem option work? I'm at my wits end. Link to comment Share on other sites More sharing options...
jaclaz Posted July 2, 2009 Share Posted July 2, 2009 (edited) Only things that seems possible at first sight, since you tested almost everything, is that since you are using the .iso bootsector (chainloader (hd32)) it is this latter one that fails, or maybe you are missing a root command.Try chainloading the actual bootmanager in the .iso, like title WinPEx86find --set-root --ignore-floppies --ignore-cd /WinPEx86.isomap /WinPEx86.iso (hd32)map --hookroot (hd32)chainloader /BOOTMGRjaclaz Edited July 2, 2009 by jaclaz Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now