Wednesday, 14 July 2021

agFM v1.73 released


Thomas came across a problem with agFM recently when booting to Windows ISOs. He was not able to boot to the Windows ISOs on a specific model of notebook:

The same stick and method was used on tons of notebooks of the previous model Lifebook U7410. 
It just fails with the new Model Lifebook U7411.

(Fastboot disabled, Secureboot disabled)
Booting the ISO with .isodef works, but I need to use .isowin for using unattended.xml. When starting the ISO using .isowin (even directly without unattended.xml), it stops loading with the following message:
\"Loading (memdisk)/boot/grubfm/null.cpio
# GRUB Environment Block
installiso=\\\\_ISO\\WINDOWS\\WIN10\\Win_10_2004.2_64BIT_Ger_EDU.ISO
##############
##############
error: xz file corrupted or unsupported block options.
Add: (wimboot)/bootmgfw.efi -> bootmgfw.efi
Add: (envblk)/null.cfg -> null.cfg\"

In the past, I have had a few people report the same .xz error but I have never been able to reproduce it...

With Thomas' help, it seems that the  xzio.mod module used in a1ive's grub2 is causing the problem.

Just loading a compressed .xz file from the grub2 command line failed to work consistently on the U7411 notebook (loopback wim1 ${prefix}/install.xz worked, but any similar loopback command after that using wim2 or wim3, etc. failed).

I changed the distro_win.sh code in agFM so that if the loopback command failed, it would load the uncompressed version of the file:

function win_isoboot { set lang=en_US; # set wp=(install)/winpeshl.ini set wp="(${user})/boot/grubfm/rules/iso/winpeshl_pe.ini" if [ -z "${grubfm_startbat}" -o ! -f "${grubfm_startbat}" ]; then set grubfm_startbat="(${user})/boot/grubfm/rules/iso/start_pe.bat"; fi; loopback loop "${grubfm_file}"; terminal_output console; set installiso="${grubfm_path}"; tr --set=installiso "/" "\\"; loopback -m envblk ${prefix}/null.cpio; save_env -s -f (envblk)/null.cfg installiso; cat (envblk)/null.cfg; loopback -d wimboot loopback -d install   loopback wimboot ${prefix}/wimboot.xz;  loopback install ${prefix}/install.xz;

 # try unpacked versions in case .xz failed to unpack - some systems don't unpack correctly! if ! [ -e (wimboot)/* ]; then loopback wimboot (${user})/boot/grubfm/wimbootxz; fi; if ! [ -e (install)/* ]; then loopback install (${user})/boot/grubfm/installxz; fi;

 set lores=--highest=no

but then the script just hung on the U7411!

So in the end I commented out the loading of the two .xz files and used this code in agFM v1.73 which seems to work:

function win_isoboot { set lang=en_US; # set wp=(install)/winpeshl.ini set wp="(${user})/boot/grubfm/rules/iso/winpeshl_pe.ini" if [ -z "${grubfm_startbat}" -o ! -f "${grubfm_startbat}" ]; then set grubfm_startbat="(${user})/boot/grubfm/rules/iso/start_pe.bat"; fi; loopback loop "${grubfm_file}"; terminal_output console; set installiso="${grubfm_path}"; tr --set=installiso "/" "\\"; loopback -m envblk ${prefix}/null.cpio; save_env -s -f (envblk)/null.cfg installiso; cat (envblk)/null.cfg; loopback -d wimboot loopback -d install # loopback wimboot ${prefix}/wimboot.xz; # loopback install ${prefix}/install.xz; # try unpacked versions in case .xz failed to unpack - some systems don't unpack correctly! if ! [ -e (wimboot)/* ]; then loopback wimboot (${user})/boot/grubfm/wimbootxz; fi; if ! [ -e (install)/* ]; then loopback install (${user})/boot/grubfm/installxz; fi; set lores=--highest=no

So it seems to me that there is some sort of memory bug in the a1ive grub2 xzio.mod module. I tried loading other versions of xzio.mod for the x64 EFI architecture but they would not  load using  the insmod command.

As a1ive has 'archived' both his grub2 and grubfm projects on github, I cannot report the issue however.

4 comments:

  1. sounds to be related to the issue I found https://github.com/a1ive/grub2-filemanager/issues/271

    I also found it in other forms that resembles a lot with what's described in the blog post

    ReplyDelete
    Replies
    1. So does the new agFM fix the issue?

      Delete
    2. on my own PC it does not, I get this: https://i.imgur.com/4deq3Qa.jpg

      I have to get my hands on some odd HP laptops that I know they exhibit the issue with the old agFM and test the new one

      Delete
  2. OK, I got my hands on a HP 250 G8 - no freezes nor reboots

    last year I had freeze issues on a HP 250 G7

    ReplyDelete