Bumbastik Posted November 3, 2008 Posted November 3, 2008 Hi guys , I have a question for you . I have 2 differents version of BartPe and 2 different version of WinPe 2.0 . If I use TFTPD32 with a single " image " ( BartPe or WinPe ) all works fine . But I don't know the way for use with TFTPD32 and a menu for select an "image" to run . Can you help me with example o link ?Thanks for your collaboartionsBumbastik
jaclaz Posted November 3, 2008 Posted November 3, 2008 If you use as base WinPE 2.0, you could use a "multiple" BCD:http://www.deployvista.com/Default.aspx?ta...&EntryID=27http://www.boot-land.net/forums/index.php?...amp;#entry31670But cannot say how and if it will work with BartPE. grub4dos has newish PXE capabilities, but there is not yet much documentation/examples AFAIK, some hints are given here:http://www.911cd.net/forums//index.php?showtopic=20152This is from readme_grub4dos:********************************************************************************* PXE device *********************************************************************************If PXE service is found at startup, GRUB4DOS will create a virtual device(pd), through which files from the tftp server can be accessed. You can setupa diskless boot environment using the following steps:Client sideYou need to boot from PXE ROM.Server sideYou need to configure a dhcp server and a tftp server. In the dhcp server, usegrldr as boot file.You may also want to load a different menu.lst for different client. GRUB4DOSwill scan the following location for configuration file: [/mybootdir]/menu.lst/01-88-99-AA-BB-CC-DD [/mybootdir]/menu.lst/C000025B [/mybootdir]/menu.lst/C000025 [/mybootdir]/menu.lst/C00002 [/mybootdir]/menu.lst/C0000 [/mybootdir]/menu.lst/C000 [/mybootdir]/menu.lst/C00 [/mybootdir]/menu.lst/C0 [/mybootdir]/menu.lst/C [/mybootdir]/menu.lst/defaultHere, we assume the network card mac for the client machine is88:99:AA:BB:CC:DD, and the ip address is 192.0.2.91 (C000025B). /mybootdir isthe directory of the boot file, for example, if boot file is /tftp/grldr, thenmybootdir=tftp.If none of the above files is present, grldr will use its embeded menu.lst.This is a menu.lst to illstrate how to use files from the tftp server. title Create ramdisk using map map --mem (pd)/floppy.img (fd0) map --hook rootnoverify (fd0) chainloader (fd0)+1 title Create ramdisk using memdisk kernel (pd)/memdisk initrd (pd)/floppy.imgYou can see that the menu.lst is very similar to normal disk boot, you justneed to replace device like (hd0,0) with (pd).There are some differences between disk device and pxe device:1. You can't list files in the pxe device.2. The blocklist command will not work with a file in the pxe device.3. You must use --mem option if you want to map a file in the pxe device.When you use chainloader to load file from the pxe device, there is a optionyou can use: chainloader --raw (pd)/BOOT_FILEOption --raw works just like --force, but it load file in one go. This canimprove performance in some situation.You can use the pxe command to control the pxe device.1. pxe If used without any parameter, pxe command will display current settings.2. pxe blksize N Set the packet size for tftp transmission. Minimum value is 512, maximum value is 1432. This parameter is used primarily for very old tftp server where packet larger than 512 byte is not supported.3. pxe basedir /dir Set the base directory for files in the tftp server. If pxe basedir /tftp then all files in the pxe device is related to directory /tftp, for example, (pd)/aa.img correspond to /tftp/aa.img in the server. The default value of base directory is the directory of the boot file, for example, if boot file is /tftp/grldr, then default base directory is /tftp.4. pxe keep Keep the PXE stack. The default behaviour of GRUB4DOS is to unload the PXE stack just before it exits.5. pxe unload Unload the PXE stack immediately.Get latest here:http://nufans.net/grub4dos/jaclaz
Bumbastik Posted November 3, 2008 Author Posted November 3, 2008 HI Jaclaz , thanks a lot for your suggestionsI will try next timeCiao CiaoBumbastik
Bumbastik Posted November 5, 2008 Author Posted November 5, 2008 HI , ok now all works fine !!! I can boot two different WinPe 2.0 ( with a menu' ) an only session of TFTPD32 But I have another little problem . When I see the menu' item this has the identical name On my example -Ramdisk Option -Ramdisk Option If possible change this menu' ?For example- WinPe 1 - WinPe 2 Thanks a LotBumbastik
jaclaz Posted November 6, 2008 Posted November 6, 2008 If possible change this menu' ?Maybe, if only you could tell us HOW you are booting the two PE's! (unfortunately my crystall ball is in the shop for maintenance and tuning and Tarots are SO inaccurate) My guess is that you edited the BCD, if this is the case, simply re-edit the description:http://technet.microsoft.com/en-us/library/cc721886.aspxhttp://ranjanajain.spaces.live.com/blog/cn...0!277.entryYou can also change the description of an entry using the following command: h. Bcdedit /set ID description "The new description" For example: bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} description "My Favorite OS"jaclaz
Bumbastik Posted November 7, 2008 Author Posted November 7, 2008 (edited) Hi Jaclaz , no problem , here my little how to :I following your link -> http://www.deployvista.com/Default.aspx?ta...&EntryID=271) Create your server structure and - create your wim1 image - create your wim2 image - create your wim3 image 2 ) Install and configure your TFTPD32 server 3 ) Create your BCD file with CreateBCD3.cmd ( cut & past ) - copy CreateBCD3.cmd in the C:\PXEServer folder - copy bcdedit.exe - Run CreateBCD3.cmd Now you have new BCD file in the c:\PXEServer\TFTPRoot\Boot4 ) Run your TFTPD32 server and boot the client Wow works fine But we have a menu' with 3 identical ites - Ramdisk Option - Ramdisk Option - Ramdisk OptionIf you change this parameter in to CreateBCD3.cmdfrom Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "Ramdisk options" to Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "WinPE" Now you have menu' with 3 items - WinPe- WinPe - WinPe I would change this menu' !! For example - Winpe1- Winpe2- Winpe3Any suggestionCiao Ciao Bumbastik Edited November 7, 2008 by Bumbastik
jaclaz Posted November 8, 2008 Posted November 8, 2008 If you change this parameter in to CreateBCD3.cmdSure, the batch will create identical entries.You need to change the BCD description directly from Command Line. (or modify the batch)For example: bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} description "My Favorite OS"You see the difference between the create command that is in the batch and the set command in the given example, do you? jaclaz
Bumbastik Posted November 10, 2008 Author Posted November 10, 2008 Hi , I have tried but the result is the same -- > desn't work This is my script ( 2 items )Rem Creates BCD (boot configuration data) for three Windows PE 2.0 imagesset BCD-File=c:\PXEServer\Tftproot\Boot\BCDdel %BCD-File%Bcdedit /createstore %BCD-File%Bcdedit /store %BCD-File% /create {ramdiskoptions} /d "Ramdisk options"Bcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdidevice bootBcdedit /store %BCD-File% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdifor /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86" /application osloader') do set guid1=%%cBcdedit /store %BCD-File% /set %guid1% systemroot \WindowsBcdedit /store %BCD-File% /set %guid1% detecthal YesBcdedit /store %BCD-File% /set %guid1% winpe YesBcdedit /store %BCD-File% /set %guid1% osdevice ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}Bcdedit /store %BCD-File% /set %guid1% device ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}BCDedit /store c:\PXEServer\TFTPRoot\Boot\BCD /set %guid1% description "WinPe1"for /f "tokens=1-3" %%a in ('Bcdedit /store %BCD-File% /create /d "WinPE x86 2" /application osloader') do set guid2=%%cBcdedit /store %BCD-File% /set %guid2% systemroot \WindowsBcdedit /store %BCD-File% /set %guid2% detecthal YesBcdedit /store %BCD-File% /set %guid2% winpe YesBcdedit /store %BCD-File% /set %guid2% osdevice ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions}Bcdedit /store %BCD-File% /set %guid2% device ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions}BCDedit /store c:\PXEServer\TFTPRoot\Boot\BCD /set %guid2% description "WinPe2"Bcdedit /store %BCD-File% /create {bootmgr} /d "Windows VISTA BootManager" Bcdedit /store %BCD-File% /set {bootmgr} timeout 60Bcdedit /store %BCD-File% /set {bootmgr} displayorder %guid1% %guid2% Bcdedit /store %BCD-File% /enum allI have an error C:\PXEServer>Bcdedit /store c:\PXEServer\Tftproot\Boot\BCD /set {bootmgr} displayorder {d4c3277e-af2e-11dd-83c2-0002b3cc4b18} {d60c2c02-af2e-11dd-83c2-0002b3cc4b18} [b]An error occurred while attempting to reference the specified entry.The system cannot find the file specified.[/b]C:\PXEServer>Bcdedit /store c:\PXEServer\Tftproot\Boot\BCD /enum all Windows Boot Loader-------------------identifier {d4c3277e-af2e-11dd-83c2-0002b3cc4b18}device ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}description WinPe1osdevice ramdisk=[boot]\Boot\winpe_x86.wim,{ramdiskoptions}systemroot \Windowsdetecthal Yeswinpe YesWindows Boot Loader-------------------identifier {d60c2c02-af2e-11dd-83c2-0002b3cc4b18}device ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions}description WinPe2osdevice ramdisk=[boot]\Boot\winpe_x86_2.wim,{ramdiskoptions}systemroot \Windowsdetecthal Yeswinpe YesSetup Ramdisk Options---------------------identifier {ramdiskoptions}description Ramdisk optionsramdisksdidevice bootramdisksdipath \boot\boot.sdiNow If I run tftp32 the system return a BCD error 2 test - Run CreateBCD.cmd ( original file ) - Create a second cmd file only for change ID BCDedit /store c:\PXEServer\TFTPRoot\Boot\BCD /set {453c05f8-af1a-11dd-83c2-0002b3cc4b18} description "WinPe1"BCDedit /store c:\PXEServer\TFTPRoot\Boot\BCD /set {467b8114-af1a-11dd-83c2-0002b3cc4b18} description "WinPe2"Run Tftpd 32 and client . In this case Winpe works fine but I have the menu with identical items- Ram Option - Ram Option Any Suggstion Thanks a lotCiao Bumbastik
jaclaz Posted November 10, 2008 Posted November 10, 2008 (edited) I don't have Vista (you see why I am a rather happy guy, don't you ) so I cannot help you as much as I would like but you cannot "invent" the syntax like you would like it to be, this line seems to me WRONG:Bcdedit /store c:\PXEServer\Tftproot\Boot\BCD /set {bootmgr} displayorder {d4c3277e-af2e-11dd-83c2-0002b3cc4b18} {d60c2c02-af2e-11dd-83c2-0002b3cc4b18}you cannot pass two parameters to /set displayorder. Or may be you have a timing problem? Some further reference:http://msdn.microsoft.com/en-us/library/ms791568.aspxhttp://technet.microsoft.com/en-us/library/cc721886.aspxSee if this helps:http://www.boot-land.net/forums/index.php?showtopic=4197Why don't you try using one of the GUI utilities to modifiy the store if you are not confident enough in batch/command line syntax?http://neosmart.net/dl.php?id=1http://www.vistabootpro.org/jaclaz Edited November 10, 2008 by jaclaz
Stratuscaster Posted January 28, 2009 Posted January 28, 2009 (edited) Has anyone gone any further with this?I'm experiencing the same issue - every menu entry in the Windows Boot Manager that is created in the BCD reads "Ramdisk options" - using the "BCDedit /store *path*\TFTPRoot\Boot\BCD /set {guid} description "WinPe1"" command changes nothing.The enum shows this description has been changed for the GUID entry, but that description never shows.The booting of the different WIMs works fine - but a user doesn't know what WIM he is selecting since each name is the same.Using EasyBCD or VistaBootPro doesn't seem to offer a way to change it either - it's not a matter of "not knowing the syntax." Edited January 28, 2009 by Stratuscaster
Stratuscaster Posted January 29, 2009 Posted January 29, 2009 Problem solved.The BOOTMGR.EXE in the latest WAIK is the culprit. Using the BOOTMGR.EXE from a previous WAIK displays the menu items correctly.
jaclaz Posted January 29, 2009 Posted January 29, 2009 Problem solved.The BOOTMGR.EXE in the latest WAIK is the culprit. Using the BOOTMGR.EXE from a previous WAIK displays the menu items correctly. Could you please state exact version of BOOTMGR.EXE's?"latest WAIK" and "a previous WAIK" are a bit labile as references... jaclaz
Stratuscaster Posted January 29, 2009 Posted January 29, 2009 (edited) The working BOOTMGR I have is version 6.0.6000.16386.The non-working BOOTMGR is version 6.0.6001.18000.The solution was found in this thread:http://www.msfn.org/board/index.php?showtopic=114711&hl= Edited January 29, 2009 by Stratuscaster
confused_ka Posted February 11, 2009 Posted February 11, 2009 (edited) The multiple BCD is a cool thing, but did any of you guys managed to add LOCALBOOT as a default entry?I dont know how to set it to localboot so when there is no user interaction and the timeout is done, it should boot to local instead of booting a windows PE image....(like the first one in order...)anyone knows a solution? Edited February 12, 2009 by confused_ka
Stratuscaster Posted February 16, 2009 Posted February 16, 2009 In our environment, localboot is done by not hitting F12 to PXEBOOT - so there was no need.That, and we boot to PXELINUX first - that provides a localboot option.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now