ventoy / Ventoy

A new bootable USB solution.
https://www.ventoy.net
GNU General Public License v3.0
61.37k stars 4k forks source link

"Windows could not apply the Windows PE bootstrap setting specified in the unattend answer file." #867

Open AnErrupTion opened 3 years ago

AnErrupTion commented 3 years ago

Hello there!

I've been using that tool since I've heard about it, and it's great. However, I've been trying to boot a custom stripped Windows 10 image with it (Atlas OS for the reference), however after the "Setup is starting" message I get the error that's in the title.

The USB flash drive seems to be recognized, when I type show lists of disks in diskpart (when getting a cmd with Shift+F10) there's my laptop's HDD and the USB flash drive (which is 32 GB). I've tried to copy 2 times the ISO and change 2 times the USB port but no luck, still the same error message.

My host system is on Linux (desktop), and I'm trying to install that Windows ISO on a laptop, if that helps.

This happens with the latest Ventoy 1.0.42, just released yesterday.

steve6375 commented 3 years ago

Do normal official Microsoft win 10 ISOs work ok? Are you legacy or uefi booting Is an XML file used by the atlas iso?

AnErrupTion commented 3 years ago

Yes, normal Win 10 ISOs work fine Legacy booting I have absolutely no clue but probably since it's unattended

steve6375 commented 3 years ago

Maybe XML file is expecting pre-partitioned drive or uefi boot and gpt partitions?

AnErrupTion commented 3 years ago

Wdym pre-partitioned drive? The USB or hard drive? And I don't think it expects anything UEFI, I think it works on legacy booting (but I'm not sure)

steve6375 commented 3 years ago

Open iso and look at XML file. Winpe component section. Look at log files on x: drive using shift F10 after error

AnErrupTion commented 3 years ago

Where are the log files located? And is the XML file called "autounattend.xml"? It's in the root directory of the X drive

steve6375 commented 3 years ago

XML could be in root of iso or on x Log files Dir /s X:\windows\*.log /of

AnErrupTion commented 3 years ago

Well the XML file doesn't seem to have any partitioning or UEFI-related thing, and also I found an error in X:\Windows\panther\setuperr.log: Error IBS Service lmhosts start: 0x00000424[gle=0x00000424] Error [0x0604a8] IBS Failed applying WinPE bootstrap unattend settings with status 0x80070424[gle=0x00000424]

steve6375 commented 3 years ago

Well if no disk install or partition info, it must expect the disk to be pre partitioned. Did you test the iso successfully at any time? Do you know it works?

AnErrupTion commented 3 years ago

Well, it works in a QEMU virtual machine last time I tested (which was yesterday), and it installed successfully.

steve6375 commented 3 years ago

@steve6375 https://github.com/Atlas-OS/Atlas/wiki/2.-Installing Seems to want uefi boot and prepared empty partitions. Is that same iso?

AnErrupTion commented 3 years ago

Yes that's the same ISO. And well, for empty partitions it might be OK (though I really don't think it requires it), but for UEFI boot... ehh, let's say the laptop I use has a very poor UEFI implementation. But on their Discord it seems like people even have problems booting from UEFI with Ventoy (or at least I'm guessing they use UEFI)

AnErrupTion commented 3 years ago

I'm going to test to install the ISO in a QEMU VM, but with legacy booting instead of UEFI.

AnErrupTion commented 3 years ago

And I don't get the error, I can get past Setup is starting successfully.

steve6375 commented 3 years ago

Well paste in XML file so we can see it! If you used qemu, was it legacy booting?

AnErrupTion commented 3 years ago

I just tested with legacy booting and it worked, and before I used UEFI and it worked. And yes I will, just a moment.

AnErrupTion commented 3 years ago

autounattend.txt It's the file but I renamed it to txt so I can upload it to GitHub

steve6375 commented 3 years ago

Instructions say drive must be gpt. Why not run diskpart on the target system and clean and make gpt disk May need to use Convert gpt Command Then run iso

AnErrupTion commented 3 years ago

But then my laptop has a poor UEFI implementation... so booting GPT disks will be hard...

steve6375 commented 3 years ago

Ok, so use MBR partition but pre partition it as one large NTFS partition

AnErrupTion commented 3 years ago

Can't I just try to just erase the disk with no partition?

steve6375 commented 3 years ago

If disk was GPT you may need to run diskpart convert MBR command

AnErrupTion commented 3 years ago

It never was GPT, but I mean that I can just remove all partitions and blank the disk since it worked with a VM?

steve6375 commented 3 years ago

Maybe?!?

AnErrupTion commented 3 years ago

Well, I fixed the issue by enabling experimental UEFI booting in my laptop's BIOS and, when going to the boot manager, boot manually from a EFI file (the USB bootable flash drive was only detected as legacy). I went to EFI/Boot then launched "bootx64.efi". Hope that helps anyone! But I think there's some problem with Ventoy booting on legacy hardware.

Timoteee commented 2 years ago

SECOND SOLUTION

Hi, I have developed a solution second to @AnErrupTion 's Method, which should be more simpler. Just like them I was getting the same issue with the same isos I tried Atlas OS and GGOS which both are pretweaked modified mostly stripped down versions of windows 10 and would still get the error. This was done on an older laptop around 2013 or so, its a Dell Inspiron N5010 with a considerably older motherboard and CPU which i believe runs on legacy. Okay now past the introduction here are the steps I took.

image

image

image

CodeCubeNeo commented 2 years ago

But it would still be nice to figure out why does this error get thrown with the custom windows isos, since you need to get/build yourself the windows PE image to install with ventoy. There is also a duplicate of this which you might mention here (to merge the issues): https://github.com/ventoy/Ventoy/issues/1449. The custom windows isos are currently the one issue i have with ventoy, really awesome project!!!

