1) Надо выяснить, кто выдаёт это сообщение - BIOS/UEFI, GRUB, Linux OS Loader или стартовая система Linux (ядро и последующие скрипты). Какие сообщения были до этого?
2) Возможно, UEFI не понравился Linux. Надо отключить "безопасную загрузку", при которой UEFI сверяет цифровую подпись.
3) Я не понял, как система работала внутри виртуалки. Она прямо грузилась с внешнего диска? Или использовался образ, который потом перенесли на внешний диск?
4) У меня есть сильные подозрения, что внутри виртуалки и на физическом внешнем диске - имеется разница в именовании устройств. По кр.мере, во FreeBSD - это именно так: внутренний диск (и образ диска внутри виртуалки) называется /dev/ad*; в флешка - как SCSI: /dev/da*. Хотя при таком варианте - было бы сообщение типа "не могу смонтировать файловую систему", т.е. было бы слово "mount".
Эта проблема во FreeBSD решается использованием GEOM-меток, которые пишутся на диск или на раздел и не зависят от способа подключения.
Напишите о результатах, мне тоже интересно.