You are not logged in.
After 'pacman -Syu', grub was upgraded from 2.00.5086-1 to 1:2.00.1282.g5ae5c54-1.
Rebooting my system, grub says
error: symbol 'grub_real_boot_time' not found.
and it goes to rescue mode.
On the rescue mode, I tried to insmod normal.mod. But grub says the same message as above, and fails to load the module. How can I boot my Arch?
Last edited by tattsan (2013-12-08 11:08:34)
Offline
Yesterday there was an update of grub2 in the Arch repos. I installed it on my 64 bit machine. Then I decided I wanted update grub in the GPT partition I've made originally so I simply did as I have done several time before when grub2 has been updated:
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda
but it through an error saying gpt.mod is missing, so I did
grub-mkconfig -o /boot/grub/grub.cfg
which also fails for some reason, complaining about a syntax error. Now grub is busted and I can't boot into my installation. Grub loads but throws an error stating "symbol 'grub_real_boot_time' not found" and throws me into grub rescue. What did I do wrong? My setup consists 2 500 MB drives with 4 partitions on it boot, swap, root and home. I'm using software RAID where boot is RAID 1 and home and root are RAID 0. How can I get the machine just to boot once so that i can back up my stuff because I want to reinstall anyway. The installation is now 4 years old almost and has carried over from an older machine.
Offline
Merging with the earlier thread...
Offline
@tattsan: Have you tried downgrading grub back to the previous version?
Offline
@fettouhi: Yes. I downgraded grub to the previous version (2.00.5086-1), and I could repair the boot loader.
As for new version,
/usr/lib/grub/i386-pc/normal.mod contains the symbol grub_real_boot_time, but
/boot/grub/i386-pc/normal.mod does not.
On rescue mode, I could not load the modules eather.
Not all modules are broken. For example: mmap.mod, relocator.mod, reboot.mod
are loadable, so I could reboot the boot loader
Last edited by tattsan (2013-12-07 14:48:04)
Offline
@fettouhi: Yes. I downgraded grub to the previous version (2.00.5086-1), and I could repair the boot loader.
As for new version,
/usr/lib/grub/i386-pc/normal.mod contains the symbol grub_real_boot_time, but
/boot/grub/i386-pc/normal.mod does not.
On rescue mode, I could not load the modules eather.Not all modules are broken. For example: mmap.mod, relocator.mod, reboot.mod
are loadable, so I could reboot the boot loader
So you typed simply
insmod (hdX,Y)/grub/i386-pc/reboot.mod
instead normal.mod? How did you load the kernel, e.g. what you type after that?
Offline
I did not load linux kernel from that broken grub. 'reboot' command works,
and PC restarts, but you'll faced with rescue mode of grub again
(workaround)
So I boot up my PC using installation CD, mount HDD, chroot, downgrade
grub package, and repair the loader installed on /dev/sda.
Can this be said as solved?
Offline
Did the same thing and I'm up and running again. But it seems like this package is broken or has a bug at least have you filed a bug report?
Offline
For a bug report, I want to check its reproducibility, but I have no time for it yet.
Offline
Hi All,
I'm having troubles with this upgrade too (I'm on x86_64 dual booting Arch and Windows).
If I upgrade from 2.00.5086-1 to 1:2.00.1282.g5ae5c54-1 I get a crazy (32GB RAM here)
out of memory error
when running
grub-mkconfig -o /boot/grub/grub.cfg
downgrading solves the issue.
My /etc/default/grub is rather normal
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="resume=/dev/sda3"
# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true
# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console
# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto
# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep
# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true
# Uncomment and set to the desired menu colors. Used by normal and wallpaper
# modes only. Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"
# Uncomment one of them for the gfx desired, a image background or a gfxtheme
GRUB_BACKGROUND="/usr/share/wallpapers/Elarun/contents/images/2560x1600.png"
#GRUB_THEME="/path/to/gfxtheme"
# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"
GRUB_SAVEDEFAULT="true"
Should we keep the two issues in the same thread?
Regards.
Antonio.
Offline
As for new version,
/usr/lib/grub/i386-pc/normal.mod contains the symbol grub_real_boot_time, but
/boot/grub/i386-pc/normal.mod does not.
On rescue mode, I could not load the modules eather.
It could be that the update path is broken, but grub itself works. Maybe try to move /boot/grub to /boot/grub-backup, then reinstall the grub package and call grub-install. If the boot works delete the backup.
Last edited by progandy (2013-12-08 09:17:14)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
[SOLUTION]
It could be that the update path is broken, but grub itself works. Maybe try to move /boot/grub to /boot/grub-backup, then reinstall the grub package and call grub-install. If the boot works delete the backup.
You are right! Thank you progandy!!
I moved old /boot/grub to /boot/grub-backup, and remake /boot/grub/grub.cfg, and called grub-install. Then right modules are installed in /boot/grub/i386-pc, and grub could load the module normal.mod when boot.
When I met this trouble, grub-install failed to update modules for some reason. I couln't reproduce the situation, so I don't know what caused that failure.
Last edited by tattsan (2013-12-08 11:23:45)
Offline
Should we keep the two issues in the same thread?
Your problem is discussed in https://bugs.archlinux.org/task/37904.
It's a bug, and there is a workaround for it.
Last edited by tattsan (2013-12-08 15:33:32)
Offline
tattsan wrote:As for new version,
/usr/lib/grub/i386-pc/normal.mod contains the symbol grub_real_boot_time, but
/boot/grub/i386-pc/normal.mod does not.
On rescue mode, I could not load the modules eather.It could be that the update path is broken, but grub itself works. Maybe try to move /boot/grub to /boot/grub-backup, then reinstall the grub package and call grub-install. If the boot works delete the backup.
I'm not sure what you mean. If I update grub from 2.00.5086-1 to 1:2.00.1282.g5ae5c54-1 and do
grub-mkconfig -o /boot/grub/grub.cfg
I get the error
error: out of memory.
error: syntax error.
error: Incorrect command.
error: syntax error.
Syntax error at line 190
Syntax errors are detected in generated GRUB config file.
Ensure that there are no errors in /etc/default/grub
and /etc/grub.d/* files or please file a bug report with
/boot/grub/grub.cfg.new file attached.done
and running
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sdb
gives me an error saying gpt.mod is missing.
So how do I update grub without braking it?
Offline
Did you try to disable submenu by adding "GRUB_DISABLE_SUBMENU=y" to /etc/default/grub and regenerate grub.cfg?
https://bugs.archlinux.org/task/37904
Offline
Did you try to disable submenu by adding "GRUB_DISABLE_SUBMENU=y" to /etc/default/grub and regenerate grub.cfg?
https://bugs.archlinux.org/task/37904
Yes I tried that now
grub-mkconfig -o /boot/grub/grub.cfg
runs correctly but
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sdb
both fail with the error that gpt.mod is missing.
Offline
Try
mv /boot/grub /boot/grub-backup
mkdir /boot/grub
and
grub-mkconfig -o /boot/grub/grub.cfg
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda
and so on.
Offline
Try
mv /boot/grub /boot/grub-backup mkdir /boot/grub
and
fettouhi wrote:grub-mkconfig -o /boot/grub/grub.cfg
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sdaand so on.
I did all that and with the new grub grub-install fails with gpt.mod missing.
Offline
I did all that and with the new grub grub-install fails with gpt.mod missing.
That problem is discussed in https://bugs.archlinux.org/task/38053 .
So many bugs in this version!
Last edited by tattsan (2013-12-09 01:24:51)
Offline
By the way, if you have a backup of your old config file, you can just replace the config file and it will work.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
By the way, if you have a backup of your old config file, you can just replace the config file and it will work.
I've tried also with my old grub.cfg and it still fails.
Offline
I did all that and with the new grub grub-install fails with gpt.mod missing.
What is the result of 'grep -r gpt /boot/grub/* | grep -v ^Binary' ? Mine is as bellow.
# grep -r gpt /boot/grub/* | grep -v ^Binary
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg.example:insmod part_gpt
/boot/grub/i386-pc/command.lst:gptsync: gptsync
/boot/grub/i386-pc/moddep.lst:part_gpt:
/boot/grub/i386-pc/moddep.lst:ldm: part_gpt diskfilter part_msdos
/boot/grub/i386-pc/moddep.lst:gptsync: disk
/boot/grub/i386-pc/partmap.lst:part_gpt
There's 'insmod part_gpt' in grub.cfg, but no 'insmod gpt' .
Offline
And in /etc/default/grub , there's a line bellow:
GRUB_PRELOAD_MODULES="part_gpt part_msdos"
This line is inserted to grub.cfg by /etc/grub.d/00_header script as 'insmod gpt_part' and so on.
Last edited by tattsan (2013-12-09 09:41:32)
Offline
fettouhi wrote:I did all that and with the new grub grub-install fails with gpt.mod missing.
What is the result of 'grep -r gpt /boot/grub/* | grep -v ^Binary' ? Mine is as bellow.
# grep -r gpt /boot/grub/* | grep -v ^Binary /boot/grub/grub.cfg:insmod part_gpt /boot/grub/grub.cfg.example:insmod part_gpt /boot/grub/i386-pc/command.lst:gptsync: gptsync /boot/grub/i386-pc/moddep.lst:part_gpt: /boot/grub/i386-pc/moddep.lst:ldm: part_gpt diskfilter part_msdos /boot/grub/i386-pc/moddep.lst:gptsync: disk /boot/grub/i386-pc/partmap.lst:part_gpt
There's 'insmod part_gpt' in grub.cfg, but no 'insmod gpt' .
Here is my output.
[root@andre ~]# grep -r gpt /boot/grub/* | grep -v ^Binary
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg:insmod part_gpt
/boot/grub/grub.cfg: insmod part_gpt
/boot/grub/grub.cfg: insmod part_gpt
/boot/grub/grub.cfg: insmod part_gpt
/boot/grub/grub.cfg: insmod part_gpt
/boot/grub/grub.cfg.backup:insmod part_gpt
/boot/grub/grub.cfg.backup:insmod part_gpt
/boot/grub/grub.cfg.backup:insmod part_gpt
/boot/grub/grub.cfg.backup:insmod part_gpt
/boot/grub/grub.cfg.backup:insmod part_gpt
/boot/grub/grub.cfg.backup: insmod part_gpt
/boot/grub/grub.cfg.backup: insmod part_gpt
/boot/grub/grub.cfg.backup: insmod part_gpt
/boot/grub/grub.cfg.backup: insmod part_gpt
Binær fil /boot/grub/i386-pc/part_gpt.mod stemmer
/boot/grub/i386-pc/partmap.lst:part_gpt
/boot/grub/i386-pc/moddep.lst:part_gpt:
/boot/grub/i386-pc/moddep.lst:ldm: part_gpt diskfilter part_msdos
/boot/grub/i386-pc/moddep.lst:gptsync:
Binær fil /boot/grub/i386-pc/ldm.mod stemmer
/boot/grub/i386-pc/command.lst:gptsync: gptsync
Binær fil /boot/grub/i386-pc/gptsync.mod stemmer
Binær fil /boot/grub/themes/starfield/starfield.png stemmer
Offline
Hmm...
And with what options is grub-mkimage called ( from grub-install ) ?
grub-install --directory=/usr/lib/grub/i386-pc --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda |& grep mkimage
Offline