Booting from USB stick with AOMEI WinPE fails due to missing hal.dll

Recently I updated AOMEI Backupper (shortcut ABU) v3.5 to v4.1 Standard.

Because I made the WinPE USB stick (with ABU on it) 3 years ago, I made a new one with PEBuilder (file size 153.976.416 bytes). Unfortunately, booting with this new version fails. At a certain moment there is the 'Windows Boot Manager' screen that shows 'Windows failed to start' and also that file hal.dll is missing or corrupted.


It would be nice if someone knows the reason of this problem or has some suggestions for trying to solve it.


The installed OS on my systems (a desktop and a laptop) is Windows 7 Pro and the hal.dll is present in the System32 directory.


  • I have searched the old and the new file for '.dll' (with a hex editor) and the difference is remarkable. In the old one (with ABU v2.0.2) I found 16 DLL's and in the new file only one.

    I have also installed AOMEI PE Builder with the smaller file (72.4 i.s.o. 146.8 MB) and made an USB-stick with it. However, booting with it gives exactly the same problem.


    Some remarks.

    #1. When I want to make an ISO file, I give that file a special name and select a location somewhere at a data partition. Of course, I don't want such a big data file in the installer folder and/or at the OS partition.

    So, it is ridiculous that after creating an ISO-file, there is also the 530 MB ampe.iso file at the installation location.

    #2. At the 'Download PE Builder' web page, the explanation of the file sizes is very bad readable. Please, make that information much better visible. I did not notice that when I downloaded the file(s) and saw that info only much later when I was really looking for such info.

  • if you are using windows 7, pebuilder doesn't work on an system with updates.

    You can downoad the file instead

  • Please tick the "Download PE Environment" option and try again.
  • I did that test already a few days ago, but repeat that now. Still the same result: "Failed to initialize WinPE integrated environment". But now I repeat the test and changed the WinPE selection to 32-bits. Now the process continues, but after some (downloading) time the same error message. What next?

    Note. I have the x64 version of Windows 7 Pro (Dutch).

    Using 'click here', I downloaded both ZIP files, but what means "unzip it to the installation directory of the software"? The tiny question mark shows the answer, but the locations in DownloadPath.ini already exist and are filled with 347 and 292 MB. After unpacking (elsewhere), I compared the content of each version and they are exactly the same (only the timestamps are different).


    After uninstalling PE Builder v2, I installed v1,5 (downloaded at 16-Sep-2015), creates an ISO file and made a bootable USB stick using the rufus software: exactly the same hal.dll problem.

    Note. 3 years ago, directly creating an USB failed and nearly always I still make an ISO file first.

    But after reading carefully my (most of the time very extensive) old notes, I saw that I have used a system with Win7 x86 to make the ISO and the USB-stick that I still have to use (with ABU v2.0.2 on it).

    Note. The reason of using a x86 system, was based on information (at internet) about problems when using a x64 system for this WinPE job.


    Should x64 still be a problem when making this WinPE tool?  :-(


    I'm thinking now about trying to do the job at my laptop (also with Win7 Pro x64). But then I must make some precautions like making backups, but also update the ABU version and maybe more.

  • edited July 2018
    Where did you unzip the file to? Can you show me the contents in DownloadPath.ini?
  • Inside the INI twice G:\PB Download, but I did not choose or select that. And this is not relevant to the problem, but I wrote about this because an user overlooks this information very easily.

    - - - - - - - - - -

     Because I wanted to know if that hal.dll exist in the WinPE system, I found rather quick a way to check that. At the 'Windows 7 Forums' website, there is a very nice and helpful instruction for mounting (and modifying) WIM files.

    So, it was rather easy to get the (unpacked) content of both ABU WinPE versions (the working old) and the failing new) at the HDD of my system.

    To be sure that the problem is inside the boot.wim file, I did the following check. By copying and renaming the boot.wim files, I created  the old version USB with the new boot.wim and vice versa. Booting of the modified USB sticks confirmed that the problem is indeed inside the boot.wim file.

    Of course, I started with looking for the hal.dll and that file exists also in the System32 folder of the new version.

    When comparing the old and the new System32 folders (with 'Beyond Compare'), it is nearly impossible to make conclusions. But it's easy to see that the hal.dll in the old version is smaller than the new one. However, the new one has exactly the same size (and nearly the same timestamp) as the file in C:\Windows\System32.


    And if the problem is something in the Registry?

    I have 'Registry Workshop' and connecting to a remote system is possible. At my system I have now all the Registry files, but that is not a remote system. And if booting (from USB) fails, it don't becomes a (remote) system.

  • Of course it's relevant to the problem, I think maybe you placed the files to the wrong directory, so it "Failed to initialize WinPE integrated environment".
  • Something wrong in the Windows Recovery Environment too, which results in the hal.dll issue.
  • I don't know what I could or shout do with these replies.

    I have never done (personally) something with Windows Recovery, because image backups are much better and safer (especially, after a crash or the system don't boot properly).

    Furthermore, I did not change locations when working with PE Builder and WinPE. Only when creating ISO files, I select the location where the file should be placed.


    Can you perhaps give some specific instructions what to do or what to check?


    Note. Unfortunately, I don't have a Win7 x86 system anymore.

  • Please keep in mind that I have the content of the old and the new boot.wim (physically) at my own HDD. So, I can check or compare all files and folders and not only old versus new, but also with my own OS partition. But due to the many differences, it has only sense when I know what to look for.

    However, as I wrote already in a previous post, it is not possible to look in the Registry of the failing USB system.

    Note. I have not tried yet if I can look in the Registry of a correct booting USB system.

  • To be clear about the Windows Recovery Environment. Since I encountered the missing hal.dll problem, I always carried out the PE Builder procedure fully default.

    But at my desktop and my laptop, there is no special partition for that feature (that I don't need).

  • The file size of the hal.dll at my system was till begin of this year 256 kB (263.040 bytes) and the timestamp 21-Nov-2010. After a Windows Update the size changed to 256 kB (262.376 bytes).

    After mounting the (failing) boot.wim, I replaced the hal.dll by the old one and after unmounting (with saving changes) I tried booting. That fails now with a Blue Screen with c0000145 {Application Error}.


    Probably my last test is the following procedure.

    I mounted the boot.wim, deleted the hal.dll file and unmount with saving changes. Booting fails (of course) too, but i.s.o. 'File: hal.dll' and 'Status: 0xc0000098' the screen contains now 'File: \windows\system32\hal.dll' and 'Status: 0xc000000f'.


    Note. After spending a lot of time during the last week, it is a great disappointment that I did not find the reason why the AOMEI WinPE systems don't boot correctly. So, I'm glad that I could make a working  WinPE (with ABU v2.0.2) three years ago.

    But I am also very glad that I have now a correct booting USB stick with AOMEI WinPE and ABU v4.0.6, and that took vey less time. Looking in some other topics, I found in topic 'Beyond frustrated trying to make a bootable USB' a link to '16299_x64-v2.iso'. Thanks SIW2.

    And there is also a link from Admin.

  • I have downloaded now the Admin link too and made a bootable USB of that ISO file. Booting is OK  and there is (only) ABU version 4.1.0 on it. But mounting of the boot.wim file fails. The error messages are:

    [  12% ] Mounting progress

    [ ERROR ] G:\LocatieBootwim\Mount\Windows\servicing\Sessions\72728_53924328.back.xml (Error = 769)

    [ ERROR ] G:\LocatieBootwim\Mount\Windows\WinSxS\amd64_microsoft-windows-network-security-winpe_31bf3856ad364e35_10.0.16299.15_none_08f54da688040b55\BFE.DLL (Error = 769)

    Error mounting image.


    I don't know if this is something to worry about or a (potential) problem. But at least, it is very strange and the first time that mounting fails. And although there is no must for mounting, there is no trust either.

    Note. Mounting is done by:

    G:\LocatieBootwim\imagex.exe /mountrw K:\sources\boot.wim 1 G:\LocatieBootwim\Mount

Sign In or Register to comment.