iPXE discussion forum
Lenovo Drive Erase Utility + UEFI + IPXE - Printable Version

+- iPXE discussion forum (https://forum.ipxe.org)
+-- Forum: iPXE user forums (/forumdisplay.php?fid=1)
+--- Forum: General (/forumdisplay.php?fid=2)
+--- Thread: Lenovo Drive Erase Utility + UEFI + IPXE (/showthread.php?tid=18811)



Lenovo Drive Erase Utility + UEFI + IPXE - thehumm - 2019-07-24 16:57

Hello,

I cannot seem to get this utility to boot properly under IPXE. Can someone give me some pointers to see if we can get this to work?

Here is the tool:
https://support.lenovo.com/ca/en/downloads/ds019026

It comes with an EFI version in the zip folder, including a bootx64.efi and DrvErase.exe

If I put these files onto a USB (/EFI/BOOT/BootX64.efi + /DrvErase.exe) I can successfully boot the USB in UEFI mode on Lenovo devices.

However, if I try to load the bootx64.efi and drvload.exe files via IPXE, it never works. Generally I get a black screen after the files load and nothing shows on the screen, but control alt delete will reboot the machine. I suspect bootx64.efi has loaded but drverase.exe is unable to execute as it is an exe format, but somehow this works off a USB stick?

I tried to also make an ISO of the files, but SANBOOT does not like to boot it at all.

Any guidance is appreciated!


RE: Lenovo Drive Erase Utility + UEFI + IPXE - NiKiZe - 2019-07-24 17:22

How have you tried to load them? how does the relevant part of iPXE script look like that you have tried?

If you remove the .exe file from the USB device and test, what happens then?


RE: Lenovo Drive Erase Utility + UEFI + IPXE - thehumm - 2019-07-31 15:46

(2019-07-24 17:22)NiKiZe Wrote:  How have you tried to load them? how does the relevant part of iPXE script look like that you have tried?

If you remove the .exe file from the USB device and test, what happens then?

Hi NiKiZe,

Thanks for the reply! Sorry I did not respond sooner, I got busy with some other tasks in the past week. So in coming back to this, here is what I am seeing:

If I use this to boot from iPXE in my menu.ipxe then I just get a black screen after it loads. It also will respond to control alt delete and reboot, so it is not frozen per say:

:LENOVO
echo Booting ThinkPad Drive Erase for ${initiator-iqn}
set root-path ${base-iscsi}:${hostname}.boot.freedos
set base-url http://myserver/techtools/Both/ThinkPadDriveErase
imgfetch ${base-url}/BootX64.efi
boot BootX64.efi || goto failed
goto start

If I take the exe off of the USB it also loads, so this suggests everything should be within the BootX64.efi file. It sounds like I just need some help figuring out how to load this particular EFI file I am guessing.

The structure on the USB is: /EFI/Boot/BootX64.efi
It is FAT32 formatted

I've tried using initrd instead of imgfetch or kernel and so far no luck. Any suggestions?
Thank you very much in advance!


RE: Lenovo Drive Erase Utility + UEFI + IPXE - NiKiZe - 2019-08-01 00:59

you are setting root-path, but that is never used - you should start with the absolute minimal case, meaning rip everything else out.
The imgfetch and boot could be replaced with just
chain ${base-url}/BootX64.efi || goto failed

However I don't think that this is the actual issue, so lets go for the hack
grab wimboot, you can find it at git.ipxe.org

and then do:
imgfree
initrd -n bootx64.efi ${base-url}/BootX64.efi bootx64.efi
chain wimboot || goto failed

what will happen now is that a virtual fat32 fs will be created by wimboot, and bootx64.efi will be started from that drive.
If the exe is needed as well then it can be loaded with an initial initrd


RE: Lenovo Drive Erase Utility + UEFI + IPXE - thehumm - 2019-08-01 14:40

(2019-08-01 00:59)NiKiZe Wrote:  you are setting root-path, but that is never used - you should start with the absolute minimal case, meaning rip everything else out.
The imgfetch and boot could be replaced with just
chain ${base-url}/BootX64.efi || goto failed

However I don't think that this is the actual issue, so lets go for the hack
grab wimboot, you can find it at git.ipxe.org

and then do:
imgfree
initrd -n bootx64.efi ${base-url}/BootX64.efi bootx64.efi
chain wimboot || goto failed

what will happen now is that a virtual fat32 fs will be created by wimboot, and bootx64.efi will be started from that drive.
If the exe is needed as well then it can be loaded with an initial initrd

Hi,

Thanks so much for your reply.

I managed to get it to work on some older model machines but not the new machines we are deploying this year (Lenovo T480 and X380 Yoga). That's weird, maybe something with their UEFI firmware implementation? They are currently running on the latest BIOS revision available from Lenovo.

For these troublesome models:
I updated my copy of wimboot just to be sure, but it seems this does the same issue of black screen, sitting there forever and can control alt delete to reboot.

Checking the start up messages, it seems to get the BootX64.efi and wimboot files and then wimboot says it finds bootmgfw.efi file bootx64.efi, reads and loads it then the black screen shows up. Here is the current config:

:LENOVO
echo Booting ThinkPad Drive Erase for ${initiator-iqn}
set base-url http://myserver/techtools/Both/ThinkPadDriveErase
imgfree
initrd -n bootx64.efi ${base-url}/BootX64.efi bootx64.efi
chain wimboot || goto failed
goto start

This also seems to work on the older models but not the newer ones:

:LENOVO
echo Booting ThinkPad Drive Erase for ${initiator-iqn}
set base-url http://myserver/techtools/Both/ThinkPadDriveErase
chain ${base-url}/BootX64.efi || goto failed
goto start


Any other suggestions for these new devices that you may be aware of? Thanks in advance.

Hardware Tests:

Doesn't Work:
L380 Yoga
T480
X380 Yoga

Works:
X1 Carbon
T530 / T430s (Presumably works since 530 works and this is the 14 inch version of the same unit) / X230 (But unsupported since not SSD / Encrypted Drive)
T540 / T440
Yoga 12
Yoga 260
Yoga 370 (Presumably works but not yet tested)
Yoga P40


RE: Lenovo Drive Erase Utility + UEFI + IPXE - NiKiZe - 2019-08-01 15:24

So wimboot does not help at all, instead it is simply an issue with the efi and firmware combo.
You might want to play around with resolution, which at times have shown similar symptoms.

But I would actually try to contact Lenovo support about this.