Толик Панков
hex_laden
............ .................. ................
October 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Толик Панков [userpic]
Запуск Windows 3.11 с Word и Excel

Преамбула


Один из юзеров lj.rossia.org намедни решил поностальгировать и поиграться с DOS'ом, и в это же время мне попался образ готовой системы с Windows 3.11, ну как образ - на самом деле это был бэкап установленной уже системы, но без, собственно DOS 6.22, зато в Windows уже был установлен Word, Excel и даже какая-то поддержка сети. Со всем этим, в свое время, ИРЛ я имел только шапочное знакомство, так что попытаюсь реанимировать старый бэкап.

Подготовка HDD


Эксперимент буду проводить на виртуалке, так что создаю MS-DOS совместимую виртуалку в WMware, создаю два жестких диска на 500 Мб и на 1 Гб (второй понадобится позднее, для создания загрузочного образа для PXE), заставляю грузиться виртуалку из локальной сети, где у меня есть PXE-сервер (копия), и загружаю Acronis Disk Director 10, который как раз под DOS (образ IMG)

Создаем единственный раздел на первом HDD в FAT16 (Windows 3.1/3.11 FAT32 может не увидеть), создаем его как основной (Primary).



Делаем этот раздел активным:

Нажимаем правой кнопкой мыши по нужному разделу, в меню выбираем Advanced --> Set Active




В появившемся окне нажимаем Yes.

Второй форматируем под EXT2, но если вам не надо делать образ формата IMG, то можно и второй диск не создавать, и соответственно, не форматировать.



Применяем изменения кнопкой с изображением флага (на верхней панели).

Установка DOS


Грузимся с минимального образа DOS (Minimal DOS Image IMG/GZ)

После успешной загрузки появляются окна Volkov Commander, нажимаем Alt+F2, выбираем диск D:, он должен быть пустым. Текущий диск D: это диск C: виртуальной (или реальной) машины, текущий диск C: - диск загрузочного образа.
Вводим команду, которая перенесет ядро системы на диск машины:

sys C: D:

В корневом каталоге диска D: должно появиться три файла: IO.SYS, MSDOS.SYS и COMMAND.COM



Копируем на диск D: каталоги DOS и VC, копируем в каталог DOS файл HIMEM.SYS (вход в каталоги - ENTER, выход - ENTER по двум точкам, переключение между вкладками TAB, копирование F5)

Далее надо создать в корневом каталоге диска D: файл CONFIG.SYS (SHIFT+F4) с таким содержимым:

DEVICE=C:\DOS\HIMEM.SYS

Эта команда загружает драйвер верхней памяти который позволяет DOS использовать память более 640 Кб.

Также, создаем файл AUTOEXEC.BAT со следующим содержимым:

PATH C:\DOS;C:\VC

emm386.exe

smartdrv.exe
vc.com


где PATH C:\DOS;C:\VC - перечисление каталогов, где DOS будет искать исполняемые файлы вызванные с командной строки или пакетных файлов. Лучше писать без пробелов после ; для совместимости с более ранними версиями DOS.

emm386.exe - менеджер расширенной памяти DOS
smartdrv.exe - драйвер кэширования диска.
vc.com - запуск файлового менеджера Volkov Commander

Перезагружаемся и грузимся с жесткого диска.

Если после загрузки все сделано правильно, то после загрузки появятся синие окошки Volkov Commander



Далее, я распаковал заранее припасенный бэкап.
В бэкапе был readme, в котором были указания, добавить в PATH каталоги Windows и Norton Utilities (они к винде отношения не имеют, ну раз уж восстанавливать, то пусть будет полностью).

PATH C:\DOS;C:\VC;C:\NU;C:\WINDOWS;C:\WINDOWS\SYSTEM;C:\TOOLS
SET SYMANTEC=C:\NU
SET NU=C:\NU
emm386.exe
smartdrv.exe
vc.com


Первый запуск Windows


Выходим из VC (F10) и вводим команду

win

Ой, блин, кракозяблы:



По виду кодировка явно russian DOS (866), а русифицировать DOS я забыл.

Русификация DOS


Надо добавить русификатор, например, keyrus.com, который можно скачать здесь. Файл keyrus.com надо распаковать в один из каталогов PATH и записать в AUTOEXEC.BAT до вызова vc.com:

...
smartdrv.exe
keyrus.com
vc.com


Переключение между английской и русской клавиатурой по F12

Запуск номер два


После загрузки выходим из файлового менеджера и вводим

win

Ага, теперь сообщение об ошибке можно прочитать:



Windows не может загрузить драйвер 32-битного доступа к диску:

Драйвер 32BitDiskAccess, поставляемый с Windows 3.1x, WDCTRL, ограничен жесткими дисками с 1024 цилиндрами или меньше (504 МБ или меньше). Если установлен жесткий диск большего размера и включена функция 32BitDiskAccess, Windows может зависнуть при запуске или может вернуть сообщение об ошибке, например «Недостаточно памяти для запуска Windows...» или «Проверка WDCTRL не удалась на этапе XX, XX».

Проще всего сразу отключить его в SYSTEM.INI в директории Windows:

В секцию [386Enh] нужно добавить параметр 32BitDiskAccess, если его нет, и установить его в OFF

[386Enh]
...
32BitDiskAccess=OFF
...




Пробуем еще раз запустить винду.

ОШИБКА: Значение PageOverCommit слишком большое...



Есть два пути решения:

