- Why Can’t GrUB Find a Kernel That It Already Found?
- Manually booting the Linux kernel from GRUB
- What is booting?
- How does it work?
- So how do we fix it when things go wrong?
- Thread: grub error: no loaded kernel
- grub error: no loaded kernel
- Re: grub error: no loaded kernel
- Re: grub error: no loaded kernel
- no kernel in grub
Why Can’t GrUB Find a Kernel That It Already Found?
After upgrading to 15.04, I need to have kernel headers matching the running kernel (for another package). The upgrade installed kernel 3.19.0-17. Just in case, I also installed linux-headers-generic . Then, I ran sudo update-grub and rebooted. Yet, the system booted into kernel 3.16.0-31 (as confirmed by uname -r ). After much digging, I found that GrUB recognizes the 3.19 kernel in update-grub and even populates it into /boot/grub/menu.lst . However, on startup, GrUB only recognizes up to the 3.16 kernel in the boot menu. How do I fix this, so that GrUB can boot into 3.19? Here are some outputs from my current system. sudo update-grub always produces the following output:
$ sudo update-grub Searching for GRUB installation directory . found: /boot/grub Searching for default file . found: /boot/grub/default Testing for an existing GRUB menu.lst file . found: /boot/grub/menu.lst Searching for splash image . none found, skipping . Found kernel: /boot/vmlinuz-3.19.0-17-generic Found kernel: /boot/vmlinuz-3.16.0-31-generic Found kernel: /boot/vmlinuz-3.13.0-40-generic Found kernel: /boot/vmlinuz-3.11.0-19-generic Found kernel: /boot/vmlinuz-3.8.0-35-generic Found kernel: /boot/memtest86+.bin Found kernel: /boot/vmlinuz-3.19.0-17-generic Found kernel: /boot/vmlinuz-3.16.0-31-generic Found kernel: /boot/vmlinuz-3.13.0-40-generic Found kernel: /boot/vmlinuz-3.11.0-19-generic Found kernel: /boot/vmlinuz-3.8.0-35-generic Found kernel: /boot/memtest86+.bin Updating /boot/grub/menu.lst . done
title Ubuntu 15.04, kernel 3.19.0-17-generic uuid ac9d0eaf-e090-4c29-8e7b-30e98ed07d29 kernel /boot/vmlinuz-3.19.0-17-generic root=UUID=ac9d0eaf-e090-4c29-8e7b-30e98ed07d29 ro quiet splash initrd /boot/initrd.img-3.19.0-17-generic
But, holding Shift during boot, there is no option to choose 3.19 (although I can choose any of the others). After startup, uname -r confirms it booted into 3.16:
ii linux-headers-3.19.0-17 3.19.0-17.17 all Header files related to Linux kernel version 3.19.0 ii linux-headers-3.19.0-17-generic 3.19.0-17.17 amd64 Linux kernel headers for version 3.19.0 on 64 bit x86 SMP ii linux-headers-generic 3.19.0.17.16 amd64 Generic Linux kernel headers
I have also tried purge/reinstalling grub and the headers, and some other things that amounted to no consequence.
Manually booting the Linux kernel from GRUB
It’s never a comforting scenario when you go to boot up your system and you get the following screen:
GNU GRUB version 1.99 Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible
device or file completions. grub> _
«Where’s the OS?» one might demand. But don’t fret, this may not be the end. There are a number of reasons you could be getting this prompt, but it usually all boils down to the fact that GRUB is unable to see any information on how it should load your kernel and operating system.
What is booting?
In computing, booting (also known as a boot-up) is the initial set of operations that a computer system performs after being turned on. When the machine finishes it’s Power-On Self-Test (POST), it will look for instructions on how to actually load your Operating System. In the case of a hard disk (which is most common), it will load the code found in the Master Boot Record (MBR), which will generally locate and load the operating system’s «Boot Loader» into memory. In the case here, the boot loader is GRUB. The boot loader is then responsible for preping and starting the Operating System.
How does it work?
The GRand Unified Bootloader (GRUB) was initially developed as a boot loader for the GNU/Hurd project. There are two versions of GRUB in common use, though GRUB version 2 is now used by most distributions (and will be the focus here). GRUB will check it’s configs for the location of the requested kernel and attempt to load (or strap) that image into memory. Once loaded, GRUB will pass parameters (if any) and transfer control to the kernel. The kernel will then load both the default configuration file and any other modules needed.
So how do we fix it when things go wrong?
Manually booting your operating system from GRUB is actually pretty easy once you know what you need to do. Before trying to actually do anything with GRUB, you should examine what GRUB can actually see in your system. For starters, if you can see the GRUB prompt you know that the MBR is intact, and that GRUB has been properly loaded into memory. Great! Now let’s poke around and see which disks may be visible to GRUB. You can start by using the ls command:
grub> ls
(hd0) (hd0,msdos2) (hd0,msdos1)
All of our partitions are showing up here (yours may look slightly different, depending on how things are partitioned). Since it can see our boot volume, let’s actually tell it to use that:
grub> root=(hd0,msdos1)
Now we can tell it to load or kernel image. (Just note that you must put in the full filename of the image. You can use TAB completion here to help you, especially if you don’t remember the name of the file.)
grub> linux /vmlinuz root=/dev/sda2
Next, we need to tell the kernel where it can find it’s initialization RAM disk (initrd). Remember to use TAB completion to help you:
grub> initrd /initrd.img
Finally, you can go ahead and boot your system!
grub> boot
For the most part, you should be done. That wasn’t so bad, right? LVM gets a little trickier though, as you will need to activate volume groups and specify logical volumes for root partitions (I may cover this in an update to this article).
unix-ninja : «Team Hashcat + defender of the realm + artist. CISSP, OSCP, OSCE, etc. Hack the planet. Break all the things. Thoughts are my own. Passwords are my jam.»
Thread: grub error: no loaded kernel
First Cup of Ubuntu
grub error: no loaded kernel
I have Ubuntu installed in my machine, I also have Windows Vista.
I have been using Ubuntu perfectly well, today I received the following message when chose to boot Ubuntu:
GNU GRUB version 1.97 beta 4
[Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists possible device/flies completions]
sh:grub>
When I wrote: boot, it says:
error: no loaded kernel
Any ideas how to solve this? Thanks in advance.
Just Give Me the Beans!
Join Date Feb 2010 Location Portland, Maine, USA Beans 62 —> Beans 62 Distro Ubuntu Development Release
Re: grub error: no loaded kernel
First Cup of Ubuntu
Re: grub error: no loaded kernel
I use Ubuntu 10.10 partition with Win7, and after updating last night, I turned on my laptop this morning to discover the same GRUB issue. I try using the boot command, but I get error: no loaded kernel.
I visited the site mentioned above, but the problem is that my laptop doesn’t have an optical drive, nor do I have a usb-connected one. So reinstallation through a liveCD isn’t an option for me. Are there any other methods I can try without severely risking my computer?
This is the second time now I’ve had kernel issues with Ubuntu, the firs time several months ago I also had an issue where it said there was no kernel, and then I eventually had to get my whole computer reformatted which took days I really like linux ubuntu, but if I keep getting serious problems like this, I don’t know if I would continue using it.
no kernel in grub
there is nothing in /boot . 1-are those kernles(3.2.0.23 and 3.20.24 ) exists in my system ? 2_if they are in my system how can i add them to grub and use them ? 3-is there a way to get 3.5.0.23 kernel back ? I read similar threads before but I dont want to re-install ubuntu . please help me. :'( EDIT 1:
ubuntu@ubuntu:/$ dpkg -l linux-image* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Description +++-==============-==============-============================================ un linux-image (no description available) un linux-image-3. (no description available) iF linux-image-3. 3.2.0-23.36 Linux kernel image for version 3.2.0 on 64 b ii linux-image-3. 3.5.0-23.35~pr Linux kernel image for version 3.5.0 on 32 b ii linux-image-ge 3.5.0.23.30 Generic Linux kernel image
ubuntu@ubuntu:~$ ls -al /boot total 53021 drwxr-xr-x 1 root root 4096 Jul 19 15:41 . drwxr-xr-x 1 ubuntu ubuntu 4096 Jul 19 15:41 .. -rw-r--r-- 1 root root 795572 Apr 11 2012 abi-3.2.0-23-generic -rw-r--r-- 1 root root 856743 Jan 25 21:07 abi-3.5.0-23-generic -rw-r--r-- 1 root root 147316 Apr 11 2012 config-3.2.0-23-generic -rw-r--r-- 1 root root 154436 Jan 25 21:07 config-3.5.0-23-generic drwxr-xr-x 1 root root 4096 Jun 24 17:25 grub -rw-r--r-- 1 root root 20358320 Jul 19 15:41 initrd.img-3.2.0-23-generic -rw-r--r-- 1 root root 21986987 Jul 19 15:39 initrd.img-3.5.0-23-generic -rw-r--r-- 1 root root 176764 Nov 27 2011 memtest86+.bin -rw-r--r-- 1 root root 178944 Nov 27 2011 memtest86+_multiboot.bin -rw------- 1 root root 2252691 Apr 11 2012 System.map-3.2.0-23-generic -rw------- 1 root root 2421090 Jan 25 21:07 System.map-3.5.0-23-generic -rw------- 1 root root 4864480 Apr 11 2012 vmlinuz-3.2.0-23-generic
ubuntu@ubuntu:$ uname -a Linux ubuntu 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012 i686 athlon i386 GNU/Linux : ubuntu@ubuntu:$ sudo dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/9/!d' linux-headers-3.5.0-23 linux-headers-3.5.0-23-generic linux-image-3.5.0-23-generic : ubuntu@ubuntu:$ uname -sr Linux 3.2.0-23-generic