steve6375 commented 2 years ago

We would need to know details! What exact ISO? What XML file? How are you booting (UEFI or Legacy - as shown at the bottom of the Ventoy menu). Examine the Windows .log files after you get the error (see post above to find .log files) The issue is usually that the XML file contains settings with the wrong disk/partition settings. Typically the XML file expects to be booted in UEFI mode and thus creates GPT partitions but you have booted in Legacy mode, or the XML expects to be booted in Legacy mode but you have booted in UEFI mode.

CodeCubeNeo commented 2 years ago

Hello! I am also trying to install Atlas os, so everything that "AnErrupTion" posted, and answered is the same. when i tried to install atlas os with uefi boot it worked (proving you right, meaning you should use uefi). But my question is why can i install atlas os if i format the drive with rufus and set it there as mbr + bios (meaning it does not require uefi (as you said it specified in the XML file)). Maybe rufus modifies the XML file to not require gpt + uefi??

steve6375 commented 2 years ago

Setting Rufus to MBR does not prevent it from UEFI booting and then installing UEFI boot files and making GPT partitions on target disk.

CodeCubeNeo commented 2 years ago

Yes, I forgot to say that I still do a legacy boot and it works.

Timoteee commented 2 years ago

But it would still be nice to figure out why does this error get thrown with the custom windows isos, since you need to get/build yourself the windows PE image to install with ventoy. There is also a duplicate of this which you might mention here (to merge the issues): #1449. The custom windows isos are currently the one issue i have with ventoy, really awesome project!!!

i wouldn't know honestly

steve6375 commented 2 years ago

Why not look at the panther log files and then you can trace the error?

CodeCubeNeo commented 2 years ago

I have collected the entire windows folder from the X: disk when the installation fails (if you need anything else), here is the entire panther folder with all the log files (At least I didn't find an ything helpful) panther.zip. I also found another one with the same issue: https://github.com/ventoy/Ventoy/issues/449

CodeCubeNeo commented 2 years ago

Now I have also tested the same atlas OS iso with rufus and mbr + bios selected and booted with legacy and it again worked, but now i have collected the Windows folder. Her are the panther files when the thing works with rufus (so you can compare them, if that will help). panther-rufus-working.zip. If you want anything else please ask, it would be awesome if we were able to solve this.

steve6375 commented 2 years ago

It seems there is a problem with Legacy install when using Ventoy or grubfm or Easy2Boot(I tested with VBox 5), however it does work when legacy booting to Easy2Boot and loading the ISO in Setup/repair mode (press ENTER quickly before choosing an XML). LongPanda will need to look at this. Atlas 0.5.1 Ventoy 1.0.72 (in Ventoy WIMBOOT mode ctrl-w it does not boot at all - error /setup.exe not found, bootmgr not found). If the boot.wim is replaced with a \sources\boot.wim from a x64 Microsoft Windows ISO then Ventoy works OK. I used PowerISO to replace the boot.wim file. So it seems something is missing from the Atlas boot.wim that Ventoy needs (missing Windows component?). EDIT: actually the install stops when copying files with a 'Windows could not locate the offline locale information - Error code 0x80000001' and install halts - but it does almost work! Possibly because I used a UK Win10 ISO?

steve6375 commented 2 years ago

The Atlas ISO contains two copies of AutoUnattend.xml \AutoUnattendl.xml and inside \sources\boot.wim as \autounattend.xml

If both these XML files are removed then the install works using Ventoy in Legacy Mode. So the settings in the WindowsPE section of the XML file used in the Atlas ISO is causing a problem with Ventoy and agFM.

    <settings pass="windowsPE">
        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>0409:00000409</InputLocale>
            <SystemLocale>en-US</SystemLocale>
            <UILanguage>en-US</UILanguage>
            <UILanguageFallback>en-US</UILanguageFallback>
            <UserLocale>en-US</UserLocale>
            <SetupUILanguage>
                <UILanguage>en-US</UILanguage>
            </SetupUILanguage>
        </component>
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <Diagnostics>
                <OptIn>false</OptIn>
            </Diagnostics>
            <DynamicUpdate>
                <Enable>false</Enable>
                <WillShowUI>OnError</WillShowUI>
            </DynamicUpdate>
            <ImageInstall>
                <OSImage>
                    <WillShowUI>OnError</WillShowUI>
                    <InstallFrom>
                        <MetaData wcm:action="add">
                            <Key>/IMAGE/INDEX</Key>
                            <Value>1</Value>
                        </MetaData>
                    </InstallFrom>
                </OSImage>
            </ImageInstall>
            <UserData>
                <AcceptEula>false</AcceptEula>
                <ProductKey>
                    <Key></Key>
                </ProductKey>
            </UserData>
        </component>
    </settings>
CodeCubeNeo commented 2 years ago

So only if both are removed, the install works? How could we find out which specific setting inside of the winpe section is problematic?

steve6375 commented 2 years ago

Well, you would need to experiment. But in any case you would need to edit the iso. My first guess is that it is the locale settings as the required local language file may not be included by ventoy? Why don't you edit the iso and find out if you really want to know.

Zusier commented 2 years ago

This was due to a stripped component as is fixed in the latest version of Atlas. I believe this issue can be closed (this was not really Ventoy's fault it seems either)

CodeCubeNeo commented 2 years ago

Ok sure I guess, but is it still a problem with other custom isos like ReviOS, ggOS?

Zusier commented 2 years ago

I'm fairly sure neither of them have this issue, and as I mentioned before it wouldn't be Ventoy's responsibility to fix it in my opinion.