Способ #1:
- Заменить в AUTOEXEC.BAT smartdrv из DOS на smarttdrv, поставляемый в комплекте с Windows, т.е. smartdrv.exe на C:\WINDOWS\smartdrv.exe и перезагрузить машину.
- Добавить в SYSTEM.INI в секцию [386Enh] следующие строки:

MaxPagingFileSize=258048
PageOverCommit=1
MaxPhysPage=30000


Способ #2 (лучше):
- Заменить smartdrv аналогично первому способу.
- Заменить в CONFIG.SYS путь к HIMEM.SYS на HIMEM.SYS, который поставляется вместе с Windows, т.е.:

DEVICE=C:\DOS\HIMEM.SYS на
DEVICE=C:\WINDOWS\HIMEM.SYS

- Перезагрузить машину.

Тормоза при загрузке HIMEM.SYS


Иногда могут возникнуть тормоза при загрузке HIMEM.SYS, выглядит это так:



На самом деле, эта надпись означает: HIMEM проверяет дополнительную память ...

Опцию проверки можно отключить (копия), добавив ключ /TESTMEM:OFF, т.е.

DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF

Поврежденный файл подкачки


При старте Windows может выскочить ошибка файла подкачки.



На самом деле, файл подкачки (по-умолчанию это файл win386.swp в директории Windows) портится довольно часто, в основном из-за ненадежности файловой системы FAT16, при отключении питания или холодных перезагрузках. Чтоб это предупреждение не мешало загрузке, файл подкачки можно превентивно удалять при загрузке DOS, добавив следующую команду в AUTOEXEC.BAT (перед запуском VC):

DEL C:\WINDOWS\WIN386.SWP >NUL

Если ошибки, связанные с файлом подкачки, продолжают повторяться, то можно его отключить. Ниже расскажу как.

Запустилось!




Отключение файла подкачки (в случае необходимости)


1. Заходим в Панель управления.
2. Запускаем апплет Расширенный 386:



3. Жмем кнопку Виртуальная память:



4. Потом нажимаем Изменить и в следующем окне выбираем Отсутствует


5. Все сохраняем.
6. ТЕЛЕМАРКЕТ!

Другой способ настройки файла подкачки


Некоторые программы могут глючить при отключенной подкачке, так что для максимальной совместимости можно настроить временный файл подкачки, который будет создаваться при старте Windows.

1. Добавляем в DOS поддержку IFS, для чего в CONFIG.SYS добавляем строчку:

DEVICE=C:\WINDOWS\IFSHLP.SYS

2. Перезагружаем машину
3. Запускаем Windows, Запускаем апплет Расширенный 386.
4. Жмем кнопку Виртуальная память.
5. Потом нажимаем Изменить и в следующем окне выбираем Временный.



6. Если будут проблемы, можно попробовать отключить 32-битный доступ к дискам и файлам (чекбоксы внизу окна).

Запуск Office


Ну там не целиком Офис, из комплекта есть только Word и Excel, и оба не запускаются с ошибкой, что нужно выйти из Windows и загрузить SHARE.EXE, которого в комплекте урезанной версии DOS нет, но решение нашлось, она есть в DOS от Windows 98, которую я и использую в данном случае, так что ее можно оттуда и выдрать.



У меня есть небольшой образ "портативной" Win98, перетащу на виртуалку его DOS'овую часть целиком, благо, она небольшая.

Примечание: SHARE.EXE - программа, которая позволяет другим программам DOS выполнять блокировки файлов, дабы предотвратить сбои и повреждения файлов при совместном доступе через сеть или в многозадачной среде Windows 3.x

Теперь можно добавить в AUTOEXEC.BAT команду SHARE.EXE и перезагрузить систему.

Office работает!


Word:



Excel:



Переключение раскладки клавиатуры


Конечно, в Windows 3.x, как и в более новых версиях Windows, можно переключать раскладку мышью, нажимая на значок Pri/Sec



Pri - русская клавиатура, Sec - английская.

Но это не очень удобно, сразу не мог найти, как переключать раскладку с клавиатуры.

Оказывается, в данной конфигурации была установлена комбинация Правый Ctrl.
К сожалению, в Windows 3.x нет возможности поменять комбинацию клавиш, выбранную после установки в панели управления, придется редактировать C:\WINDOWS\SYSTEM.INI.

В файле надо найти секцию [keyboard] и параметр typeofswitch=XX в данной секции. XX - код комбинации клавиш.

КодКомбинация клавиш
1Первая раскладка - Левый Ctrl + Левый Shift, вторая - Правый Ctrl + Правый Shift
2Два Shift'а одновременно
3Правый Ctrl


Дополнительно


CONFIG.SYS:
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\WINDOWS\IFSHLP.SYS


CONFIG.SYS на PasteBin

AUTOEXEC.BAT:
@ECHO OFF

PATH C:\DOS;C:\VC;C:\NU;C:\WINDOWS;C:\WINDOWS\SYSTEM;C:\TOOLS;C:\NC
SET SYMANTEC=C:\NU
SET NU=C:\NU
C:\DOS\emm386.exe
C:\WINDOWS\smartdrv.exe
C:\TOOLS\keyrus.com
C:\DOS\share.exe
del C:\WINDOWS\WIN386.SWP >nul
attrib -H bootlog.* >nul
del C:\BOOTLOG.*
del C:\CLEAN
C:\VC\vc.com


AUTOEXEC.BAT на PasteBin

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2022/02/27/zapusk-windows-3-11-s-word-i-excel/