Windows install ISO FOG server 1.3
-
I may have spoke too soon.
While WinPE loads just fine through FOG, it doesn’t have any drivers for the NIC. gah!
-
Looking through these instructions:
https://technet.microsoft.com/en-us/library/dn613857.aspxMicrosoft’s commands for mounting the wim image has many, many errors. After digging deep throug the help menus with
Dism /?
andDism /Mount-Wim /?
this is the command I came up with:I went ahead and changed amd64 here instead of later, to x86_64
Dism /Mount-Wim /WimFile:"C:\temp\winpe\x86_64\winpe.wim" /index:1 /MountDir:"C:\temp\winpe\x86_64\mount"
Microsoft’s steps on adding drivers are also wrong… Here is the correct command in our context, and pulling the drivers from the machine the command is running on. Since my target is an Optiplex 7010, i’m doing this on a working Optiplex 7010 (just for now, and to get something working).
Dism /image:C:\temp\winpe\x86_64\mount /Add-Driver /Driver:C:\Windows\System32\drivers /recurse
Dism /image:C:\temp\winpe\x86_64\mount /Add-Driver /Driver:C:\Windows\System32\DriverStore /recurse
This lists the added drivers:
Dism /Image:C:\temp\winpe\x86_64\mount /Get-Drivers /all
Save all changes:
Dism /Unmount-Wim /MountDir:C:\temp\winpe\x86_64\mount /commit
Using a remote directory in WinPE and launching setup.exe.
I created a share called win10$ that has read-only access to all users on one of my windows servers.Here’s how I used it in WinPE:
net use \\mb1\win10$ PasswordGoesHere /USER:DomainNameHere:UserNameHere
\\mb1$\win10$\setup.exe
NOTES: Once the WIM image is mounted, you can manually manipulate the files in there, copy, and paste if you wish. But after changes are made, you must use the Unmount / commit command.
#wiki
-
I was able to install Windows 10 via WinPE and FOG - after several small hiccups.
I think I’ve got this ironed out. this deserves a wiki article and a follow-along video.
-
@Wayne-Workman I am able to get it to work too. Used this: https://technet.microsoft.com/en-us/library/dn613857.aspx to add all network drivers (got around 40 laptops here) and created 2 samba shares on the FOG server. One to the installation folder (where I got win7, win8 and win10) and one to the same folder with write rights. This way I am able to alter the installations from my pc and create an unattended.
scrolling down shows me you beat me to it
-
I’ll post a script to make your own WinPE on Monday. It does require you to have Windows AIK, but you can just download that from Microsoft.
It allows you to automatically map your network drive and even launch setup with arguments. It all depends on what kind of setup you want of course, but hopefully you’ll at least get some insight in how to approach the situation with it.
-
@Wayne-Workman @Quazz already on it. Mounted the disk with DISM
dism /Mount-Image /ImageFile:“c:\temp\winpe\x86_64\media\sources\boot.wim” /index:1 /MountDir:“c:\temp\winpe\x86_64\mount”
navigated to Windows\System32\startnet.cmd
It already contains wpeinit. Do not change that line, but add your code after that.
Mine so far is
net use z: \x.x.x.x\isos\win7
net use x: \x.x.x.x\isos\win8
net use y: \x.x.x.x\isos\win10
menu.bat
now creating a menu in a separate batch file
So after that I created a menu.bat in the system32 folder with
http://www.sevenforums.com/tutorials/78083-batch-files-create-menu-execute-commands.html
to start the setup of different windows versions. Now I only have one PE box and 3 Windows installs. The next step is to automate the installations. -
@raice Don’t use x: to mount a network drive as WinPE will mount itself on X: on boot already!
-
I’m using that with FOG 1.2.0:
:WS2012R2 sanboot --no-describe --drive 0x81 ${boot_url}discimg/WS2012R2.iso goto MENU
-
@raice said:
The next step is to automate the installations.
I’d rather my installations not be automated lol. I WANT to do it manually, then I’ll take an image with FOG and blast it out to 500 computers in an automated fashion…
-
@Wayne-Workman said:
I’d rather my installations not be automated lol. I WANT to do it manually, then I’ll take an image with FOG and blast it out to 500 computers in an automated fashion…
Really? And out of those 500 systems, how many are the same make and model? Lets make it a bit harder for our selves like, lets install the french version of MS Windows and then load a US English mui so the Americans can use the computer.
While I understand what the OP is trying to accomplish there are better/easier ways than using FOG to hand out the iso images (thinking a multiboot flash drive would be less complex).
-
@george1421 I make an image per model. and our 1Gbps network is far faster than USB 2.0 or optical disk. Plus, it’s handy. I will be able to load an alternative OS anywhere at any moment instead of carrying around flash drives.
-
@Wayne-Workman in out environment that’s nearly impossible. We sell new and second hand laptops. So we got different models every day. Now we can just start the installation and sysprep it afterwards.
Do you want the documentation or did you write your own now? I almost finished and only need to translate it.
-
@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\
This script needs to be called from the Deployment and Images Tool Environment command prompt.
I based myself on http://www.wcooke.org/wiki/Installing_Windows_using_PXELINUX but modified it since certain things didn’t work (it would create a corrupt BCD when there’s a perfectly fine working one included with WinPE) and other things were unnecessary.
If you make changes to the script and call it again make sure to delete the target directory first or your startnet.cmd will get messed up!
edit: Added ping command to give network drivers time to load before attempting to mount the network location.
-
@raice Your instructions would be greatly appreciated, the more the better! We can compare notes and come up with the best solution!
And for your environment, yes, being able to install windows from the network on many different models of PCs is the best option for you! I imagine you are a fan of Fog’s “Quick Image” feature that doesn’t require a registered computer, eh?