OS Windows XP native standalone build 2

Преамбула

Нашли с ребятами кучу всяких странных дистрибутивов, основанных на подсистеме Native от Windows, в основном XP, это такой нежно-голубенький экранчик, на котором проверка диска запускается. Вообще искали ради прикола, но затянуло. Вот, первое из найденных, наконец, удалось запустить.

Делаем ей DOS’овый виртуальный HDD из под Linux

Описано здесь (копия в PDF, копия на LJR)

Если все получилось, тогда хорошо (при запуске на QEMU qemu -hda native1.img -boot c), должно появиться приглашение командной строки, если вдруг нет, не отчаиваемся, и попробуем продолжить дальше.

Я сделал виртуальный HDD на 20 мегабайт.

Основные и дополнительные файлы DOS.

Далее, можно продолжать и в винде, воспользовавшись каким-нибудь маппером виртуальных дисков, чтоб закинуть туда нужные файлы. Я пользовался OSFMount. Примонтировали диск, закидываем файлы:
Скачать: Mega.NZ Catbox.moe

Редактируем CONFIG.SYS

Примечание: файл должен находиться в корне виртуального диска.

[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

Копия на Pastebin

AUTOEXEC.BAT

Примечание: файл должен находиться в корне виртуального диска.

@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 "-------------------------------------"

Копия на Pastebin

Проверка работоспособности образа

Если сейчас загрузить образ в QEMU (qemu -hda native1.img -boot c), то должно появиться загрузочное меню DOS:

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

Если загрузить первый пункт, то ничего (пока) не получится, Grub4DOS еще не настроен.

Образ основной дискеты OS Windows XP native standalone build 2

Теперь надо закинуть на созданный образ диска, образ дискеты OS Windows XP native standalone build 2:

Скачать с multiboot.ru
Копия на Mega.NZ (только образ дискеты)
Копия на catbox.moe(только образ дискеты).

Настраиваем Grub4DOS

Теперь нужно в корневом каталоге диска надо создать файл 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

Копия на Pastebin

Главное в конфиге, что надо использовать опцию --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

Совместимость с PXE

Совместимо, после моих модификаций, у меня грузится, что на реальном железе, что на виртуалке:

Кусок кода для 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *