fog pxe/iPxe boot win 7 wimboot CD/DVD missing issue
-
@george1421
Awesome. I’ve ran through some of this before but I will do it over again and see if it helps. Maybe I missed something before. Thanks for the refresher. I hope to try it tomorrow. -
@KnightRaven Success!!
OK I executed the plan I outlined and created the ISO. I build the iso on my Win7 MDT server so it used WAIK 6 (I think). It is what ever version of waik for Win7. I tried initially to create it on our Win10 MDT server and the file paths were too different. Everything was there but I decided to do on Win7 WAIK just to stick to the plan. Once I had the ISO image I moved it to the FOG server into the /var/www/html/fog/iso folder. I checked to make sure the file was world readable in linux. In the FOG management gui (1.2.0 trunk build) I went to the fog configuration and added a new ipxe boot menu with these properties.
Menu Item: winpe7a
Description: WinPE tester
Parameters:
initrd http://<ip_addr_fog_server>/fog/iso/winpe_amd64.iso
chain memdisk iso raw
Menu Show with: All HostsOn my windows file server (pointed to in the startnet.cmd file (net use z: \<server_name><share_name> /user:<uid> <pass>) I created a share and copied the entire content of the Win7 Pro DVD into that directory. I then made the directory permissions everyone:read and the share everyone:read.
Finally I pxe booted my test VM and selected the “WinPE tester” menu. The vm booted into winpe, connected to the z: drive and ran the setup program. I clicked through the setup program until it install the windows files and then began extracting the files. That is where I stopped the VM and aborted the test because it was working.
-
@george1421
good to know it was tested all the way through and worked. So I will remake may boot.wim file and sources, and make a bootable .iso from it and see what happens.The current ISOs I have are too big. The PCs need more ram to support the full bootable ISOs as opposed to the win_pe versions.
Thanks for testing. I will report back when I get a chance to try it out.
-
@KnightRaven Just for info, the winpe iso I created was about 270MB in size. So 1GB of RAM memory should be enough for both the winpe ram disk and the setup installer to run.
-
@george1421
So I took the time and tested. IT Worked! I don’t know if the difference is running the driver pack you listed(injecting it). Or running it as an ISO as opposed to the individual files. But at least I have a working concept. I have to go back and edit my startup cmd file. I didn’t put the full user context(<pcname\userid>) when mapping my share.I don’t know if its an added driver or the fact that this time the default setup never ran. Just the one from the share.
The next trick will be seeing if I can get it to work on an HP laptop. If it’s a driver issue that is.
I am excited that there is a working model to go from though.
Thank you very much for all of y’alls time!Jason
-
@KnightRaven Hey glad you got it worked out. I think HP had a similar WinPE driver pack. The one from dell does contain the drivers for all dell models. I would suspect that it will work 80% of the time for the hp systems too, since an intel or realtek nic is a nic no matter whos box it is in.
I doubt its the wim/iso difference. I just use the iso because it is self contained (don’t need to mess with all of the ancillary files), plus I can burn it to cdrom, usb, pxe boot, or load it via esxi. So one image will work in all forms. Please report back on your successes and what you had to do to make the HP kit work. I think I’ll take the results from this tread and convert it to a tutorial. I know other have tried to do this too, I just didn’t have the time to work out the process before.
-
@george1421
So for that update. Yes HP has a winPE driver pack. Several depending on version needed. I tried booting the HP laptop with out injecting and it worked. So I may have just gotten lucky and the same drivers existed. Whatever the case I’m not complaining.It may be worth noting so there is no confusion(especialy in a more detailed tutorial) that the actual WinPE from the AIK appears to be needed. As opposed to using a boot.wim from regualr install media. It must point to a location that no longer exists(like USB/CD drives) causing setup to think it doesnt exist. Although an educated one, that is a completely wild guess.
At any rate, rather it be drivers or a hard coded location of sorts, there is a difference in the WinPE boot environment and regular/Full boot environment.
I’d be glad to offer help from my experiences if you write a tutorial. I was thinking of doing the same but my thoughts/writings can get off track sometimes.
I really do appreciate your time and efforts.
-
@KnightRaven said:
It may be worth noting so there is no confusion(especialy in a more detailed tutorial) that the actual WinPE from the AIK appears to be needed. As opposed to using a boot.wim from regualr install media. It must point to a location that no longer exists(like USB/CD drives) causing setup to think it doesnt exist. Although an educated one, that is a completely wild guess.
Yes this is what I was saying (at least in my head) all along. You can not use the boot.wim from the install CD, but from WAIK instead. Maybe I need to put the required software in the tutorial too.
From the hardware / driver standpoint. The Dell driver pack is pretty good. That covers all of the dell line, which use common network and drive components. So it should work with the majority of other vendor’s devices. Now you may run into a one off situation. You can either remount the boot.wim you created and inject the driver or my preference is to rebuilt the boot.wim from the winpe.wim every time. We found that every time you mount and unmount the boot.wim it increases in size. Even if you open it and then close it right away without doing anything. So to keep the boot.wim the smallest possible recreate it each time you need to add drivers. If you create a batch script its easy to roll a new boot.wim file for each version.
Thank you for the feedback.
-
@george1421
Another potential tip… When booting into winpe this way, it asks you to press a key to boot from cd/etc. You can delete(or rename as i did) the bootfix.bin file in the ISO/boot directory. When saving and creating the bootable iso it will be able to boot without prompting. -
@KnightRaven Oh cool tip!! Will test and include for sure. Thank you.
-
@george1421
Just wanted to add some more notes after using/trying this setup in another location.
You may encounter rights issues and errors if nothing is changed. I opened up the File Browser as root to copy and paste files for Win setup along with other tools.You very likely may need to use chown and chmod to give proper access to your files. By default on my testing the user and group was set to root:root. I did NOT use root as my user when mapping my drive for pxe setup. So I needed to change.
so you may need to try:
#to change who owns the folder or files sudo chown -R jdoe:root /location/of/folder # use a "*" wildcard to do all items at named location or at # current location sudo chown -R jdoe:root /location/of/files/* sudo chown -R jdoe:root * # you can use ls -l to check #for ref: https://en.wikipedia.org/wiki/Chown
#to change the actual rights, as in read/write/execute... sudo chmod 774 /location/of/folder/or files (or again use a *) #again use ls -l to check # 774 will give user and group full rights. the 4 gives guest read only. Not sure that full rights are needed but used to test and didn't reduce as of yet to know if just read or anything less will work. for ref: https://en.wikipedia.org/wiki/Chmod
To recap my trials…
At first I forgot to change user and mapped drive wouldn’t work. After changing user I would get access denied to setup.exe. After making sure I had rights to setup.exe, I got a winsetup.dll error. Saying it was corrupted or missing(Something like that I forget the actual wording now).I ended up recopying to be sure but ended up being a rights issue to the whole sources directory.
Just wanted anyone else reading to know what you might run into. While I dont yet consider myself an expert here, I will be glad to answer questions if something is not clear. My knowledge has come from trial and errors, and then finally asking questions.
thanks to all who have helped answer or wrote other related topics to get me/us here.Hope this helps someone.
Jason
KnightRaven -
@echo off rem The fileserver IP set FILESERVER=192.168.1.155 rem Share on the fileserver. set SHARE=INSTALLERS\ISOFILES\0-WINPE rem Username for the share set SHAREUSER=root rem Password for the share set SHAREPASS=root rem amd64 or x86 set ARCH=amd64 rem Path to hold working files. Needs about 500MB of free space. set PEPATH="c:\winpe_%ARCH%" rem ########################################################## rem Don't edit anything below here rem ########################################################## echo Creating the PE image call copype.cmd %ARCH% %PEPATH% > NUL echo Mounting the image dism /Mount-Wim /WimFile:%PEPATH%\media\sources\boot.wim /index:1 /MountDir:%PEPATH%\mount /quiet echo Adding commands to the startup script in PE echo. >> %PEPATH%\mount\windows\system32\startnet.cmd echo ping %FILESERVER% >> %PEPATH%\mount\windows\system32\startnet.cmd echo net use z: \\%FILESERVER%\%SHARE% %SHAREPASS% /u:%FILESERVER%\%SHAREUSER% >> %PEPATH%\mount\windows\system32\startnet.cmd echo z: >> %PEPATH%\mount\windows\system32\startnet.cmd echo z:\64.bat >> %PEPATH%\mount\windows\system32\startnet.cmd echo Creating the pxeboot directory mkdir %PEPATH%\pxeboot > NUL mkdir %PEPATH%\pxeboot\Fonts > NUL copy /y %PEPATH%\mount\windows\boot\Fonts\*.* %PEPATH%\pxeboot\Fonts\ > NUL copy /y "%WinPERoot%\%ARCH%\Media\Boot\boot.sdi" %PEPATH%\pxeboot\ > NUL copy /y "%WinPERoot%\%ARCH%\Media\Boot\BCD" %PEPATH%\pxeboot\ > NUL echo Unmounting the image dism /unmount-Wim /MountDir:%PEPATH%\mount /Commit /quiet echo Optimizing the image imagex /EXPORT %PEPATH%\media\sources\boot.wim 1 %PEPATH%\pxeboot\boot.wim > NUL echo. echo All the files you need for your PXE server are in: %PEPATH%\pxeboot\
I use that batch file to easily create WinPE media for different Windows versions. It does require the imaging tools of the Windows Kits though, but I’m guessing most people will have that installed already.
You can add and remove certain commands as needed of course, for eg adding drivers using dism and such.