Please Note: This Tutorial is not yet completed (but is 95% complete and should work for you!)
This tutorial shows you how to build a WinPE v4 (Win8) bootable ISO file using WinBuilder and then add that file to your multiboot grub4dos USB drive. The Win8PE_SE build can be either x86 or 64-bit - the 64-bit version also includes WOW64, which means you can run 32-bit applications under 64-bit WinPE!
Win8PE_SE is a fairly new WinBuilder project by ChrisR which is being actively developed with the help of many others including Lancelot, JFX and others who have also worked on Win7PE WinBuilder Projects.
As Windows 8 is a new OS, it should have native driver support for both old and new mass storage devices, such as SSDs, USB 3.0, etc. and is also optimised for fast booting from SSD and Flash drives. As such, it should make a terrific platform for booting from a (USB 3.0) Flash drive (or indeed any media) and running running utilities and applications.
I am fairly new to WinBuilder and at first, found it fairly difficult to understand. If this is your first WinBuilder project, then I will spend a little time explaining WinBuilder as well as how to build this project.
The WinBuilder executable and project files - this is a single download from here. Extract to a new folder on your hard disk - e.g. C:\Win8PE
A Windows 8 Installation DVD or ISO file - a suitable ISO can be downloaded from here - scroll to the bottom of the page and choose the x86 or x64 version (the x86 ISO is 2.4GB and the x64 version even larger). As the x64 version will not run on some 32-bit CPUs such as older Atom processors, I suggest you use the x86 ISO first.
If using an ISO file - a suitable utility to mount the Windows 8 ISO file is required, or use a utility such as 7Zip or similar utility to extract the files from the ISO file to a new folder on your hard disk.
This Tutorial assumes you already have a grub4dos bootable USB drive. You will simply add another menu entry to the already existing menu.lst file.
A Windows system with about 10GB of free space on the hard disk to run WinBuilder on and make the ISO file.
It is not necessary to have the Windows WAIK installed - this will be automatically downloaded when the project build is started (if you have internet access).
Download the WinBuilder project from here and unzip it to a folder on your Windows hard drive. Note: Do not create more than one WinBuilder folder. If you have already downloaded any WinBuilder Project, add the new project to the Projects folder.
If you have a Windows 8 Installation ISO file, either mount the ISO as a drive volume using ImDisk or Virtual CloneDrive, or use 7Zip to extract the contents to a new, empty folder on your hard drive
Keep your grub4dos USB multiboot drive handy!
You should now have WinBuilder and the Win8PE_SE project files in a folder on your hard disk - I will assume this is at C:\Win8PE from now on.
You should also have the Windows 8 DVD installation files available as either a drive or DVD volume letter or folder - e.g. I:
1. Find the folder that you downloaded WinBuilder to (e.g. C:\Win8PE) and run the latest version of WinBuilder.exe - in my case, at the time of writing this tutorial, it was Win8PESE82_Builder.exe
You should see a form open similar to the one below:
To keep things simple to start with, we are just going to do a default build.
2. Click on the Source tab (shown circled in the screenshot above) and set the Source Directory to the location of your Windows 8 installation files (in my case, I:).
3. Now click on the large blue Play arrow at the top of the form to start the build...
4. When the build completes (it may take 5 to 20 minutes), it may automatically boot the Win8PE ISO file via an Emulator or Virtual Machine.
You may see a fully booted WinPE Desktop similar to the one below (or if QEMU runs, it may start to boot and then halt with an error - but don't worry about this - just quit QEMU!):
If you get a 0x0000007B Inaccessible boot device error - check that you only have one WinBuilder folder in your system. Running WinBuilder from a different folder can cause it to build 'bad' boot.wim files!
Tip: Do NOT specify a name for the .ISO file which contains spaces in the filename - always use underscores instead of spaces! Do not change the filename of the ISO once it is created.
VMWare Player will automatically run your ISO if you have VMWare Player already pre-installed...
5. Quit the Emulator/VM (if it ran QEMU and it did not boot correctly, don't panic - WinPE8 does not seem to run too well under QEMU but should run fine on VMware Player or real hardware!).
Find the folder where you extracted the WinBuilder files to (e.g. C:\Win8PE) and find the ISO folder (e.g. C:\Win8PE\ISO) - you should see two files in this folder:
Win8PE_x86.iso (or Win8PE_x64,iso)
6. Copy the ISO file to your grub4dos USB multiboot drive. In my case, the file was copied to C:\_ISO\Windows\Win8PE_x86.iso - if this is your first attempt, I suggest you place the ISO in the root of your boot drive. Once it seems to work, you can move it to a subfolder.
If you are using an Easy2Boot v1 USB drive, copy the ISO file to the \_ISO\MainMenu folder.
7. If you did not copy the ISO file to the root of your USB drive, you also need to copy the Win8PESE.ini file to the root of your USB boot drive and edit it so that it contains the path and filename of the Win8PE ISO file - this allows WinPE to mount the ISO once it boots to WinPE and access the Program and other files within the ISO file. In my case, I changed the contents to:
Note: If you see a yellow warning triangle on the Win8PE_SE Desktop once it boots, then it did not find and load the ISO after booting and you will have no Y: drive - in this case, you may need to update the build - see Modifying the Build - steps 1 and 2 below - or else move the ISO to the root of the USB drive and try again.
8. Lastly, edit your grub4dos menu file (menu.lst) so that it boots from the WinPE ISO file...
If you want to boot to the ISO (which runs GFXMenu and has options for Memtest and booting from a hard disk - see screenshot below) then use the 1st menu, if you want to just boot straight to WinPE then use the 2nd menu.
title Win8PESE x86 - ISO Boot
map /_ISO/Windows/Win8PE_x86.ISO (0xff)
title Win8PESE x86 - Direct Boot to WinPE
map /_ISO/Windows/Win8PE_x86.ISO (0xff)
If you are using Easy2Boot, then it will boot the ISO and you will see the menu below (you can make and add a .mnu file if you want to always boot to WinPE).
GFXMenu obtained when booting directly from the ISO file
Now go boot it on real hardware!
Modifying the build
Because this is a new Project, it is constantly being improved and tweaked. Once you have successfully created a bootable ISO and tested it on real hardware, you might like to update and rebuild the ISO as follows:
1. First, we can download the current project, just in case it has changed. To do this click on the Download icon at the top-right of the WinBuilder form:
You should see the Download Center form.
Ensure the w8pese.cwcodes.net project is selected (bottom of the form) and choose Complete from the dropdown listbox at the top of the screen.
Now click on the Download button located at the bottom left of the form. This will upload a number of project files from the internet and update your project (approx 100MB).
2. Update from the server:
The Complete download should eventually return you to the main WinBuilder page.
Click on the Script tab at the top of the form (if it is not already selected). We can now use some of the utilities or configure the settings.
First, let's update all scripts with the server again, but this time using the Update utility. This will take a while the first time we do it, but after that we can use it to quickly update the Project if there are any changes in the future, so it is worth doing now. Find the Utils folder and then the Update WinPE SE (Exact and Secure) entry and click on it - you should now see the Script form with a large DOWNLOAD and COPY button on it (see below):
Click the DOWNLOAD and COPY button (it will take a while to download all files from the WinPESE server - be patient!)
Note: if you have previously made changes to the build (e.g. added Portable applications or folders), this may cause your files to be lost. For this reason it is best to keep a copy of your drivers and portable apps, etc. in a separate folder and then you can copy them back again after the Download/Update has completed.
3. Make changes
3.1 If you know that you are going to always place the ISO in say the \_ISO\Windows folder on your USB boot drive, then you can set this path in the configuration menu so that when the Win8PESE.ini file is generated, the path is automatically set. To do this, find the Finals - Create ISO script on the left-hand side of the main WinBuilder form (make sure the Script tab is selected) and change the 'Boot from an ISO file: Subfolder (Blank for root)' box so it contains the path that your ISO will be placed at (see below for an example):
3.2 To prevent the ISO being automatically run in an Emulator or VM at the end of a build, untick the Virtual Test folder check box. if you don't have VMWare Player, you can download and install it if you want to test each build in a VM - VM Player is MUCH faster than QEMU!
If you find you have no internet connectivity, check the VMWare Emulation setting is set to NAT rather than Auto.
3.3 Click on the Main Configuration text located under the top Win8PE SE folder. Here you can set the screen resolution, locale, keyboard and timezone or customize the GFXMenu appearance of the ISO grub4dos boot menu.
3.4 Images Configuration - this allows you to change which wim image is used from the source Windows 8 install.wim. It is best to leave settings in here alone. You can however speed up rebuilds if you set the 'Use your extracted wim folders' and also extract the wim image using the Utils - Extract Wim folders script form first.
3.5 Drivers can be added by clicking on the Drivers - Driver Integration script and using the appropriate Explore button (i.e. Drivers_x86 if adding x86 Win8 drivers).
When you click on the Explore icon, Windows Explorer will open up to show an empty folder at C:\Win8PE\Workbench\Common\Drivers_x86. Here you should create folders for your Win8 drivers and place the .inf, .sys, .cat and other files in them. Note that putting setup.exe files in here will not work, you must use .inf files + drivers. You can have subfolders, so name them appropriately - e.g. C:\Win8PE\Workbench\Common\Drivers_x86\Acer\5401\Audio, C:\Win8PE\Workbench\Common\Drivers_x86\Acer\5401\LAN, etc.
3.6 Portable applications can be added to the PStart menu, Desktop and Start Menu as follows:
Find the Apps - Portable - PStart and PApps script and click on it (make sure you select the Script tab also!) - you should now see a form similar to the one below.
Click on the folder icon to open up Windows Explorer - create a suitable folder next to the ..\Apps\Portable\PStart\Explorer++ one that is already there and place the portable application in that folder. In my case I used RMPrepUSB Portable...
Note: The PStart folder may also have the PStart.exe and PStart.xml files in it if you have run the project once already.
Now fill in the form in the Apps - Portable - PStart and PApps script table as required. See below for an example:
Note: Only Explorer++ will appear in the PStart menu currently, this may be fixed later so that all applications that you add will be included.
3.7 You can view the other script options by clicking on each one in turn and change them if you wish. Note: Do not untick Tweaks - ImDisk Ramdisk or WinPE will not be able to load the ISO when it boots (and you will see a yellow warning triangle icon on the Desktop).
Once all changes have been made - click the blue Play arrow to re-make the ISO and then test it.