Was trying Proxmox VE 9.1 ISO Installer on an old HP minipc and had issue of the iso not being found while booting to it.


Initially tried ventoy, but it didn't work.

Next was following the instruction Prepare Installation Media which recommends using dd like below (Tip: use lsblk to locate /dev/* block mount point):

dd bs=1M conv=fdatasync if=./proxmox-ve_*.iso of=/dev/XYZ
dd bs=1M conv=fdatasync if=./proxmox-ve_*.iso of=/dev/sdb

Using this method I got a flash drive that has this output while trying to install proxmox:

Welcome to the Proxmox VE 9.1 (ISO 1) installer!
initial setup startup
mounting proc filesystem
mounting sys filesystem
EFI boot mode detected, mounting efivars filesystem
boot comandline: BOOT_IMAGE=7boot/linux26 ro ramdisk_size=16?7?277216 rw quiet splash=silent
loading drivers: ahci nume wmi mac_hid acpi_pad tpm_infineon video intel_oc_wdt xhci_pci i2dc_i801 acpi_cpufreq rtc_cmos efi_pst
ore pcspkr intel_cstate rapl aesni_intel ghash_clmulIni_intel polyval_clmulni kKum_intel intel_powerclamp x86_pkg_temp_thermal int
el_tcc_cooling intel_pmc_core intel_pmc_core_pltdrvu intel_uncore_frequency intel_rapl_common
searching for block device containing the ISO proxmox—ve-9.1-1
with ISO ID ’019a985d—b08c—?79ba—b2d?-265f242da2cfO'
testing again in 1 seconds
testing again in 2 seconds
testing again in 3 seconds
testing again in 4 seconds
testing again in S seconds
testing device ’/deu/sdb’ for ISO
testing again in 6 seconds
testing device ’/deu/sdb’ for ISO
testing again in 7 seconds
testing device ’/deu/sdb’ for ISO
testing again in 8 seconds

[ERROR] no device with valid ISO found, please check your installation medium
unable to continue (type exit or CTRL—-D to reboot)
ae

When I encountered this issue I wasn't able to trace down exactly what went wrong...

I initially thought it was something to do with flash drive positioning, or needed to disconnect and reconnect as was suggested by some online.

Ultimately was traced to a likely issue with flashing the flash disk as I must have plugged it to a long cable which may have introduce some write errors. As running dd again actually passed...

So in the future if I want to be a bit more sure, I will use below bash script to double check that dd has succeeded

# Set to the flash drive block device you are using
DEV=/dev/sdb

ISO=$(readlink -f ./proxmox-ve_*.iso)
ISO_SIZE=$(stat -c%s "$ISO")
DD_BLOCK_SIZE=1M
DD_BLOCK_SIZE_IN_BYTES=1048576
DD_BLOCK_COUNT=$(( (ISO_SIZE + DD_BLOCK_SIZE_IN_BYTES - 1) / DD_BLOCK_SIZE_IN_BYTES ))

echo "--------- Checking Hash Of ISO and Drive -------"
echo "Compute SHA256 of the iso"
SHA256_ISO=$(sha256sum $ISO | awk '{print $1}')

echo "Compute SHA256 of first N bytes from device"
SHA256_DRIVE=$(sudo dd if=${DEV} bs=${DD_BLOCK_SIZE} count=${DD_BLOCK_COUNT} status=progress | head -c "$ISO_SIZE" | sha256sum | awk '{print $1}')

echo "Compare then double check if it matches install hash from website"
echo "SHA256 ISO HASH  : ${SHA256_ISO}"
echo "SHA256 DRIVE HASH: ${SHA256_DRIVE}"

if [ "${SHA256_ISO}" == "${SHA256_DRIVE}" ]; then
  echo "Both iso and drive hash match"
else
  echo "Both iso and drive hash do not match with each other"
fi

Also turns out there is an alternative to dd which also works very conveniently. Which is to use the gnome disk feature in most ubuntu and linux mint distro. A good tutorial to do so is shown below:

How to create disk images using GNOME Disk

That method was also proven to work as well as dd, but you may need to check that you written it correctly via the script above... or just running it again but with the flash drive connected directly to the motherboard to reduce missed writes etc...