Qemu - это среда виртуализации / эмуляции.Grub - это загрузчик, разработанный для загрузки ядра в память и запуска его работы.Ни одна из этих программ не имеет прямого отношения к вашему вопросу, хотя вы наверняка могли бы использовать Qemu для запуска виртуальной машины, которая использует Grub для запуска Linux, чтобы делать то, что вы хотите.
Современные дистрибутивы Linux создают initrd ,который загрузчик помещает в память для использования ядром в качестве начальной корневой файловой системы.Initrd делает такие вещи, как загрузка модулей, необходимых для доступа к жестким дискам, на которых находится настоящая корневая файловая система.В вашем случае вам следует убедиться, что initrd нашел ваш ISO, смонтировал его и использовал его в качестве корневого.
Содержимое initrd зависит от используемого вами дистрибутива.Я бы взял откуда-нибудь livecd, выгрузил содержимое его initrd с помощью zcat /boot/initrd-2.6.whatever.img | cpio -id
и проверил, что он делает.Найдите файл init
, который будет первым процессом в пользовательском пространстве, запущенным ядром.