• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

PXE Booting into MS Windows 7 setup

Scheduled Pinned Locked Moved
Tutorials
2
9
12.4k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G
    george1421 Moderator
    last edited by george1421 Jun 15, 2016, 4:22 AM Jun 14, 2016, 11:24 PM

    Part 1 Prerequisites

    This tutoral will show you how to pxe boot a target computer into the windows 7 setup program. While I see little value in this since there are other methods to go about installing Windows 7, this question gets asked now and again in the FOG forums. Just recently I had the opportunity to sit down and outline a process for doing this task.

    The traditional method of just loading the iso image on the FOG server and sending it via PXE is not possible since the WIndows 7 dvd is over 3GB in size. Attempting the pxe boot just the boot.wim also fails since the winpe environment that is shipped on the DVD looks for the CDROM drive to load its setup. To work around this issue I ended up building my own WinPE boot image that was able to boot over PXE and then connect to a network share which held the Windows 7 DVD files. All hardware specific network and disk drivers are loaded into the custom WinPE environment, understand that these drivers will not be copied to your target computer, you will need to provide the proper network drivers to your target OS once its installed too.

    To build this custom WinPE boot image you will need the following.

    1. Windows 7 WAIK https://www.microsoft.com/en-us/download/details.aspx?id=5753
    2. Not necessary but a good idea Windows 7SP1 WAIK https://www.microsoft.com/en-us/download/details.aspx?id=5188
    3. The WinPE 3.0 Driver CAB from Dell (reported to work with some other manufacturers) http://downloads.dell.com/FOLDER03652574M/1/WINPE3.0-DRIVERS-A20-CT5DP.CAB
    4. A fresh Pepsi cola and about 15 minutes of time.

    Now you need to architecture of WinPE 3.0 you will build. Its important to point out in the beginning so you don’t get to the end and get surprised. WinPE x86 can install both x86 and x64 bit versions of the OS. WinPE x64 can only install x64 bit versions of the OS. So if you know you will only deploy x64 bit OS then go ahead and build a WinPE x64 image, otherwise you might want to play it safe and go with WinPE x86. They are functionally equivalent and there is no difference in the creation or the execution. You just need to pick one and work with it. I’ll give you directions to both so you can make both if you want.

    The last bit of house keeping is to give some background links on where we are going here.

    Source of the request to build a solution to PXE boot into windows setup.
    https://forums.fogproject.org/topic/7751/fog-pxe-ipxe-boot-win-7-wimboot-cd-dvd-missing-issue
    http://www.tecmint.com/installing-windows-7-over-pxe-network-boot-in-centos

    Tutorial I wrote on PXE booting into the MDT lite touch setup
    https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog

    The first thing that needs to be done is setup your winpe build out environment

    1. Install WAIK and the WAIK supplement programs.
    2. Extract the Dell CAB file to c:\winpe (Hint: If you open the CAB with 7-Zip you can just drag the winpe folder from the cab and drop it on the root of C:. If you need additional drivers not supplied by the Dell cab then download the proper WinPE 3.0 driver cab for your hardware and merge it into the winpe folder structure.
    3. Now from the start menu launch the WAIK command line tool {insert actual path to tool here} with the “Run as Administrator” option.
    4. On a Windows server/Workstation create a network share. Set the permissions appropriate for you environment. The WinPE environment that we are building needs read only access to this network share based on the user ID we’ll provide in our script.
    5. Copy the entire contents of the WIndows 7 DVD to this network share
    6. Take a sip of your cola now we’re about to get busy
    7. Continue to Part 2 for x86 or Part 3 for x64 WinPE environments.

    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

    1 Reply Last reply Reply Quote 3
    • G
      george1421 Moderator
      last edited by george1421 Feb 1, 2018, 9:09 AM Jun 14, 2016, 11:25 PM

      Part 4 Configuring FOG

      Before we get to setting up fog I want to give you one warning. Every time you mount and unmount that boot.wim file, we found that the file grows by a certain percentage. Even if you change nothing. The key/goal is to keep that boot.wim file as small as possible. A small boot.wim file means that the file will transfer faster to the target computer, boot faster, and require less RAM to hold the virtual drive. The point is if you need to open the boot.wim to add additional drivers, you are better off just recreating it from the original winpe.wim file, run through the script and before you unmount it add your custom drivers (or automate the custom driver install with DISM as we are doing with the Dell CAB).

      Now setting up FOG

      1. On your fog server create the following directory with this command
        md /var/www/html/fog/iso
      2. Copy one or both of the ISOs you created in Part 2 and/or Part 3 to that directory (use putty, tftp, or ftp to get the iso files onto the FOG server, then move them to the iso directory)
      3. Make sure the ISOs mode are World:Read
      4. Log into the FOG Management GUI
      5. Go Settings->
      6. Fill in the following details for the WinPE x86:
        Menu Item: Win7Setup.x86
        Description: Windows 7 DVD x86 Boot
        Parameters:
        initrd http://<ip_addr_fog_server>/fog/iso/winpe_x86.iso
        chain memdisk iso raw
        Menu show with: All Hosts
      7. Fill in the following details for the WinPE x64:
        Menu Item: Win7Setup.x64
        Description: Windows 7 DVD x64 Boot
        Parameters:
        initrd http://<ip_addr_fog_server>/fog/iso/winpe_amd64.iso
        chain memdisk iso raw
        Menu show with: All Hosts

      From a practical standpoint if you wanted to host 4 different version of windows for installation you could do it with one winPE environment with some way to select which share you connect to. Or create 4 different boot ISOs (one for each OS). While I haven’t tried this, the WinPE 3.0 boot image we created here should launch the setup installers for any OS greater or equal to Windows 7.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

      1 Reply Last reply Reply Quote 1
      • G
        george1421 Moderator
        last edited by george1421 Jun 14, 2016, 6:34 PM Jun 14, 2016, 11:25 PM

        Part 3 Building a WinPE x64 boot image

        The steps are pretty quick (same as part 2).

        You can either just copy and paste them, or if you build a custom WinPE environment often create a batch file so you can just launch the batch file and come back a few minutes later and its done.

        Just a reminder again, you need to launch the WAIK command line tool with “Run as Administrator” to get the necessary rights to mount the wim.

        # Setup your WinPE amd64 Environment
        copype x86 C:\winPE_amd64
        copy "C:\Program Files\Windows AIK\Tools\PETools\amd64\winpe.wim" C:\winpe_amd64\ISO\Sources\Boot.wim
        copy "C:\Program Files\Windows AIK\Tools\amd64\Imagex.exe" C:\winpe_amd64\ISO\
        
        # Create a directory to hang your boot.wim on and then hang it
        mkdir c:\img
        imagex /mountrw C:\winPE_amd64\ISO\sources\boot.wim  1 c:\img
        
        # Inject the x64 drivers from the extracted Dell cab file
        DISM /Image:c:\img /Add-Driver /Driver:c:\winpe\x64 /Recurse /ForceUnsigned
        
        ####################################
        Using notepad edit C:\img\windows\system32\startnet.cmd
        
          @echo off
          echo Setting up WinPE
          wpeinit
        
          echo Connecting to the remote share
          net use z: \\<server_name>\<share_name> /user:<domain\uid> <pass>
          z:
          setup.exe
        ####################################
        
        # This tip was submitted by KnightRaven, if you remove this file booting the iso image won't prompt
        # you to press enter to boot from the CD
        del  C:\winPE_amd64\ISO\boot\bootfix.bin
        
        
        # This command unmounts the wim. If you want the wim alone its this directory C:\winPE_amd64\ISO\sources\boot.wim  
        DISM /Unmount-WIM /MountDir:c:\img /commit
        
        # This will covert the wim into a bootable iso image. 
        oscdimg -n -bC:\winpe_amd64\etfsboot.com C:\winpe_amd64\ISO C:\winpe_amd64\winpe_amd64.iso
        

        For the net use command net use z: \\<server_name>\<share_name> /user:<domain\uid> <pass> replace the bracketed fields with the server name and share you created in Part 1. For the uid and pass enter the proper domain (or workstation) account required to access that share.

        That is it for the WinPE x64 build out. Proceed to Part 4

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

        1 Reply Last reply Reply Quote 1
        • G
          george1421 Moderator
          last edited by george1421 Jun 14, 2016, 6:35 PM Jun 14, 2016, 11:25 PM

          Part 2 Building a WinPE x86 boot image

          The steps are pretty quick. You can either just copy and paste them, or if you build a custom WinPE environment often create a batch file so you can just launch the batch file and come back a few minutes later and its done.

          Just a reminder again, you need to launch the WAIK command line tool with “Run as Administrator” to get the necessary rights to mount the wim.

          # Setup your WinPE x86 Environment
          copype x86 C:\winPE_x86
          copy "C:\Program Files\Windows AIK\Tools\PETools\x86\winpe.wim" C:\winpe_x86\ISO\Sources\Boot.wim
          copy "C:\Program Files\Windows AIK\Tools\x86\Imagex.exe" C:\winpe_x86\ISO\
          
          # Create a directory to hang your boot.wim on and then hang it
          mkdir c:\img
          imagex /mountrw C:\winPE_x86\ISO\sources\boot.wim  1 c:\img
          
          # Inject the x86 drivers from the extracted Dell cab file
          DISM /Image:c:\img /Add-Driver /Driver:c:\winpe\x86 /Recurse /ForceUnsigned
          
          ####################################
          Using notepad edit C:\img\windows\system32\startnet.cmd
          
            @echo off
            echo Setting up WinPE
            wpeinit
          
            echo Connecting to the remote share
            net use z: \\<server_name>\<share_name> /user:<domain\uid> <pass>
            z:
            setup.exe
          ####################################
          
          # This tip was submitted by KnightRaven, if you remove this file booting the iso image won't prompt
          # you to press enter to boot from the CD
          del  C:\winPE_x86\ISO\boot\bootfix.bin
          
          # This command unmounts the wim. If you want the wim alone its this directory C:\winPE_x86\ISO\sources\boot.wim  
          DISM /Unmount-WIM /MountDir:c:\img /commit
          
          # This will covert the wim into a bootable iso image. 
          oscdimg -n -bC:\winpe_x86\etfsboot.com C:\winpe_x86\ISO C:\winpe_x86\winpe_x86.iso
          

          For the net use command net use z: \\<server_name>\<share_name> /user:<domain\uid> <pass> replace the bracketed fields with the server name and share you created in Part 1. For the uid and pass enter the proper domain (or workstation) account required to access that share.

          That is it for the WinPE x86 build out. Proceed to Part 4

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

          1 Reply Last reply Reply Quote 1
          • HaRDH
            HaRD
            last edited by HaRD Feb 1, 2018, 9:07 AM Feb 1, 2018, 3:06 PM

            @george1421

            Hi,
            I just used this tutorial and I must say it was very usefull - managed to install W7 on Toshiba Portege Z30 only via FOG W7 installation from this tutorial. So in regard of taking the time to even create such an usefull tutorial, you have my “Thank you very much!” .

            However I found an error; in part 4, configuration in FOG you have this:

            Parameters:
            initrd initrd http://<ip_addr_fog_server>/fog/iso/winpe_amd64.iso
            chain memdisk iso raw
            

            Using these parameters will end up in error “Memdisk: bootstrap too large to load”

            I have edited parameters like this:

            initrd http://<ip_addr_fog_server>/fog/iso/winpe_amd64.iso
            chain memdisk iso raw
            

            And now everything works flawlessly!

            Maybe this will help to someone else as well.

            Best regards,
            Michal Milsimr

            G 1 Reply Last reply Feb 1, 2018, 3:08 PM Reply Quote 0
            • G
              george1421 Moderator @HaRD
              last edited by george1421 Feb 1, 2018, 9:10 AM Feb 1, 2018, 3:08 PM

              @hard Thank you for the feed back. I think I was my own problem here. I copied and pasted too much. I will fix now. Thank you!!

              FWIW you can use the same process to install windows 10 via pxe booting it works fine.

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

              HaRDH 1 Reply Last reply Feb 1, 2018, 3:17 PM Reply Quote 0
              • HaRDH
                HaRD @george1421
                last edited by HaRD Feb 1, 2018, 9:18 AM Feb 1, 2018, 3:17 PM

                @george1421

                I already thought about it, but it seems too early for our school environment, since we’re mostly running on W7; so for now I am too lazy about it. In the future, I might get sick of USB sticks, so I might do it, though installing one PC once in while, sysprep it and then make usable image for deployment won’t kill me.

                Btw, got a question about this tutorial.

                In part 1, to create somewhere on server/workstation/etc. network share, which will hold installation DVD contents. Does it have to be on this network share? Can’t we move this folder onto FOG server somewhere between other ISOs? Or this kind of setup has issues?

                G 1 Reply Last reply Feb 1, 2018, 3:23 PM Reply Quote 0
                • G
                  george1421 Moderator @HaRD
                  last edited by Feb 1, 2018, 3:23 PM

                  @hard You can move to the fog server if you use SAMBA to host the share. I have a newer/updated tutorial that I should link here.

                  For Win7/10
                  https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/7

                  For setting up SAMBA
                  https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images/2

                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                  1 Reply Last reply Reply Quote 0
                  • HaRDH
                    HaRD
                    last edited by Feb 1, 2018, 3:30 PM

                    Thank you, I will look over them; now I need to get some more work done, or my boss will chew me out for chatting 🙂

                    Best regards,
                    M. M.

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • First post
                      Last post

                    166

                    Online

                    12.2k

                    Users

                    17.3k

                    Topics

                    155.5k

                    Posts
                    Copyright © 2012-2024 FOG Project