[opensuse] 42.3 GRUB error: /boot/grub2/i386-pc/normal.mod not found

I installed 42.3 on a Dell Precision T7500, in /dev/sda3, ext4, taking all the default Grub options, without UEFI. It has 13.1 and 42.2 already installed in the other partitions. After the installation, 42.3 booted correctly. In /etc/defaults/grub I set GRUB_TIMEOUT=300 and removed options quiet and splash from GRUB_CMDLINE_LINUX_DEFAULT. I then ran grub2-mkconfig -o /boot/grub2/grub.cfg On reboot I see Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue > Googling shows that this is a known problem in other distributions, but with no crisp simple solution. After reading https://unix.stackexchange.com/questions/70538/grub-error-file-grub-i386-pc-... I wondered if the simplest approach is to copy the file from /usr/lib/grub2/ ? But how do I do this? Grub rescue is crippled. No help command, no cp command, no command completion, all that "ls (hd0,msdos3)" reports is "File system is ext2". (It's ext4.) I am not an expert in this area - am I looking at a grub2-mkconfig bug? Any hint would be appreciated. Roger -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

31.07.2017 19:10, Roger Price пишет:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Mon, 31 Jul 2017, Andrei Borzenkov wrote:
31.07.2017 19:10, Roger Price пишет:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
At that address I found the script is presented as an HTML file with line numbers at https://github.com/arvidjaar/bootinfoscript/blob/master/bootinfoscript Is there some way of downloading just the executable script? Roger

On 2017-07-31 19:06, Roger Price wrote:
On Mon, 31 Jul 2017, Andrei Borzenkov wrote:
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
At that address I found the script is presented as an HTML file with line numbers at https://github.com/arvidjaar/bootinfoscript/blob/master/bootinfoscript
Is there some way of downloading just the executable script? wget "https://github.com/arvidjaar/bootinfoscript/raw/master/bootinfoscript"
-- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar)

31.07.2017 20:06, Roger Price пишет:
On Mon, 31 Jul 2017, Andrei Borzenkov wrote:
31.07.2017 19:10, Roger Price пишет:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
At that address I found the script is presented as an HTML file with line numbers at https://github.com/arvidjaar/bootinfoscript/blob/master/bootinfoscript
Is there some way of downloading just the executable script?
Roger
a) press Raw link on this page - or - b) download release tarball -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

Roger Price composed on 2017-07-31 19:06 (UTC+0200):
Andrei Borzenkov wrote:
Roger Price composed:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
At that address I found the script is presented as an HTML file with line numbers at https://github.com/arvidjaar/bootinfoscript/blob/master/bootinfoscript
Is there some way of downloading just the executable script?
There's a "tab" on that page "Raw". Open then save or use context menu to save. -- "The wise are known for their understanding, and pleasant words are persuasive." Proverbs 16:21 (New Living Translation) Team OS/2 ** Reg. Linux User #211409 ** a11y rocks! Felix Miata *** http://fm.no-ip.com/ -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Mon, 31 Jul 2017, Andrei Borzenkov wrote:
31.07.2017 19:10, Roger Price пишет:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
Thanks to those who helped with the access to the script. I managed to boot 42.3 in console mode using the NET CD option of booting a specified OS. I installed bootinfoscript and ran it. The file (81 kByte) RESULTS.txt may be seen at http://rogerprice.org/RESULTS.txt Roger

