Windows install ISO FOG server 1.3
-
After a lot of searching via Google and youtube I can’t find a normal answer. I need to create an unattend install for Windows 8.1 and Windows 10. Then add them to the boot menu in FOG. At first we used FOG 1.2 but I couldn’t get it to work. After a few hours of searching and trying, I came across this link: https://wiki.fogproject.org/wiki/index.php/Advanced_Boot_Menu_Configuration_options
After I failed to get it to work I found this sentence: Note: The things in this article apply to FOG 1.2.0 and below. FOG 1.3.0 uses a web-based interface that easily alters the boot menu
So I upgraded the FOG server to 6531 and tried to go to Create New iPXE Menu Entry in the Fog configuration menu.
There I have to fill the parameters in order to get it to work.
I added the ISO file to a location I can open with my browser and tried a lot of things in the parameter field. Things like:initrd http://${fog-ip}/isos/windows8.iso
chain memdisk iso raw ||and
kernel http://${fog-ip}/isos/memdisk
initrd http://${fog-ip}/isos/windows8.isobut none of the options I tried seem to work. I hope someone can help me out here.
-
The best way to do what you want is with Windows PE, with FOG. There have been some people here that have succeeded, the generalized instructions can be found on iPXE’s site.
You’d use that to install Windows, I believe. Once you get WinPE to run initially, any configurations you need like an answer file should be trivial and just a matter of configuring.
We don’t have a wiki article on this process yet, but if you get it working, please, give back by donating some documentation. You don’t have to worry about making it pretty, I’ll do that.
-
@Wayne-Workman Thanks Wayne, I will try and figure it out. It will be no problem documenting it, because we also need that for ourselves someone needs to take over.
-
@raice I’m working on this too, I’ve been having difficulties making a UEFI bootable external drive with a GPT layout with the Windows 10 installer on it.
So I’m going to give this a shot. But, please keep working on your own as well. I’m just letting you know.
-
I got it working
instructions coming shortly.
-
@Wayne-Workman Created a WindowsPE and added it to de apache server dir. Now I’m running onto the same problem. I don’t know how to add this to the boot menu. documentation says: add it through “Create New iPXE Menu Entry” But I still don’t know the parameters. Do you know them. I maybe can help you out with the UEFI drive. When I am able to test it
-
@raice Yes I’ve got them, and there are some other steps too. I’ll write up the post now.
-
Following instructions on http://ipxe.org/howto/winpe , here are my modifications.
In order to transfer all of the files created from those instructions here:
C:\temp\winpe\
I zipped that folder, and I placed the resulting filewinpe.zip
into my desktop’sC:\Users\Wayne
directory.Then used FTP via command prompt to place it into the correct directory on the FOG Server.
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\workman.wayne>ftp ftp> open 10.2.1.11 Connected to 10.2.1.11. 220 (vsFTPd 3.0.2) User (10.2.1.11:(none)): fog 331 Please specify the password. Password: 230 Login successful. ftp> ls 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. 226 Directory send OK. ftp> cd /var/www/html/fog/service/ipxe 250 Directory successfully changed. ftp> put winpe.zip 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 Transfer complete. ftp: 279864968 bytes sent in 4.20Seconds 66571.12Kbytes/sec. ftp>
After transfering that zip file, you would unzip it with the unzip command:
unzip winpe.zip
Where the instructions say “Download the latest version of wimboot and extract the file wimboot to the same directory on your web server.”
I used wget on the fog server, when I was already inside of /var/www/html/fog/service/ipxe.
wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
You needunzip
installed to unzip the directory.Once unzipped, it creates a folder called wimboot.123. Go into this folder and just move all it’s contents to the winpe folder like this:
mv * ../winpe
Finally, the folder that was named amd64 in there, you have to change it’s name to x86_64 because that’s what FOG’s iPXE ${arch} variable will return for 64 bit machines.
To do that:
mv amd64 x86_64
then, here is the new menu entry:
kernel winpe/wimboot initrd winpe/${arch}/ISO/boot/bcd BCD initrd winpe/${arch}/ISO/boot/boot.sdi boot.sdi initrd -n boot.wim winpe/${arch}/winpe.wim boot.wim boot
Note I had to add
winpe/
to all the paths.Here’s a screenshot:
-
@Wayne-Workman thx! My paths are very different,
kernel winpe/wimboot
initrd winpe/${arch}/media/Boot/BCD BCD
initrd winpe/${arch}/media/Boot/boot.sdi boot.sdi
initrd winpe/${arch}/media/sources/boot.wim boot.wim
bootbut I will test it now.
-
@raice the ipxe tutorial says to put the resultant files from both of the pre-processes into the same web folder… did you do that?
This process might be worth creating a video for.
-
@Wayne-Workman The link you gave me says the same I think:
Download the latest version of wimboot and extract the file wimboot to the same directory on your web server.
Create a text file boot.ipxe in the same directory on your web server, containing:
#!ipxecpuid --ext 29 && set arch amd64 || set arch x86
kernel wimboot
initrd ${arch}/media/Boot/BCD BCD
initrd ${arch}/media/Boot/boot.sdi boot.sdi
initrd ${arch}/media/sources/boot.wim boot.wim
bootThe files are present at the given location.
-
@raice Don’t do what they say there.
Use FOG’s web UI. All you need to put in is in the screen shot below.
-
@Wayne-Workman But it works
Now I can starting the UEFI project. My working day is over, so get back to you tomorrow. Thanx for your help so far. -
@raice said:
@Wayne-Workman But it works
Now I can starting the UEFI project. My working day is over, so get back to you tomorrow. Thanx for your help so far.Awesome!
-
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.