multiboot winpe2 and winpe3 isolinux
#1
Posted 08 May 2011 - 05:29 PM
I have probably done about 4 hours of research on this and haven't found a clear answer on this. First I'll provide you with some background; I am rebuilding my companies troubleshooting disk and am going from easyboot to isolinux to provide better compatibility, network book option, and ability to boot from flash drive. In upgrading the disk I decided that I wanted to switch up the virus removal tools and since we resell NOD32 it was only natural to include a SysRescue option. So my problem is this: We currently have a WinPE 2 image that has a myriad of small tools in that I like to avoid rebuilding if I can and the ESET SysRescue disk is based on WinPE 3. Right now I have unpacked all the iso files for the SysRescue disk in my cd root and have added the following to my islolinux.cfg file:
[codebox]LABEL eset
MENU LABEL ESET SysRescue
BOOT /boot/etfsboot.com[/codebox]
Now this works fine running 1 PE from my disk but how would I go about adding my WinPE 2 image back to the disk image as well without overlapping files and how would that work with efsboot.com.
Any help would be appreciated.
Thanks in advance!
#2
Posted 08 May 2011 - 06:33 PM
Where did you learn that you could boot etfsboot.com from ISOLINUX? Is that a Microsoft program? It looks like it might be and that it's an El Torito Filesystem Bootstrap program....Right now I have unpacked all the iso files for the SysRescue disk in my cd root and have added the following to my islolinux.cfg file:
LABEL esetMENU LABEL ESET SysRescueBOOT /boot/etfsboot.com
Is WinPE 2 based on Vista?
--- EDIT ---
Ah, it appears that etfsboot.com simply chains BOOTMGR. So perhaps you can manipulate your BCD store to load the Vista PE. Maybe bcdedit can help with that.
#3
Posted 08 May 2011 - 06:53 PM
I need to make a multiboot DVD based on Isolinux
and etfsboot.comwith two istances of PE, a 2.0 and a PE 3.0
Then further "translate" it to:
I need to make a multiboot DVD
based on Isolinux and etfsboot.comwith two istances of PE, a 2.0 and a PE 3.0
For which probably the plainer solution is to use grub4dos and ISO booting, like here:
http://reboot.pro/forum/66/
http://reboot.pro/5041/
http://reboot.pro/5041/page__st__14 (pe 2.0)
http://reboot.pro/5041/page__st__27 (pe 3.0)
Mind you it should be possible to use as well Syslinux/Memdisk, but I have not experience with that:
http://reboot.pro/8258/
Wonko
#4
Posted 08 May 2011 - 07:26 PM
@Wonko does loading the ISO work pretty well or would I need pretty beefy systems to be able to do this? Some of the computer we work on barley have 512MB ram so I would have concerns there. I'll do some reading on this links you sent me and see what I can do!
Thank you both for your speedy replies.
#5
Posted 08 May 2011 - 08:09 PM
You don't say how you are "building" all of this, so I attached a winbuilder script that I use to add Active@Disk boot iso to a win7PE_SE project as another OS...It uses the tricks that are on the rmprep website to do the same sort of things a bcdedit would do (in fact, I use bcdedit in the script to do some updates to the images files). While the example uses GRUB, you can just as easily us isolinux.@Sha0 thanks for the help, bcdedit may work but then I would be worried about overlapping system files with two different OS's (vista and 7). Is the way I am booting windows from the disk not a standard way? Is there a way that you would recommend over this I am not set in my ways as this is my first experience with ISOLINUX/SYSLINUX.
@Wonko does loading the ISO work pretty well or would I need pretty beefy systems to be able to do this? Some of the computer we work on barley have 512MB ram so I would have concerns there. I'll do some reading on this links you sent me and see what I can do!
Thank you both for your speedy replies.
If you have enough RAM to load the ISO image into memory and then also the running WinPE, then, as Wonko mentioned, you can make GRUB do the work to map the iso, and then just boot it...You can do similar things using memdisk (from isolinux). There is also a nice tutorial on the RMPrepUSB site for using imdisk as well...
I think the winbuilder script is pretty straight forward, but if you have any trouble deciphering it, let me know...
Attached Files
#6
Posted 08 May 2011 - 08:12 PM
If the post helped at all, then you're welcome, I'm sure, but... You could help me, too:@Sha0 thanks for the help,
Where did you learn that you could boot etfsboot.com from ISOLINUX?
My impression is that the BCD store can specify different paths for different boot.wim files for different boot options.bcdedit may work but then I would be worried about overlapping system files with two different OS's (vista and 7).
Using ETFSBOOT.COM from ISOLINUX? That's why I'm asking where you learned it from. If there are any .SDI files involved, you can try Syslinux' SDI.C32 module, which, of course, like all COMBOOT32 modules, works with [SYS|ISO|EXT|PXE]LINUX.Is the way I am booting windows from the disk not a standard way?
If ETFSBOOT.COM can be chained-to with that simple BOOT directive, that's news to me and scores bonus points. Otherwise, you can also try skipping ETFSBOOT.COM thusly:Is there a way that you would recommend over this I am not set in my ways as this is my first experience with ISOLINUX/SYSLINUX.
LABEL bootmgr COM32 chain.c32 APPEND fs ntldr=boot/bootmgr
I'm not sure that Wonko the Sane was suggesting using...Some of the computer we work on barley have 512MB ram so I would have concerns there.
grub> map --mem /foo.iso (hd32) grub> map --hookBut perhaps the non-RAM-disc method:
grub> map /foo.iso (hd32) grub> map --hookOr maybe he was suggesting to use GRUB4DOS instead of ISOLINUX so that you could do the same thing as the chain.c32 above, thusly:
grub> chainloader /boot/bootmgr grub> bootAs far as "beefy" goes, you might enjoy learning about the double-RAM requirement and how it is only applicable to certain scenarios.
#7
Posted 08 May 2011 - 09:49 PM
@sbaeder
The existing WinPE 2 (VistaPE) was created using winbuilder and I haven’t put it in the new image (that’s what this post hopefully will accomplish). I dont want to recreate because it works for what we need so there is no point to reinvent the wheel--unless it is necessary to get this dual boot business to work. The ESET SysRescue ISO was created using the "Create rescue CD" wizard in ESET NOD32 antivurs and required WAIK (can be Vista based or 7--I chose 7 but am not opposed to going back to Vista). On this new disk I also boot a plethora of img files such as Seatools, Killdisk, DBAN, etc. as well as Parted Magic and Offline NT Password & Registry editor. I can get you my .cfg files if you'd like. Also I am using the latest SYSLINUX 4.04.
DVD_root \isolinux < All isolinux config files stored here \images < All disk images stored here (ima,img,imz,gz,etc.) \kernel < Kernel images sotred here such as memdisk and some for gparted and offline password \BOOT < Exported from ESET SysRescue ISO BCD < Exported from ESET Sysrescue ISO efsboot.com < Copied from BOOT folder on Windows 7 install disk \PROGRAM FILES < Exported from ESET Sysrescue ISO \PROGRAMDATA < Exported from ESET Sysrescue ISO \USERS < Exported from ESET Sysrescue ISO \WINDOWS < Exported from ESET Sysrescue ISO BOOTMGR < File exported from ESET Sysrescue ISOThen I wrap it all up in ISO format using mkisofs using the following command:
mkisofs -o output.iso -iso-level 4 -N -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table DVD_root
@Sha0
I learned of the efsboot.com method from here:
http://www.msfn.org/...inux-windows-7/
Ideally I would like to stick with SYSLINUX since I have already invested a hefty portion of time into converting from easyboot and everything I have everything converted except our PE thus far. We often use tools like DLC2011(hirens boot cd), HawkPE, etc. and I was basically trying to copy the way they boot but it is more difficult than it sounds. Is GRUB4DOS basically a "replacement" for ISOLINUX or can they be used in conjunction with one another because it sounds like it may be a viable option other than being hit or miss with ISO images. I will look into BCDEDIT and see if there’s a way to chop the two together if you think that'll work otherwise if there’s a more preferred method to booting multiple PE (from different version) I am defiantly open to suggestions.
Thanks everybody for all the great links--I'm still chugging my way through them!
Edited by mille535, 08 May 2011 - 09:51 PM.
#8
Posted 08 May 2011 - 09:56 PM
#9
Posted 08 May 2011 - 10:33 PM
Where are the .WIM files and what are they called? I'm pretty sure it boils down to that. You can hopefully bcdedit the BCD store to boot either one of them....I can get you my .cfg files if you'd like. Also I am using the latest SYSLINUX 4.04.
DVD_root \isolinux < All isolinux config files stored here \images < All disk images stored here (ima,img,imz,gz,etc.) \kernel < Kernel images sotred here such as memdisk and some for gparted and offline password \BOOT < Exported from ESET SysRescue ISO BCD < Exported from ESET Sysrescue ISO efsboot.com < Copied from BOOT folder on Windows 7 install disk ...
If I'm not mistaken, there shouldn't be much concern about "files overlapping" because .WIMs are loaded into RAM and the OS is contained therein. Thus if the .WIMs have different names, that's that.
Thanks!I learned of the efsboot.com method from here:
http://www.msfn.org/...inux-windows-7/
Different Windows versions load differently. The same Windows version on different media types might load differently too. For example, I don't think ETFSBOOT.COM would be involved for a non-CD scenario (or virtual CD)....I was basically trying to copy the way they boot but it is more difficult than it sounds.
GRUB4DOS is another boot-loader, as each of the Syslinux suite of boot-loaders are boot-loaders.Is GRUB4DOS basically a "replacement" for ISOLINUX or can they be used in conjunction with one another because it sounds like it may be a viable option other than being hit or miss with ISO images.
Definitely worth a try. Did you take a look at sbaeder's script regarding its BCD store editing?I will look into BCDEDIT and see if there’s a way to chop the two together if you think that'll work otherwise if there’s a more preferred method to booting multiple PE (from different version) I am defiantly open to suggestions.
Well I'm pretty sure MS has a way to boot a .WIM via TFTP. Whatever their PXE payload is, I'm certain you can boot it from PXELINUX.Also I this isn't really a priority for me right now but the method I used don’t look like it'll support network booting via PXELINUX.
Right. The same tools available from a variety of sources, even with the same menu system. That's certainly something that the Syslinux suite strives for....but if there is a solution to dual boot these PE's that works from DVD, network, and/or flash drive that would be my...route.
#10
Posted 08 May 2011 - 11:58 PM
Where are the .WIM files and what are they called? I'm pretty sure it boils down to that. You can hopefully bcdedit the BCD store to boot either one of them.
If I'm not mistaken, there shouldn't be much concern about "files overlapping" because .WIMs are loaded into RAM and the OS is contained therein. Thus if the .WIMs have different names, that's that.
Actually that’s part of my problem the ESET disk doesn’t include any .WIM files so I was thinking about running this wizard again and trying to catch it in the temp folder before it spits out the ISO so as of right now no .WIMs just basically flat files--however I do believe that the VistaPE for general uses does have .WIM files on the disk.
Different Windows versions load differently. The same Windows version on different media types might load differently too. For example, I don't think ETFSBOOT.COM would be involved for a non-CD scenario (or virtual CD).
Correct and this isn't my ideal setup I just found it after a few hours of reading at like 3am and decided to give it a try.
Definitely worth a try. Did you take a look at sbaeder's script regarding its BCD store editing?
Still running through all those links from previous posts but I am just about to take a look at them, just wondering how it's going to work w/o .WIM files.
#11
Posted 09 May 2011 - 12:28 AM
#12
Posted 09 May 2011 - 02:08 AM
If it doesn't use a .WIM, then perhaps it uses another mechanism to load the OS' filesystem into RAM all at once.So after reading through sbaeder's script it does provide some insight on the bcdedit side so I guess from here it’s just a matter of trying to capture the .WIM for ESET SysRescue than figuring out how exactly to boot .WIMS, any suggestions would be greatly appreciated.
If it really just uses the CD media as its boot filesystem, then it's not going to work very well having a virtual CD via MEMDISK (as a RAM disc) or GRUB4DOS (as either a RAM disc or a sector-mapped disc), unless you use a driver such as WinVBlock or Firadisk, or unless you're actually booting from CD (as your original post is). In other words, if it requires a CD but you are not using a physical CD, then you either need a Windows virtual CD driver or you have to abandon the USB and PXE approaches.
#13
Posted 09 May 2011 - 02:34 AM
That is not a problem to ditch PXE and USB my main goal in rewriting this disk was greater compatibility with systems, it was just icing on the cake, as easyboot can be sort of flakey on common systems (a lot of Toshibas and newer HPs).If it doesn't use a .WIM, then perhaps it uses another mechanism to load the OS' filesystem into RAM all at once.
If it really just uses the CD media as its boot filesystem, then it's not going to work very well having a virtual CD via MEMDISK (as a RAM disc) or GRUB4DOS (as either a RAM disc or a sector-mapped disc), unless you use a driver such as WinVBlock or Firadisk, or unless you're actually booting from CD (as your original post is). In other words, if it requires a CD but you are not using a physical CD, then you either need a Windows virtual CD driver or you have to abandon the USB and PXE approaches.
Right now I am leaning towards (and vigorously researching) using GRUB4DOS to chainload just the ISO files so I will be able to boot with my ESET SysRescue PE and out VistaPE--unless other methods will work better.
I tried watching the temp folder when recreating the SysRescue disk but the .WIM in the temp folder was basicly just a blank generic WIM file with none of the ESET binaraies. I looked at DLC2011(hirens) and they have .WIM files but it looks like whoever authored that disk created the files themselves.
#14
Posted 09 May 2011 - 02:59 AM
As mentioned, if you attempt to use an .ISO file as a virtual CD/DVD, you need a Windows driver such as WinVBlock or Firadisk. Otherwise, Windows has no idea that an .ISO on your physical CD/DVD is supposed to be a virtual CD/DVD.Right now I am leaning towards (and vigorously researching) using GRUB4DOS to chainload just the ISO files so I will be able to boot with my ESET SysRescue PE and out VistaPE--unless other methods will work better.
#15
Posted 09 May 2011 - 03:30 AM
Sorry must have missed that--I think I'm going to ask ESET if there is a way their wizard can give me a .WIM file--otherwise I'll just stick with the efsboot.com methed for now and worry about adding the second PE...talk about information overload!As mentioned, if you attempt to use an .ISO file as a virtual CD/DVD, you need a Windows driver such as WinVBlock or Firadisk. Otherwise, Windows has no idea that an .ISO on your physical CD/DVD is supposed to be a virtual CD/DVD.
#16
Posted 09 May 2011 - 05:02 AM
#17
Posted 09 May 2011 - 06:00 AM
Cool!...I was able to generate an ISO with a .WIM file
I think it's worth a try....I am assuming I will have to use bcdedit to modify the BCD file is that correct?
Nope. In ISOLINUX you'd have an option to chain BOOTMGR using the chain.c32 module as described in a previous post. (Adjust to accurately reflect whatever directory BOOTMGR is in.)And if that is the case how would I call the two different PE's using isolinux? Once again I am guessing it would be some commend in the APPEND field in my isolinx.cfg file?
Then BOOTMGR would give you your [further] choice of which .WIM to boot.
Lots of choices.
#18
Posted 09 May 2011 - 08:15 AM
Any "normal" PE 2.x or PE 3.x .iso actually boots a .wim file.
Basically grub4dos maps temporarily the .iso containing the .wim as if it was a "real" CD/DVD.
Then the "normal" mechanism of PE booting is started, the .wim is loaded by BOOTMGR, etc., etc.
If you prefer, a "normal" PE 2.x or 3.x .iso is made of a CD/DV DVD=ISO (remember that the .iso is the CD/DVD and the CD/DVD is the .iso
containing:
\BOOTMGR
\boot\BCD
\SOURCES\boot.wim
\other files or directories
Let's say that the PE 2.0 .iso is made of (fictional names, for the sake of the example):
- \BOOTMGR2
- \boot\BCD2
- \SOURCES\boot2.wim
- \other files or directories2
And that the PE 3.0 .iso is made of (again fictional names, for the sake of the example):
- \BOOTMGR3
- \boot\BCD3
- \SOURCES\boot3.wim
- \other files or directories3
The easiest is to have:
- Outer .iso containing:
- bootmanager capable of mapping .iso files (grub4dos or possibly Syslinux)
- Inner .iso "2" containing:
\BOOTMGR2
\boot\BCD2
\SOURCES\boot2.wim
\other files or directories2 - Inner .iso "3" containing:
\BOOTMGR3
\boot\BCD3
\SOURCES\boot3.wim
\other files or directories3
This way everything is "separated" and "modular" and you can "substitute" the "Outer .iso" (which is nothing but a "container") with (still examples):
- Partition on USb stick
- PXE server directory
The other approach is IMHO more complex, you need to combine the contents of the two .iso's, something like:
\BOOTMGR3 (latest version that should be backwards compatible)
\boot\BCDdual boot (edited BCD with provisions for two items)
\SOURCES\boot2.wim
\SOURCES\boot3.wim
\other files or directories2
\other files or directories3
As you can see things are "mixed" and it is more likely that a conflict of some kind will be generated.
@Sha0
The actual .iso mapping by the PE is irrelevant with the proposed approach.
Let's say you have inside the CD DVD:
- grldr
- menu.lst
- PE2.ISO
- PE3.ISO
Contents of menu.lst:
title PE 2.0 map /PE2.0 (hd32) map --hook root (hd32) chainloader /BOOTMGR title PE 3.0 map /PE3.0 (hd32) map --hook root (hd32) chainloader /BOOTMGR
See given successful reports:
http://reboot.pro/5041/page__st__14
http://reboot.pro/5041/page__st__27
The "special" case is actual Windows 7 install (that DOES need to re-access the CD/DVD) see:
http://reboot.pro/5041/page__st__26
solved by adding a driver, see:
http://reboot.pro/9076/
and steve6375's solution:
https://sites.google...iskautounattend
For the record there is also a "third way", a single .wim file containing different PE's/whatever, but again not easy-peasy:
https://sites.google.../multi_boot-wim
Wonko
#19
Posted 09 May 2011 - 07:10 PM
First I tried booting from the SDI files:
LABEL eset-test COM32 /kernel/sdi.c32 APPEND /boot/boot.sdiresulted in the following error:
No BOOT BLOB in image
invalid SDI file or insufficent memory
Then I attempted chainloading:
LABEL bootmgr COM32 /kernel/chain.c32 APPEND fs ntldr=/bootmgrresulted in the following error:
Windows Boot Manager:
An error occured while attempting to read the boot configuration data
Wonko that does sound like it is much simpler do you know if that would be PXE and flash drive capable? I am a little busy here at work but I'll definitely read through those links with more detail today.
#20
Posted 09 May 2011 - 07:16 PM
Wonko that does sound like it is much simpler do you know if that would be PXE and flash drive capable?
Sure they are, if you read the given links they are about booting .iso from (mainly) USB sticks.
And yes, it can be done also through PXE.
Wonko
#21
Posted 10 May 2011 - 12:44 AM
Let's see if something can be cleared.
Any "normal" PE 2.x or PE 3.x .iso actually boots a .wim file.
Basically grub4dos maps temporarily the .iso containing the .wim as if it was a "real" CD/DVD.
Then the "normal" mechanism of PE booting is started, the .wim is loaded by BOOTMGR, etc., etc.
If you prefer, a "normal" PE 2.x or 3.x .iso is made of a CD/DV DVD=ISO (remember that the .iso is the CD/DVD and the CD/DVD is the .iso
containing:
\BOOTMGR
\boot\BCD
\SOURCES\boot.wim
\other files or directories
Let's say that the PE 2.0 .iso is made of (fictional names, for the sake of the example):
- \BOOTMGR2
- \boot\BCD2
- \SOURCES\boot2.wim
- \other files or directories2
And that the PE 3.0 .iso is made of (again fictional names, for the sake of the example):
- \BOOTMGR3
- \boot\BCD3
- \SOURCES\boot3.wim
- \other files or directories3
The easiest is to have:
- Outer .iso containing:
- bootmanager capable of mapping .iso files (grub4dos or possibly Syslinux)
- Inner .iso "2" containing:
\BOOTMGR2
\boot\BCD2
\SOURCES\boot2.wim
\other files or directories2- Inner .iso "3" containing:
\BOOTMGR3
\boot\BCD3
\SOURCES\boot3.wim
\other files or directories3
This way everything is "separated" and "modular" and you can "substitute" the "Outer .iso" (which is nothing but a "container") with (still examples):
- Partition on USb stick
- PXE server directory
The other approach is IMHO more complex, you need to combine the contents of the two .iso's, something like:
\BOOTMGR3 (latest version that should be backwards compatible)
\boot\BCDdual boot (edited BCD with provisions for two items)
\SOURCES\boot2.wim
\SOURCES\boot3.wim
\other files or directories2
\other files or directories3
As you can see things are "mixed" and it is more likely that a conflict of some kind will be generated.
@Sha0
The actual .iso mapping by the PE is irrelevant with the proposed approach.
Let's say you have inside the CD DVD:
- grldr
- menu.lst
- PE2.ISO
- PE3.ISO
Contents of menu.lst:title PE 2.0 map /PE2.0 (hd32) map --hook root (hd32) chainloader /BOOTMGR title PE 3.0 map /PE3.0 (hd32) map --hook root (hd32) chainloader /BOOTMGR
See given successful reports:
http://reboot.pro/5041/page__st__14
http://reboot.pro/5041/page__st__27
The "special" case is actual Windows 7 install (that DOES need to re-access the CD/DVD) see:
http://reboot.pro/5041/page__st__26
solved by adding a driver, see:
http://reboot.pro/9076/
and steve6375's solution:
https://sites.google...iskautounattend
For the record there is also a "third way", a single .wim file containing different PE's/whatever, but again not easy-peasy:
https://sites.google.../multi_boot-wim
Wonko
Forgive me if I'm over looking something but I don't really see how this is accomplished I see confirmation that it does indeed work and examples of menu.lst files but nothing that explains what files I need, where they need to be, how the ISOs must be setup. Is there a guide somewhere you can point me to? Also would GRUB4DOS be replacing ISOLINUX or be called from it?
I will keep digging to see if i can find a guide.
#22
Posted 10 May 2011 - 01:04 AM
LABEL grub MENU LABEL back to Grub4dos loader KERNEL /boot/grub/grub.exe
Grub should than load this menu.lst?? If that's the case I will use your example to point it to my two ISO files and then all will be good in boot land...hopefully!
I am going to give it a try but if you see a flaw in my logic or have a better route I will definitely listen.
#23
Posted 10 May 2011 - 02:04 AM
#24
Posted 10 May 2011 - 02:46 AM
LABEL grub MENU LABEL back to Grub4dos loader KERNEL /boot/grub/grldr
and the files have to be in a few predefined directories. I will refine my methods and learn more about GRUB4DOS than post my final result. Big thank you to Wanko and Sha0!
#25
Posted 10 May 2011 - 03:05 AM
I disagree. Perhaps you missed:@Sha0
The actual .iso mapping by the PE is irrelevant with the proposed approach.
Let's say you have inside the CD DVD...
If those .ISOs do not boot the OS to a RAM-based environment of some sort ("really just uses the CD media"), then they obviously need access to the discs. Since those discs were virtual, they need a driver.If it doesn't use a .WIM, then perhaps it uses another mechanism to load the OS' filesystem into RAM all at once.
So after reading through sbaeder's script it does provide some insight on the bcdedit side so I guess from here it’s just a matter of trying to capture the .WIM for ESET SysRescue than figuring out how exactly to boot .WIMS, any suggestions would be greatly appreciated.
If it really just uses the CD media as its boot filesystem, then it's not going to work very well having a virtual CD via MEMDISK (as a RAM disc) or GRUB4DOS (as either a RAM disc or a sector-mapped disc), unless you use a driver such as WinVBlock or Firadisk, or unless you're actually booting from CD (as your original post is). In other words, if it requires a CD but you are not using a physical CD, then you either need a Windows virtual CD driver or you have to abandon the USB and PXE approaches.
Do you disagree with that?
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users