help-guix
[Top][All Lists]
Advanced

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

Re: repair broken boot record


From: pelzflorian (Florian Pelz)
Subject: Re: repair broken boot record
Date: Tue, 5 Oct 2021 13:04:32 +0200

On Tue, Oct 05, 2021 at 11:28:50AM +0200, Thomas Danckaert wrote:
> Hello Florian,
> 
> thank you for your help.  I managed to chroot into my system, and re-run
> 'guix system reconfigure' (very useful mailing list discussion on chrooting,
> I also vote for including it in documentation :) ).

I’m glad it helped so far, although I don’t know all the details about
chroot nor EFI.  (For example which directories from the live system
should be mounted in the chroot and why.)  So I won’t attempt to write
documentation.


> In one of the final
> steps, where guix tries to install the bootloader, I get the error:
> 
> /gnu/store/.../grub/i386-pc/modinfo.sh doesn't exist. Please specify
> --target or --directory.

This is strange.  When you reconfigure, Guix should print the
grub-install command that was used, which should include both --target
and --directory.

However, perhaps the chroot is at fault: Before chrooting to, let’s
say, /mnt with chroot /mnt, you need to have mounted the /dev/sdXy
file system with EFI on it (that which is declared in your config.scm)
to /mnt/boot/efi.

What I write below you will probably not need; you can ignore it if
the above works:

> Indeed my system uses grub-efi.  Could that be related?  Can you point me to
> some specific instructions on how to check/solve efivar issues?

If you have made available efivar (by installing it or by `guix
environment --ad-hoc efivar` or similar), and if you have booted from
an EFI bootloader, then you can run `efivar -l` to see all variables
stored on your motherboard/mainboard.  The motherboard NVRAM can
become full.  However I’m not sure how to delete such variables; I
think the program efibootmgr can do it.  Hopefully and likely it will
not be necessary.


> Not sure if I need grub-efi, or if it might also work using grub-pc.  Until
> now I've always used grub-efi.

Some systems need EFI (and others don’t work with EFI).  It is
probably better to stick with EFI.


> (Another thing I noticed (maybe a side effect of chroot?): when I re-run
> 'guix system reconfigure' it tries to rebuild derivations that are already
> there in the store from last time, I think.)

Maybe they just have the same package name but are different versions,
so a rebuild is necessary.  But maybe also the running guix-daemon is
the one from the live USB and not from the installed system.

guix-daemon stores information about what is installed in a sqlite
database.  Now I wonder if the chroot can make changes to the wrong
database and interfere with the already installed guix-daemon, making
the store inconsistent.  Anyway, this should not cause trouble with
reconfiguring and if some inconsistency in the installed system causes
trouble later on, guix gc --verify can fix it.  It is not important now.

Hope it helps.

Regards,
Florian



reply via email to

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