Ubuntu Server 20.04 setup stuck at "Block probing did not discover any disks"

This is the result of a bug that is over a decade old. The problem is that the ISO image is still mounted, although the installer is started with the toram option. The solution is to unmount the ISO, but there are two pitfalls here:

  1. you can't just umount, you have to detach the loop device first with losetup
  2. you have to do this before you do anything else in the installer. No, you can't even select your keyboard layout :/

As soon as you're on the first screen of the installer, switch to the terminal with F2, then enter

losetup -d /dev/loop0
umount /isodevice

exit the terminal with Ctrl+D and you're good to go.


It appears that you have been impacted by this bug.

It's entirely feasible that you will be successful attempting to install via the legacy installer as a workaround as mentioned in this comment on [subiquity bug 1890651](https://bugs.launchpad.net/subiquity/+bug/1890651/comments/2

If that doesn't do the trick for you, start at the beginning.

  1. Check the hash of your ISO and insure that it matches. For 20.04 they are as follows:

    b45165ed3cd437b9ffad02a2aad22a4ddc69162470e2622982889ce5826f6e3d *ubuntu-20.04.1-desktop-amd64.iso 443511f6bf12402c12503733059269a2e10dec602916c0a75263e5d990f6bb93 *ubuntu-20.04.1-live-server-amd64.iso

If they don't match try to download the file again as it's been corrupted somehow.

Insure you don't have a hardware problem. Boot from live media and Test RAM and Storage for errors the syslog can be helpful here grep error /var/log/syslog as well as tools such as memtest86+ As you may know, Memtest86+ runs without an operating system. Therefore, you must have access to the GRUB menu in Ubuntu. Turn on or restart your system and hold down the ‘Shift’ key to access the GRUB menu. Choose memtest and run the test. Any errors will be reported and indicate RAM must be replaced.


I know this is an old question. But since I ran into this issue recently. I would like to add my solution here. I had to embed my user-data into the ISO. Found this Tool to be helpful. I then added these lines in my user-data

early-commands:
  - losetup -d /dev/loop0
  - umount /isodevice

I then added the autoinstall into my kernel line.

linux (loop)/casper/vmlinuz boot=install iso-scan/filename=$isofile noeject toram autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---