Нашли с ребятами кучу всяких странных дистрибутивов, основанных на подсистеме Native от Windows, в основном XP, это такой нежно-голубенький экранчик, на котором проверка диска запускается. Вообще искали ради прикола, но затянуло. Вот, первое из найденных, наконец, удалось запустить.
Описано здесь (копия в PDF, копия на LJR)
Если все получилось, тогда хорошо (при запуске на QEMU qemu -hda native1.img -boot c
), должно появиться приглашение командной строки, если вдруг нет, не отчаиваемся, и попробуем продолжить дальше.
Я сделал виртуальный HDD на 20 мегабайт.
Далее, можно продолжать и в винде, воспользовавшись каким-нибудь маппером виртуальных дисков, чтоб закинуть туда нужные файлы. Я пользовался OSFMount. Примонтировали диск, закидываем файлы:
Скачать: Mega.NZ Catbox.moe
Примечание: файл должен находиться в корне виртуального диска.
[MENU]
MENUITEM=WIN, Native XP Image
MENUITEM=DOS, Minimal DOS Image
MENUITEM=REBOOT, Reboot Computer
MENUDEFAULT=WIN,10
MENUCOLOR=10,0
[WIN]
SET SEL=WIN
[DOS]
SET SEL=DOS
[REBOOT]
SET SEL=REBOOT
[COMMON]
DEVICE=HIMEM.SYS
Примечание: файл должен находиться в корне виртуального диска.
@echo off
echo --------------------------------------
echo OS Windows XP native standalone build 2 Image
echo (L) Hex_laden, PunkArr[], 2016-2025
echo http://tolik-punkoff.com
echo http://lj.rossia.org/users/hex_laden
echo --------------------------------------
echo Set PATH
PATH C:\DOS;C:\VC
echo Loading EMM386 Driver...
emm386.exe
echo Loading SMARTDRV
smartdrv
GOTO %CONFIG%
:WIN
grub.exe
GOTO END
:DOS
echo Starting File Manager...
vc
GOTO END
:REBOOT
reboot
:END
echo "-------------------------------------"
echo "| -=^-^=- Have a nice day -=^-^=- |"
echo "-------------------------------------"
Если сейчас загрузить образ в QEMU (qemu -hda native1.img -boot c
), то должно появиться загрузочное меню DOS:

Если выбрать второй пункт, то загрузится DOS и Volkov Commander:

Если загрузить первый пункт, то ничего (пока) не получится, Grub4DOS еще не настроен.
Теперь надо закинуть на созданный образ диска, образ дискеты OS Windows XP native standalone build 2:
Скачать с multiboot.ru
Копия на Mega.NZ (только образ дискеты)
Копия на catbox.moe(только образ дискеты).
Теперь нужно в корневом каталоге диска надо создать файл MENU.LST
, вот его код:
timeout 10
default 2
write (md)0x220+1 !BAT\necho -n -P:0000 $[0107] OS Windows XP native standalone build 2 \0 && initscript (md)0x220+1
title Boot From Hard Drive (Windows Vista/7/2008 or Xp)\n
find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr || rootnoverify (hd0) && chainloader +1 && boot
map () (hd0) && map (hd0) () && map --rehook
find --set-root --devices=h /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /bootmgr || chainloader /ntldr
title \n
root
title Native XP Image\n Native XP Image.
map --mem (hd0,0)/native.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
title Reboot Computer
reboot
title Power Off Computer
halt
Главное в конфиге, что надо использовать опцию --mem
, т.е. образ дискеты native.img
надо маппить в оперативную память:
title Native XP Image\n Native XP Image.
map --mem (hd0,0)/native.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
Прямой маппинг
title Boot from floppy image
map (hd0,0)/native.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
не сработает, т.е. ОС на native.img
упадет.
Источник на всякий случай, мануал для GRUB4DOS

Вообще я не хотел городить такой огород, из двух виртуальных дисков, а сразу прогрузить оригинальный native.img
через SYSLINUX, но не вышло, пришлось использовать некоторую черезжопу с матрешками из образов. Кто догадается, как побороть — пишите.
Теперь можно опять загрузить образ (qemu -hda native1.img -boot c
), и надо выбрать первый пункт. Если все хорошо, попадаем в Grub4DOS:

Если все сделано правильно, то при выборе первого пункта, всё должно загрузиться:

1. После загрузки консоли, надо ввести команду cd c:
, а потом cd a:
, чтоб приветствие командной строки изменилось:

иначе все будет работать через жопу.
2. Доступные внешние программы, работающие в режиме Native, надо вызывать по полному пути (если со внешнего диска), и с указанием расширения, т.е. НЕ bluecon
, а bluecon.exe
, или A:\bluecon.exe
.
bluecon.exe
— более продвинутая консоль
defrag.exe
— дефрагментация жесткого диска (для FATx и NTFS)
n7z.exe
— версия программы 7Zip для Native-mode
ncab.exe
— тоже самое, для архивов формата CAB
ndrv.exe
— для загрузки или выгрузки драйверов
nlist.exe
— просмотр доступных дисков:

nmount.exe
— программа для монтирования образов формата .WIM
Совместимо, после моих модификаций, у меня грузится, что на реальном железе, что на виртуалке:
Кусок кода для SYSLINUX:
LABEL native0 menu label Windows XP Native Image kernel modules/memdisk initrd distrib/windows/native0/native1.img append harddisk
Конечно, имена файлов подправьте.
По внешним дискам, что реального железа, что виртуалки, оно вполне ходит:

Только сначала надо дать команду:
A:\nlist.exe drv
А потом уже ходить по реальным дискам, с помощью cd D:\
, где D
заменяем на нужный диск. На картинке C:
и A:
— образы дисков, C:
с DOS, а A:
дискета с Native XP, D:
— реальный диск компьютера
Готовый образ с Mega.NZ
Готовый образ с catbox.moe