18

I've got an mkusb live USB (Ubuntu 18.04 with persistence) that boots fine on some of my computers. On one laptop I get the following error:

error: disk `hd0,4' not found.
error: you need to load the kernel first.

What do I need to do to, "load the kernel first"?


EDIT: An SD card occupying an SD slot was causing this issue. Removing the SD card allows mkusb to boot properly, and eliminates the error. Once booted I reinsert the SD card into the SD slot if I need to use it.

14
  • 1
    1. In what computer are there problems? Please specify brand name and model; 2. Please tell me which settings you used, when you created the persistent live drive. If you cannot remember, and have another USB pendrive or a memory card (and a USB card adapter), please create a new persistent live drive and use the default settings (when asked by mkusb); 3. Please check in the grub menu environment, as suggested in the answer by @Jos, grub> ls ... and report the result by editing your original question.
    – sudodus
    Feb 11, 2019 at 17:17
  • 1
    4. In what operating system (distro and version, for example Ubuntu 18.04.1 LTS) are you running mkusb? I'm asking because I need these data in order to find the cause of this problem (if possible reproduce the problem); 5. If you have a USB pendrive or memory card with at least 16 GB, you can try a new compressed image file. Use mkusb to clone from that file into a pendrive or card, and check if that system works in the computer with problems.
    – sudodus
    Feb 11, 2019 at 17:33
  • 1
    6. Are there more than one USB pendrives with persistent live systems connected to the computer, when you boot? In that case, there may be confusion with the drives and partitions.
    – sudodus
    Feb 11, 2019 at 17:38
  • 1
    @sudodus updated my post to answer those questions. This is the only live USB drive attached to the system. Although there are other SD cards attached to the system I haven't tried removing. I'll try that! And report back tomorrow. Feb 11, 2019 at 17:52
  • 1
    Thanks for the details about tasks/questions #1,2,4 :-) It should work in that computer. For example I have tested in a NUC computer with an M2 drive. I use mkusb a lot in 18.04.1 LTS. -- What about the other tasks/questions (#3,5,6)? 7. And a new task about the file mountpoint/boot/grub/grub.cfg in partition #3 of the persistent live drive: Please mount the partition and copy/paste that grub.cfgfile to your original question and indent each line 4 spaces to render it as 'code'.
    – sudodus
    Feb 11, 2019 at 19:53

5 Answers 5

18

If you get to a grub prompt, it means that grub can't find the boot files that it expects. The sequence of commands to load the files and boot when grub doesn't do that for you goes something like this. First, find all partitions that grub sees:

grub> ls
(hd0) (hd0,msdos2) (hd0,msdos1)

This lists disks and partitions on the disks. One of these partitions holds your Linux system. Say it is (hd0,1). Then do:

grub> set root=(hd0,1)
grub> linux /boot/vmlinuz-4.15.0-45-generic root=/dev/sda1

Replace (hd0,1), the version number and the partition (/dev/sda1) by what is valid for your system. In the case of vmlinuz you can just type vmlinuz- and press Tab.

grub> initrd /boot/initrd.img-3.13.0-29-generic

The version string should be identical to the one for vmlinuz.

grub> boot

should now boot up your system.

6
  • "One of these partitions holds your Linux system." How do I determine which one? Thanks Feb 16, 2019 at 3:58
  • 3
    You can do ls (hd0,1) to list its contents. If you see the familiar folders and vmlinuz, that"s a Linux system.
    – Jos
    Feb 16, 2019 at 7:32
  • 1
    This worked for me, but I had to use linux /boot/vmlinuz-4.15.0-45-generic root=/dev/sda1 nomodeset because my Spectre x360 (2019) laptop has a NVidia GeForce GTX graphics card and Ubuntu would freeze after logging in. PS also, when I looked at /dev/ folder I could not see any of my partitions to use in root=... ! So instead I had to write down the correct partition name from the LiveUSB install partition editor, which incidentally, I could not even run until I e edited the grub command from the install menu by removing quiet splash and adding acpi=off to the end of that line.
    – user72056
    Jul 10, 2019 at 11:05
  • 1
    Omgg, you saved my life!!! I tried everything the whole day. Just lowkey put every piece of code accordingly and the final enter was a blast. boom it just initialized my previous OS. IM SO HAPPY
    – testing_22
    Oct 23, 2021 at 3:37
  • 2
    Note that on my system, I had to do ls (hd0,1)/ to actually see directory contents. Without the / the output would only be a lot of information about the partition, such as filesystem type, which was also useful but not helpful in determining contents.
    – Caleb Jay
    Mar 21, 2022 at 3:21
8

When that happened to me I just had to disable secure boot and it worked.

1
  • Doesn't work for me.
    – Raymond
    Jan 15 at 19:05
4

What do I need to do to, "load the kernel first"?

Using "Startup Disk Creator" to create thumb drive, I was unable to boot using the thumb drive, with the same recommendation.

I have a slightly different answer.


On my 14 year old Dell desktop running Lubuntu 19.10 I used "Startup Disk Creator" to load "ubuntu-19.10-desktop-amd64.iso" to a thumb drive.

The first experiment on my new (delivered last month) Dell laptop gave a similar error, with the identical offering ... "load the kernel first".

Reading the comments above, I reviewed my usb ports and found my Logitech mouse appeared to be the only usb connection.

Disconnecting the usb mouse eliminated the error.

No grub commands needed.

0

To solve the problem in my case I've changed the BIOS the Boot mode from UEFI to Legacy

0

Another thing that might work is simpy turning secure boot off. This is suggested here and worked for me.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .