error: file ‘/grub/i386-pc/normal.mod’ not found
What can I do? I just sit and stare at it. I found my old netbook (Dell Inspiron 1010) which I have not used for about four years. I replaced Windows XP with Ubuntu 12.10. I used my bootable USB drive. I installed and rebooted. I got the message that normal.mod is not found. What should I do? Type exit , reboot , or quit ? Should I re-install?
67.2k 31 31 gold badges 178 178 silver badges 265 265 bronze badges
asked Mar 11, 2013 at 4:43
Don Metlay Don Metlay
721 1 1 gold badge 6 6 silver badges 3 3 bronze badges
THE ANSWER BELOW NEVER WORKS. THIS DOES WORK: re-install your OS, go to «do something else», create your partition tables, then use your windows partition as your primary boot device . That last step is essential. DO NOT USE /boot. There might be another solution: try manually changing your boot device during startup; however, I don’t think that will work. This is a long-standing problem that has persisted in Ubuntu up-to and including 17.10. Thank you.
Nov 8, 2017 at 5:20
None of these instructions worked for me. In fact, using the various recovery tools made the problem worse. I was able to get grub sort of reinstalled but because I use lvm2, the kernel failed to start. If you are using lvm2 for anything, then when this problem happens, you will have to reinstall the OS. As far as I can tell, there is no recovery from a failed kernel update + grub + lvm2 combination. lvm2 sees very little official support despite being pushed for Ubuntu Server LTS at one point. I’m backing up my data and reinstalling the OS and won’t touch lvm2 again. Learned my lesson.
Feb 23, 2018 at 1:33
I already switched away from lvm2 and have had zero issues since. None of my infrastructure uses it anymore. The default system rescue solutions (both graphical and CLI) are unaware or only barely aware of LVM and that is sufficient reason for me to not use LVM. Even if I followed your directions to recover the system and they worked, the problem would probably happen again in the future. Reinstalling the OS and ditching LVM was the best and fastest option for me.
Jan 28, 2019 at 14:47
@Wolfpack in my case the problem is that without normal.mod set prevent me to possibly reinstall ubuntu, the lgoin does nt works. What can I do?
Feb 27, 2019 at 9:03
@Wolfpack’08 Please repost your solution as an answer. Posting solutions as comments is circumventing the site principles. You should also mention which “answer below never works“ since there are more of them.
Apr 26, 2019 at 8:30
9 Answers 9
Grub has a small core image that is loaded at boot time. The core image dynamically loads modules which provide further functionality. i386-pc/normal.mod not found indicates that grub can not load normal.mod, which is a grub module that provides the normal command. To load normal.mod you need to tell grub where it is. To do this you can use the grub command-line (aka Rescue Console). Grub will start the command-line if there is a problem booting, or you can start it manually by holding the shift key as grub starts (to force show the grub menu), and then pressing the ‘c’ key.
Using grub you can explore the drives, partitions, and filesystems. You need to:
- locate the grub install using ls or search.file
- set grub variables $prefix and $root
- load and run the normal module
Example
The following is just an example. You will need to adapt it to your local drive and partition setup.
where is normal.mod? look in some likely locations
grub> search.file /i386-pc/normal.mod error: no such device: /i386-pc/normal.mod grub> search.file /grub/i386-pc/normal.mod error: no such device: /grub/i386-pc/normal.mod grub> search.file /boot/grub/i386-pc/normal.mod hd0,msdos1
If you get «Unknown command ‘search.file'» this means that the search.file command is not available. This is probably because you are at the grub rescue> prompt and not grub> prompt. In this case you can still carry on and use the ls command and your knowledge of your partition layout to find normal.mod .
found it at (hd0,msdos1)
grub> ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod normal.mod
why did grub not find it?
check $prefix — absolute location of the grub directory
(this is set when grub is installed by grub-install)
grub> echo $prefix (hd0,msdos2)/boot/grub
check $root — default device for paths that do not include a device
grub initially sets this to the device from $prefix
grub> echo $root hd0,msdos2
root and prefix are pointing to the wrong partition (hd0,msdos2)
set $root and $prefix to the partition where we found normal.mod (hd0,msdos1)
grub> set root=(hd0,msdos1) grub> set prefix=(hd0,msdos1)/boot/grub
load and run normal module
grub> insmod normal grub> normal
Some other commands that may be helpful
ls list all devices and partitions
grub> ls (hd0) (hd0,msdos5) (hd0,msdos1)
ls partition
grub> ls (hd0,msdos1) Partition hd0,msdos1: Filesystem type ext* - Last modification time 2014-05-08 15:56:38 Thursday, UUID c864cbdd-a2ba-43a4-83a3-66e305adb1b6 - Partition start at 1024KiB - Total size 6290432Kib
ls filesystem (note / at end)
grub> ls (hd0,msdos1)/ lost+found/ etc/ media/ bin/ boot/ dev/ home/ lib/ lib64/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ vmlinuz initrd.img cdrom/
look inside /boot/grub
presence of i386-pc directory means this is a BIOS install
presence of x86_64-efi directory would indicate an EFI install
grub> ls (hd0,msdos1)/boot/grub i386-pc/ locale/ fonts/ grubenv grub.cfg
- Grub Manual: Troubleshooting: GRUB only offers a rescue shell covers the basic recovery method described above
- For available commands and variables see Grub Manual: The list of command-line and menu entry commands and Special environment variables.
- It may be possible to load other missing modules e.g. if the search or search.file commands are not recognised set $prefix correctly and then do insmod search , for ls do insmod ls etc. Run find /boot/grub -name *.mod on a working Linux install to see all of the dynamically loaded Grub modules.
- You can always just boot from external media and re-install Grub.
answered May 8, 2014 at 17:58
10.9k 2 2 gold badges 43 43 silver badges 48 48 bronze badges
+1 After following these steps to boot into my ubuntu installation I ran sudo grub-install /dev/sdX to install my grub. I think the LVM install confused my grub somehow.
Sep 19, 2014 at 3:39
I guess if you get «Unknown command ‘search-file’ like I just did, it is time to give up. My advice to folks is never install Ubuntu without a Windows Recovery DVD. As I just found out, having a recovery partition is not enough once Grub gets messed up. And also, never install Ubuntu on someone else’s Windows computer, because if it messes up they will be really pissed.
Oct 28, 2014 at 1:46
@Scooter See this answer for instructions on reinstalling Grub by booting a live CD/USB.
Oct 28, 2014 at 11:34
@bain Thanks for the reply. In my case did a reinstall from the Ubuntu iso disk. Ubuntu figured out that grub was messed up or maybe it just automatically writes over it, but it redid it to where I was back to being able to boot into Windows again.
Oct 28, 2014 at 12:27
Yepp. The author did not read the question. grub rescue shell != grub shell.
Aug 26, 2015 at 6:13
Solved this on a machine this afternoon. It seems that one cause of this problem is the installer thinking that you have EFI secure boot, when you don’t and therefore loading the incorrect GRUB files.
What you need to do is install GRUB 2. To do this you need to boot to the live instance, mount your root partition and install.
From a live instance, find the partition on which your root partition is loaded. GParted will tell you this, or you could use
sudo fdisk -l
Go for the partition in which ubuntu is installed.
Once you have your partition you need to mount it. Assuming the root partition is on /dev/sda5, that’d be:
sudo mount /dev/sda5 /mnt
Then install GRUB 2
sudo grub-install /dev/sda —boot-directory=/mnt
214 2 2 silver badges 11 11 bronze badges
answered Apr 26, 2013 at 15:58
MorrisseyJ MorrisseyJ
631 5 5 silver badges 11 11 bronze badges
Didn’t work for me. I have the same problem and I’m still looking for a solution.
Nov 7, 2013 at 12:58
—root-directory is now —boot-directory in grub2
May 8, 2014 at 15:32
Another easy fix that worked for me is to copy the grup backup located in /etc/grub.d/backup to /boot/grub. Check the attached readme for appropriate folders and paths.
Jul 17, 2015 at 17:27
In my case the problem was I have 2 hard drives and the bios sequence was looking on the wrong drive first. That drive had an old corrupted grub installation.
May 7, 2017 at 20:58
If you cant tell which is the right one from fdisk, this SO can help (it helped me find which device /media/ubuntu/some-name was on) unix.stackexchange.com/questions/11311/…
Jun 8, 2017 at 4:08
Other solutions may not work if you get to the grub-rescue prompt and/or your configuration uses LVM, this one should.
Boot on a rescue disk (tip : I keep a small distribution on a dedicated partition of my backup USB disk).
If you use LVM, find the name of your volume group with lvdisplay or another LVM-related commands. Activate it (otherwise you’ll get a mount: special drive /dev/volumegroupname/partition does not exist error when trying to mount) :
vgchange -a y volumegroupname
Now mount your usual / partition, e.g. on /mnt :
mount /dev/volumegroupname/partition /mnt
Mount a few special devices as well (as well as /boot if on a separate partition) :
mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev mount -t sysfs /sys /mnt/sys
Then chroot into your usual distribution :
chroot /mnt
Finally, reinstall GRUB2 — commands may vary depending on your distribution, this works on Slackware (if your drive is /dev/sda ) :
grub-install /dev/sda grub2-mkconfig -o /boot/grub2/grub.cfg
Reboot and you should be done.
answered Jan 20, 2019 at 19:01
Skippy le Grand Gourou Skippy le Grand Gourou
2,054 2 2 gold badges 17 17 silver badges 21 21 bronze badges
I didn’t find that information on forums, so I want to share some information despite the fact that this question was asked a long time ago:
If you have a large (e.g. 1TB) partition with Ubuntu installed and you didn’t allocate additional one for /boot/, it could be the reason of such errors. When GRUB starts, it uses biosdisk driver for reading normal drivers from the /boot/grub/ directory. Sometimes, this directory could be physically located on the hard drive somewhere after the maximum supported by biosdisk sector. The issue could appear, for example, after system upgrade. Also, I am always face that issue after fresh installation Ubuntu 13.10, but it could differ, as it depends on motherboard/bios.
You can check that using grub recovery — after setting correct PREFIX and ROOT, try to ls /boot — if you don’t see anything, but can see files there when booting from live cd/flash drive — than you have the issue described above.
You can do different things to make system bootable, but the only way to avoid that issue in future (during dist-upgrades) is to put /boot directory on a separate small partition.
How to fix grub/i386-pc/normal.mod not found
Sometimes when dealing with 32-bit Linux distributions, you may run into Grub error: file ‘/grub/i386-pc/normal.mod’ not found error even on a fresh installation. For example, Debian Bullseye’s 32-bit install (full DVD version) has this issue occasionally. The simplest, yet the most time-consuming, approach is reinstallation. But there’s a much better way to fix this issue. In this article, we cover how to fix grub/i386-pc/normal.mod not found error.
The root cause
The root cause of the issue could be due to two reasons:
- Lack of files in /boot/grub/ because of unintentional deletion or faulty installation process
- Corrupted file system or hard drive
We can only resolve the matter if GRUB files are missing. Otherwise, if the file system is corrupted reinstallation is required. In the worst case, the hard drive should be replaced.
Fixing missing grub/i386-pc files
We need to copy missing files to /boot/grub . However, the grub rescue mode doesn’t allow any copy operations. Hence we first somewhat have to boot the system and then copy files as needed. The positive thing is that a copy of missing files is available under the /usr/lib/grub/i386-pc path.
To boot the system, we need to get out of rescue mode and switch to the normal grub mode where we have commands like linux and boot that allow us to load the kernel manually and boot the system.
Going from grub rescue to grub normal mode
The first thing is to find your Linux partition (or /boot partition if it’s separate from the / partition). For that run,
grub rescue> set pager=1 grub rescue> ls
You should get something like this,
(hd0) (hd0,msdos1) (hd0,msdos2) (hd0,msdos3) (hd0,msdos4)
Now you need to ls each partition to find out which points to your Linux installation if you don’t know already. For that run,
grub rescue> ls (hd0,msdosX) # X can be any number based on previous command output
Take note of the partition number and then run,
grub rescue> set root=(hd0,msdos2) # replace `msdos2` with your Linux partition grub rescue> set prefix=(hd0,msdos2)/usr/lib/grub/ grub rescue> insmod normal grub rescue> normal
After that, you should see your grub prompt has changed from grub rescue> to grub> . Now we are in normal GRUB mode.
Boot the system by loading the kernel manually
The next step is to load the kernel and boot the system as follows,
grub> linux /boot/vmlinuz-X.YY.Z root=/dev/sda1 grub> initrd /boot/initrd.img-X.YY.Z grub> boot
Once you run the boot command, your Linux should start booting.
Copy grub files to /boot/grub
After booting the system successfully the last step is to copy the missing files and update the GRUB for safety as follows:
$ sudo cp -r /usr/lib/grub/i386-pc /boot/grub $ sudo update-grub # or grub-mkconfig -o /boot/grub/grub.cfg
To ensure everything is working, do a reboot. Hopefully, you won’t see grub/i386-pc/normal.mod not found anymore
References
- https://www.linux.com/training-tutorials/how-rescue-non-booting-grub-2-linux/
- https://askubuntu.com/questions/266429/error-file-grub-i386-pc-normal-mod-not-found
- https://unix.stackexchange.com/questions/70538/grub-error-file-grub-i386-pc-normal-mod-not-found/265897
Inline/featured images credits
- Featured image by Hebi B. from Pixabay
Share this:
You might also like
Renaming files in Linux terminal in batch
How to download a vBulletin forum contents using Wget
Installing packages in Cygwin
Follow Geeky Hacker
Popular This Week
© 2013-2023 Geeky Hacker Powered by WordPress and Bam.
Manage Cookie Consent
We use cookies to optimize our website and our service.
Functional Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Проблема с GRUB
тут решения подобной проблемы не нашел. В инете написали что через sudo переустановить grub на нужный винт. Но текущая консоль “grub rescue” на указанные там команды не реагирует.
Подскажите, где я накосячил и как это исправить.
Участник с: 08 января 2011
ls (hd0,1)/
Чтобы увидеть что в каталоге /boot/ есть подкаталог grub и т.д. , надо набрать
ls (hd0,1)/boot/
Когда вы найдёте правильный раздел, например (hd0,1), на котором находится /boot/grub/i386-pc/normal.mod , если конечно вы не ставили boot на отдельный раздел, сделайте (вместо hd0,1 укажите тот раздел, который вы нашли)
set root=(hd0,1)
и возможно ещё понадобится
set prefix=($root)/boot/grub
но это по обстоятельствам.
Если это всё найдено и сделано, вводите команду normal, и вы попадёте в меню GRUB2, если оно есть.
P.S.
Это пока не линукс, а всего лишь GRUB2, загрузчик.
Участник с: 03 сентября 2012
(hd0) (hd0,msdos4) (hd0,msdos3) (hd0,msdos2) (hd0,msdos2) (hd0,msdos1)
по команде ls на любой из них, пишет что “unknown filesystem”
на ls (hd0, 1) пишет что “invalid file name”
таки видимо я где-то серьезно накосячил
Участник с: 08 января 2011
ls (hd0,1)/ ls (hd0,2)/ ls (hd0,3)/ ls (hd0,4)/
На конце не забывайте слэш, это обязательно. Внутри и после скобок никаких пробелов не должно быть.
Участник с: 03 сентября 2012
Участник с: 08 января 2011
insmod $prefix/i386-pc/normal.mod normal
Так как вы таки ухитрились поставить /boot/ на отдельный раздел, ищите где сделали ошибку при установке.
По идее, обычно при установке вполне хватает выполнить
grub-install /dev/sda
при смонтированном разделе /boot/
Разумеется, вместо /dev/sda надо подставить текущее устройство диска (не раздела, то есть без цифры!), на который вы ставите GRUB2.
Участник с: 03 сентября 2012
З.Ы. да, я уже сажусь на шею, так как чесс слово, искать нет сил, выходные, вино, расслабился.
Участник с: 08 января 2011
Участник с: 16 июля 2012
ProFFeSSoR
да, немного затуп в английском, поэтому в вики и не сообразил, каюсь.
Ваша команда не помогла. Зато помогло забить полностью адрес к normal,mod,как у меня указан, БЕЗ $prefix.
Теперь, извините, но чтобы не плодить темы, спрошу сюда же, 2 первых варианты загрузки(сори, название не записал), не сработали, третий вариант пошел, НО, теперь запрашивает login и потом пароль. Но логин я нигде не указывал, только имя localhost. Оно не подошло. Какой же тогда логин?)
З.Ы. да, я уже сажусь на шею, так как чесс слово, искать нет сил, выходные, вино, расслабился.
Логин: root
Пароль: то_что_вы_указывали(опционально)
Участник с: 03 сентября 2012
Зарегистрироваться или войдите чтобы оставить сообщение.
© 2006-2023, Русскоязычное сообщество Arch Linux.
Название и логотип Arch Linux ™ являются признанными торговыми марками.
Linux ® — зарегистрированная торговая марка Linus Torvalds и LMI.
Linux Mint Forums
Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Questions about Grub, UEFI,the liveCD and the installer
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
12 posts • Page 1 of 1
Cannondale Level 3
Posts: 114 Joined: Mon Jan 02, 2023 11:27 am
Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Cannondale » Wed Apr 05, 2023 1:49 pm
Did a fresh install of LM 21 Cinnamon on a server.
Upon reboot, received the error:
error: file ‘boot/grub/i386-pc/normal.mod’ not found
The motherboard is a Supermicro X10SLH-F.
Only one test HDD drive currently connected to the system.
Vanilla install. No special manual partitioning was done during installation.
Any guidance appreciated.
Last edited by LockBot on Thu Oct 05, 2023 10:00 pm, edited 1 time in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
First computer: Radio Shack Computer TRS-80 Model 3. Zilog Z80 2.03 MHz CPU, 16k RAM, Two floppy drives, TRS-DOS (BASIC included)
deepakdeshp Level 20
Posts: 12158 Joined: Sun Aug 09, 2015 10:00 am
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by deepakdeshp » Wed Apr 05, 2023 2:03 pm
Please boot from live USB and post
inxi -Fxxxrz
For a server Ubuntu server edition 22.04 is more suitable IMO.
If I have helped you solve a problem, please add [ SOLVED] t o your first post title , it helps other users looking for help.
Regards,
Deepak
Mint 21.1 Cinnamon 64 bit with AMD A6 / 8GB
Mint 21.1 Cinnamon AMD Ryzen3500U/8gb
Cannondale Level 3
Posts: 114 Joined: Mon Jan 02, 2023 11:27 am
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Cannondale » Wed Apr 05, 2023 2:25 pm
Thanks for your quick reply deepakdeshp!
See below:
System: Kernel: 5.15.0-56-generic x86_64 bits: 64 compiler: gcc v: 11.3.0 Desktop: Cinnamon 5.6.5 tk: GTK 3.24.33 wm: muffin vt: 7 dm: LightDM 1.30.0 Distro: Linux Mint 21.1 Vera base: Ubuntu 22.04 jammy Machine: Type: Server System: Supermicro product: X10SLH-F/X10SLM+-F v: 0123456789 serial: Chassis: type: 17 v: 0123456789 serial: Mobo: Supermicro model: X10SLH-F/X10SLM+-F v: 1.02 serial: UEFI: American Megatrends v: 3.4 date: 01/21/2021 CPU: Info: quad core model: Intel Xeon E3-1270 v3 bits: 64 type: MT MCP smt: enabled arch: Haswell rev: 3 cache: L1: 256 KiB L2: 1024 KiB L3: 8 MiB Speed (MHz): avg: 1000 high: 1002 min/max: 800/3900 cores: 1: 1000 2: 1000 3: 1000 4: 1000 5: 1001 6: 1001 7: 1002 8: 1001 bogomips: 55996 Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx Graphics: Device-1: ASPEED Graphics Family vendor: Super Micro driver: ast v: kernel ports: active: VGA-1 empty: none bus-ID: 07:00.0 chip-ID: 1a03:2000 class-ID: 0300 Display: x11 server: X.Org v: 1.21.1.3 driver: X: loaded: modesetting unloaded: fbdev,vesa gpu: ast display-ID: :0 screens: 1 Screen-1: 0 s-res: 1440x900 s-dpi: 96 s-size: 381x238mm (15.0x9.4") s-diag: 449mm (17.7") Monitor-1: VGA-1 model: Dell SE198WFP serial: res: 1440x900 hz: 60 dpi: 90 size: 408x255mm (16.1x10.0") diag: 481mm (18.9") modes: max: 1440x900 min: 640x480 OpenGL: renderer: llvmpipe (LLVM 13.0.1 256 bits) v: 4.5 Mesa 22.0.5 direct render: Yes Audio: Message: No device data found. Sound Server-1: PulseAudio v: 15.99.1 running: yes Sound Server-2: PipeWire v: 0.3.48 running: yes Network: Device-1: Intel 82575GB Gigabit Network driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 4 port: b020 bus-ID: 04:00.0 chip-ID: 8086:10d6 class-ID: 0200 IF: enp4s0f0 state: down mac: Device-2: Intel 82575GB Gigabit Network driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 4 port: b000 bus-ID: 04:00.1 chip-ID: 8086:10d6 class-ID: 0200 IF: enp4s0f1 state: down mac: Device-3: Intel 82575GB Gigabit Network driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 4 port: a020 bus-ID: 05:00.0 chip-ID: 8086:10d6 class-ID: 0200 IF: enp5s0f0 state: down mac: Device-4: Intel 82575GB Gigabit Network driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 4 port: a000 bus-ID: 05:00.1 chip-ID: 8086:10d6 class-ID: 0200 IF: enp5s0f1 state: down mac: Device-5: Intel I210 Gigabit Network vendor: Super Micro driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 08:00.0 chip-ID: 8086:1533 class-ID: 0200 IF: eno1 state: down mac: Device-6: Intel I210 Gigabit Network vendor: Super Micro driver: igb v: kernel pcie: speed: 2.5 GT/s lanes: 1 port: c000 bus-ID: 09:00.0 chip-ID: 8086:1533 class-ID: 0200 IF: eno2 state: down mac: Drives: Local Storage: total: 569.95 GiB used: 125.1 MiB (0.0%) ID-1: /dev/sda vendor: OCZ model: VECTOR180 size: 447.13 GiB speed: 6.0 Gb/s type: SSD serial: rev: 1.01 scheme: GPT ID-2: /dev/sdb type: USB vendor: Transcend model: TS-RDF5 SD Transcend size: 119.08 GiB type: N/A serial: rev: TS37 scheme: MBR ID-3: /dev/sdc type: USB vendor: Sony model: Storage Media size: 3.73 GiB type: N/A serial: rev: 0100 scheme: MBR Partition: ID-1: / size: 3.86 GiB used: 27.2 MiB (0.7%) fs: overlay source: ERR-102 Swap: Alert: No swap data was found. Sensors: System Temperatures: cpu: 29.8 C pch: 44.5 C mobo: 27.8 C Fan Speeds (RPM): N/A Repos: Packages: apt: 2087 Active apt repos in: /etc/apt/sources.list 1: deb cdrom:[Linux Mint 21.1 _Vera_ - Release amd64 20221217]/ jammy main Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 1: deb http://packages.linuxmint.com vera main upstream import backport 2: deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse 3: deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse 4: deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse 5: deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse Info: Processes: 243 Uptime: 1m wakeups: 0 Memory: 7.72 GiB used: 983.7 MiB (12.4%) Init: systemd v: 249 runlevel: 5 Compilers: gcc: 11.3.0 alt: 11 Shell: Bash v: 5.1.16 running-in: gnome-terminal inxi: 3.3.13
First computer: Radio Shack Computer TRS-80 Model 3. Zilog Z80 2.03 MHz CPU, 16k RAM, Two floppy drives, TRS-DOS (BASIC included)
Jo-con-Ël Level 10
Posts: 3045 Joined: Sun Jun 20, 2021 12:41 pm Location: donde habita el olvido
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Jo-con-Ël » Thu Apr 06, 2023 3:33 am
It looks like you are trying to boot installed Mint on BIOS legacy mode and failed, but you are booting Linux Mint Live on UEFI mode.
Cannondale wrote: ⤴ Wed Apr 05, 2023 1:49 pm No special manual partitioning was done during installation.
What does it mean? Did you choose Something else. option on installing and create only one root partition or chose Erase all and install option?.
LM 21.X try to install on both BIOS and BIOS to legacy mode. In last case (autopartitioning option) installer would format disk on GPT partitioning scheme and created a bios-grub partition and also an EFI partition to place both (bios and uefi) loaders. Did you try to boot installed Mint on UEFI mode?.
There would be an option on computer’s boot menu to boot OS UEFI (ubuntu option) or UEFI drive, not drive it self.
Post back following codes result to confirm.
sudo parted -l sudo blkid sudo efebootmgr -v
Also you can run Boot Repair (Menu>Administration>Boot Repair) with BootInfo summary option and post back url when offered to share on forum.
Do not try Boot Repair Standard/Recommended repair. It wont help on repairing BIOS legacy boot because of the way you are booting Linux Mint (neither booting on BIOS mode if it finds an EFI partition or there is no bios-grub partition as it is a GPT disk) and maybe you don’t need to repair UEFI boot (only change boot order and/or boot correct boot option).
Arrieritos semos y en el camino nos encontraremos.
Cannondale Level 3
Posts: 114 Joined: Mon Jan 02, 2023 11:27 am
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Cannondale » Thu Apr 06, 2023 9:08 am
Thanks for the information Jo-con-Ël.
I tried booting Mint from the boot menu (selecting UEFI OS) and Mint booted from the HDD.
However, Mint will not boot from the HDD if rebooting the system and letting it boot on it’s own.
This results in the message Error: file ‘boot/grub/i386-pc/normal.mod’ not found.
Below is the results of:
sudo parted -l
sudo blkid
sudo efebootmgr -v
jer@ashley:~$ sudo parted -l [sudo] password for jer: Model: ATA OCZ-VECTOR180 (scsi) Disk /dev/sda: 480GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 2097kB 1049kB 2 2097kB 540MB 538MB fat32 EFI System Partition boot, esp 3 540MB 480GB 480GB ext4 ----------------------------------------- jer@ashley:~$ sudo blkid /dev/sda2: UUID="7671-7889" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="f304b635-98b0-4e17-b94c-034a827e052d" /dev/sda3: UUID="52e7a078-2cbd-4872-a646-b25157556150" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="60c7d649-cd96-4012-84f0-6e4f0f35d64f" /dev/sda1: PARTUUID="009bdc71-cfbb-4882-96e4-8c370b75f300" ----------------------------------------- jer@ashley:~$ sudo efibootmgr -v BootCurrent: 0003 Timeout: 1 seconds BootOrder: 0001,0000,0006,0003,0004,0008 Boot0000* P0: OCZ-VECTOR180 BBS(17,,0x0) Boot0001* ubuntu HD(2,GPT,f304b635-98b0-4e17-b94c-034a827e052d,0x1000,0x100800)/File(\EFI\ubuntu\shimx64.efi) Boot0003* UEFI OS HD(2,GPT,f304b635-98b0-4e17-b94c-034a827e052d,0x1000,0x100800)/File(\EFI\BOOT\BOOTX64.EFI)..BO Boot0004* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO Boot0006* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO Boot0008* ubuntu HD(2,GPT,f304b635-98b0-4e17-b94c-034a827e052d,0x1000,0x100800)/File(\EFI\UBUNTU\GRUBX64.EFI)..BO
First computer: Radio Shack Computer TRS-80 Model 3. Zilog Z80 2.03 MHz CPU, 16k RAM, Two floppy drives, TRS-DOS (BASIC included)
Jo-con-Ël Level 10
Posts: 3045 Joined: Sun Jun 20, 2021 12:41 pm Location: donde habita el olvido
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Jo-con-Ël » Thu Apr 06, 2023 10:10 am
Default boot option (0000) as I said before is a BIOS boot option. Something went wrong on installing as first partition on disk would be a bios-grub partition (a fake MBR to boot Mint in such Legacy BIOS mode) or maybe you have remove that flag.
IMO you would need to decide if want boot on BIOS or UEFI mode. It has non sense for internal disk to keep both boot mode but you can try. First be sure you can place UEFI OS or ubuntu first on Boot order (to boot by deafult) on computer Setup.
To boot on BIOS mode you will need to run Gparted (Menu>Administration>Gparted). It is not installed by default so run apt install gparted before. Select sda1 and be sure about file system it has not format (cleared). In any case right click>Manage flags and check bios-grub.
If there is no grub.img on filesytem you will need to boot Linux Mint Live in BIOS mode to install grub(bios).
If you want to boot on UEFI mode only you can try removing default boot option with efibootmgr.
sudo efibootmgr -b 0000 -B
. but most probably computer’s boot manager will recreate it and you will need to get into computer Setup and try to place ubuntu or UEFI OS as default boot option. I Don´t know if you would need to change SATA configuration for that drive (as per userś manual it is controlled on SATA RAID Option ROM/UEFI Driver).
Also you can place OS UEFI to boot by default
sudo efibootmgr -o 3,1
Arrieritos semos y en el camino nos encontraremos.
Cannondale Level 3
Posts: 114 Joined: Mon Jan 02, 2023 11:27 am
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Cannondale » Thu Apr 06, 2023 12:03 pm
Thanks for the additional information Jo-con-Ël. All very helpful to a Linux newbie!
No reason to legacy mode if UEFI mode will work.
I went into the BIOS and changed the boot order in «UEFI Boot Drive BBS Priorities» and put UEFI OS first.
Rebooted and Mint would not boot unattended.
Went back into the BIOS and found the boot order in «UEFI Boot Drive BBS Priorities» had changed. P0: OCZ-VECTOR180 was moved back to first.
Rebooted and started Mint from the boot menu. Ran efibootmgr and found P0: OCZ-VECTOR180 was back to first boot position.
Boot0000* P0: OCZ-VECTOR180 BBS(17,,0×0)
Tried sudo efibootmgr -b 0000 -B to remove unwanted items.
Also tried sudo efibootmgr -o 3,1 to make UEFI OS first.
Upon reboot, these changes were over written and P0: OCZ-VECTOR180 was back to first.
I also checked «SATA RAID Option ROM/UEFI Driver» in the BIOS SATA configuration. It is set to enabled.
I clearly don’t understand this boot menu behavior.
First computer: Radio Shack Computer TRS-80 Model 3. Zilog Z80 2.03 MHz CPU, 16k RAM, Two floppy drives, TRS-DOS (BASIC included)
Jo-con-Ël Level 10
Posts: 3045 Joined: Sun Jun 20, 2021 12:41 pm Location: donde habita el olvido
Re: Error: file ‘boot/grub/i386-pc/normal.mod’ not found
Post by Jo-con-Ël » Thu Apr 06, 2023 1:10 pm
You will need to check BIOS Setup options on deep to find what it is causing that behavior beginning with Advanced>Boot feature>Retry boot option [EFI] as per page 4-5 of your user ‘s manual.