[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Laptop won’t boot after Guix install

From: Ian Eure
Subject: Laptop won’t boot after Guix install
Date: Fri, 05 Jan 2024 19:41:34 -0800
User-agent: mu4e 1.8.13; emacs 28.2


I have Guix running on one computer already, and wanted to set it up on another, a ThinkPad L390 Yoga. This was previously running Debian, but I wiped it to put Guix on, by running `sudo dd if=/dev/urandom of=/dev/nvme0n1 bs=1M'. After the Guix install, the laptop doesn’t boot -- the firmware shows a boot device selection menu, rather than bootint into Guix. The only entry is the internal NVMe SSD, and choosing it does nothing -- the firmware can’t figure out how to boot from it. I tried two other third-party installers based on Guix 1.4.0, and got the same result. The installer boots and runs fine, the install process appears to succeed, but after restarting, the machine doesn’t boot.

This is a very vanilla setup. I used the graphical Guix installer, let it partition things, and have one partition for everything. I have no other OS on this computer, I’m not dual-booting, net-booting, or anything else exotic.

Secure boot is disabled in the BIOS.

I tried updating the firmware on the laptop and restoring it to the default settings -- no change.

I tried wiping the partition table again, but using /dev/zero -- no change.

If I boot the installer image and drop into its GRUB menu, I can chainload GRUB off the internal SSD’s ESP, which lets me boot Guix. So the installation itself is fine, but the bootloader is broken. After booting this way, I tried `guix pull' and `sudo guix system reconfigure /etc/config.scm'. This also didn’t work -- the machine still will not boot.

After digging in the ESP, I thought I’d found a clue: the GRUB payload is placed at /EFI/Guix/grubx64.efi, and there’s no /EFI/BOOT/BOOTX64.EFI, which is typically what a UEFI platform would look for to begin booting the OS. But! My existing Guix machine (a ThinkPad X13 Gen 2 AMD) *does* boot, but *doesn’t* have a /EFI/BOOT/BOOTX64.EFI payload, either. My Debian machine has /EFI/BOOT/BOOTX64.EFI as well as /EFI/debian/grubx64.efi -- both files have identical contents per sha256sum. But but! The X13 *also* has some Debian files in the ESP, so it’s not 100% identical to the L390. Not sure how those got there. It’s also a former Debian box, but I wiped it, and am surprised to see anything remaining from that.

My only hypothesis around this is that perhaps the EFI variables are messed up, and resetting BIOS settings doesn’t clear them. That might make the BIOS do something weird in its boot process; or make GRUB think some other OS is installed, and install the bootloader wrong for a single-OS setup.

Does anyone have any suggestions or advice? Needing a USB stick to boot the machine is a pain.


 — Ian

reply via email to

[Prev in Thread] Current Thread [Next in Thread]