01.08.2017 00:04, Roger Price пишет:
On Mon, 31 Jul 2017, Andrei Borzenkov wrote:
31.07.2017 19:10, Roger Price пишет:
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Run https://github.com/arvidjaar/bootinfoscript from any live environment and make RESULTS.txt available.
Thanks to those who helped with the access to the script.
I managed to boot 42.3 in console mode using the NET CD option of booting a specified OS. I installed bootinfoscript and ran it.
The file (81 kByte) RESULTS.txt may be seen at http://rogerprice.org/RESULTS.txt
Thanks. So the first thing to verify is that you are actually booting from disk detected as /dev/sda. You also have grub2 installed in MBR on disk /dev/sdb; if for some reason your BIOS decided to boot from this one, you likely end up in grub2 rescue shell. This grub2 expects its files on Linux MD disk with UUID 718a4c73-8515-5173-8e0d-b25dd05b3fdf. Check whether you actually have /boot/grub2/i386-pc/normal.mod on /dev/sda3. Check what $root and $prefix are set to in grub2 rescue shell echo $root echo $prefix they are supposed to be something like hd0,msdos3 (hd0,msdos3)/boot/grub2 Check if grub2 can access directories ls ($root)/ ls ($root)/boot ls ($root)/boot/grub2 etc Finally try to actually load it insmod $prefix/i386-pc/normal.mod Otherwise your configuration looks pretty normal and I do not see obvious errors in grub installation. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Tue, 1 Aug 2017, Andrei Borzenkov wrote:
Thanks. So the first thing to verify is that you are actually booting from disk detected as /dev/sda. You also have grub2 installed in MBR on disk /dev/sdb; if for some reason your BIOS decided to boot from this one, you likely end up in grub2 rescue shell. This grub2 expects its files on Linux MD disk with UUID 718a4c73-8515-5173-8e0d-b25dd05b3fdf.
Check whether you actually have /boot/grub2/i386-pc/normal.mod on /dev/sda3.
Check what $root and $prefix are set to in grub2 rescue shell
echo $root
grub rescue> echo $root Unknown command `echo' grub rescue> set prefix=(mmuid/718a...3fdf)/boot/grub2 root=mmuid/718a...3fdf
echo $prefix
they are supposed to be something like
hd0,msdos3 (hd0,msdos3)/boot/grub2
Check if grub2 can access directories
ls ($root)/
grub rescue> ls ($root)/ ./ ../ lost+found/
ls ($root)/boot
grub rescue> ls ($root)/boot error: file `/boot' not found
ls ($root)/boot/grub2 etc
Finally try to actually load it
insmod $prefix/i386-pc/normal.mod
grub rescue> insmod $prefix/i386-pc/normal.mod error: file `/boot/grub2/i386-pc/normal.mod' not found
Otherwise your configuration looks pretty normal and I do not see obvious errors in grub installation.
I tried grub rescue> set root=(hd0,msdos3) grub rescue> set prefix=(hd0,msdos3)/boot/grub2 grub rescue> ls ($root)/ ./ ../ lost+found/ bootinfoscript shows that Yast has set the boot up correctly. I suspect a hardware/BIOS problem. The T7500 dates from 2008 and doesn't like cold weather. Now the weather is hot and this new problem has appeared. The room is at 26C. I shall wait for the weather to cool off, change the CR2032 and then try again. Thanks for your help. Roger -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

03.08.2017 23:06, Roger Price пишет:
On Tue, 1 Aug 2017, Andrei Borzenkov wrote:
Thanks. So the first thing to verify is that you are actually booting from disk detected as /dev/sda. You also have grub2 installed in MBR on disk /dev/sdb; if for some reason your BIOS decided to boot from this one, you likely end up in grub2 rescue shell. This grub2 expects its files on Linux MD disk with UUID 718a4c73-8515-5173-8e0d-b25dd05b3fdf.
Check whether you actually have /boot/grub2/i386-pc/normal.mod on /dev/sda3.
Check what $root and $prefix are set to in grub2 rescue shell
echo $root
grub rescue> echo $root Unknown command `echo' grub rescue> set prefix=(mmuid/718a...3fdf)/boot/grub2 root=mmuid/718a...3fdf
This means you boot from disk shown as /dev/sdb in BIS output. You need to verify your BIOS settings. Your configuration implies that primary boot disk is the one shown as /dev/sda. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On 01/08/17 02:10, Roger Price wrote:
I installed 42.3 on a Dell Precision T7500, in /dev/sda3, ext4, taking all the default Grub options, without UEFI. It has 13.1 and 42.2 already installed in the other partitions. After the installation, 42.3 booted correctly.
In /etc/defaults/grub I set GRUB_TIMEOUT=300 and removed options quiet and splash from GRUB_CMDLINE_LINUX_DEFAULT. I then ran
grub2-mkconfig -o /boot/grub2/grub.cfg
On reboot I see
Welcome to Grub! error: file `boot/grub2/i386-pc/normal.mod' not found Entering rescue mode.. grub rescue >
Googling shows that this is a known problem in other distributions, but with no crisp simple solution. After reading https://unix.stackexchange.com/questions/70538/grub-error-file-grub-i386-pc-... I wondered if the simplest approach is to copy the file from /usr/lib/grub2/ ?
But how do I do this? Grub rescue is crippled. No help command, no cp command, no command completion, all that "ls (hd0,msdos3)" reports is "File system is ext2". (It's ext4.)
I am not an expert in this area - am I looking at a grub2-mkconfig bug?
Any hint would be appreciated. Roger
You say that you already have 13.1 and 42.2 installed so what parameters did you set in the Bootloader when you were installing 42.3? Did you clobber what was already in the MBR? Did you (re)set the Active Flag on a/the boot partition? Which partition did you set as the Boot From partition? BC -- You are NOT entitled to your opinion. You are entitled to your INFORMED opinion. Nobody is entitled to be ignorant. Harlan Ellison -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On Tue, 1 Aug 2017, Basil Chupin wrote:
You say that you already have 13.1 and 42.2 installed so what parameters did you set in the Bootloader when you were installing 42.3? Did you clobber what was already in the MBR? Did you (re)set the Active Flag on a/the boot partition? Which partition did you set as the Boot From partition?
Background: My /dev/sda is an SSD used only for operating systems. I install successively in sda1, sda2, sda3 overwriting the previous installation. My own data is in RAID1 arrays using spinning disks sdb and sdc. When installing, I avoid the Yast partitioning proposal and pick "custom partitioning". The disk sda is already partioned by gparted with 32 Gbyte partitions for operating systems. For 42.3 I set /dev/sda3 to "/" and mount all the others on /mnt/13.1, /mnt/42.2, /mnt/home etc. I do not have a separate /boot partition. During the installation, Yast proposes an installation summary showing the software to be installed and the proposed booting method. I always accept the Yast defaults for booting which have worked well for me in the past. I understand that if I install in /dev/sdax, Yast installs Grub2 in the boot sector of /dev/sdax. This is confirmed by RESULTS.txt. I do not touch the Active Flag. I let Yast handle that. The Yast booting defaults work well and when booting 42.3 I saw Grub offering me 42.2 and 13.1 as well as 42.3. The trouble occured when I attempted to update /etc/defaults/grub. Roger -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org

On 2017-08-01 10:17, Roger Price wrote:
On Tue, 1 Aug 2017, Basil Chupin wrote:
You say that you already have 13.1 and 42.2 installed so what parameters did you set in the Bootloader when you were installing 42.3? Did you clobber what was already in the MBR? Did you (re)set the Active Flag on a/the boot partition? Which partition did you set as the Boot From partition?
Background: My /dev/sda is an SSD used only for operating systems. I install successively in sda1, sda2, sda3 overwriting the previous installation. My own data is in RAID1 arrays using spinning disks sdb and sdc.
When installing, I avoid the Yast partitioning proposal and pick "custom partitioning". The disk sda is already partioned by gparted with 32 Gbyte partitions for operating systems. For 42.3 I set /dev/sda3 to "/" and mount all the others on /mnt/13.1, /mnt/42.2, /mnt/home etc. I do not have a separate /boot partition.
During the installation, Yast proposes an installation summary showing the software to be installed and the proposed booting method. I always accept the Yast defaults for booting which have worked well for me in the past.
But when you have several systems installed you have to watch what YaST proposes and possibly change things.
I understand that if I install in /dev/sdax, Yast installs Grub2 in the boot sector of /dev/sdax. This is confirmed by RESULTS.txt. I do not touch the Active Flag. I let Yast handle that. The Yast booting defaults work well and when booting 42.3 I saw Grub offering me 42.2 and 13.1 as well as 42.3. The trouble occured when I attempted to update /etc/defaults/grub.
sda MBR contains syslinux. The active flag is on sda3 (and sdb1, sdc1) sda3 has Leap 42.3, and grub2 is installed there. It looks correct if the BIOS attempts to boot sda. Check the things that Andrei told you. -- Cheers / Saludos, Carlos E. R. (from 42.2 x86_64 "Malachite" at Telcontar)
participants (5)
-
Andrei Borzenkov
-
Basil Chupin
-
Carlos E. R.
-
Felix Miata
-
Roger Price