Сперва об ошибках. Вот такой menu.lst:
Код PHP:
Здесь кстати WinXP грузится прекрасно, использую драйвер WinVBlock. Я так понимаю (далее мои выдумки на основе гугления) он при загрузке ядра видит что Grub4dos перехватывает INT 13, и создает виртуальный SCSI интерфейс продолжая в защищенном режиме работу с образом как с диском.
default 1 timeout 5 title Windows XP x32 # map (hd0,4)/OS/WinXP_x32.vhd (hd0) map /OS/WinXP_x32.vhd (hd0) map --hook root (hd0,0) chainloader /ntldr title Test1 find --set-root /OS/Mint.img map /OS/Mint.img (hd0) map --hook root (hd0,0) kernel /boot/vmlinuz-4.4.0-21-generic initrd /boot/initrd.img-4.4.0-21-generic title Test2 find --set-root /OS/Mint.img map /OS/Mint.img (hd0) map --hook chainloader (hd0)+1 boot
Далее я создал два тестовых варианта загрузки. Оба работают почти. Вот скриншоты прикрепил. В перврм случае при загрузке видны ошибки, во втором случае идет загрузка с заставкой, из которой вываливает в терминал.