Alexandr Shliakhov
unread,Feb 19, 2021, 9:37:29 AM2/19/21You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to
Hello!
Использую FreeDOS на своём основном рабочем компьютере. Обычно из него
запускается GRUB4DOS, который загружает NTLDR или GNU/Linux. Сделано это для
того, чтобы можно было на середине процесса загрузки выйти в среду для запуска
различных утилит (например, DMDE).
Однако хочется и непосредственно перед GRUB что-нибудь запускать. Например,
NTP-клиент Майка Брутмана, чтобы он RTC обновил. Однако пакетный драйвер
хотелось бы загружать в UMB - чтобы в случае вышеупомянутого случая прерывания
загрузки тем самым утилитам был доступен максимум нижней памяти. Долгое время
решением было меню в CONFIG.SYS, однако оно приводило к потере эффекта от
директивы SWITCHES=/N (AKA BootKeys=0 в MS-DOS), которая нужна, чтобы прервать
загрузку можно было, только нажав P в GRUB, а не ^C до его запуска.
В этом месте начинаются пролблемы:
1) Для выделения UMB нужно загрузить EMM, с которым GRUB конфликтует.
2) Выгрузить EMM непосредственно перед запуском GRUB можно, только если первый
был загружен _не_ через CONFIG.SYS.
3) Однако, чтобы DOS видела UMB, EMM как раз должен быть загружен именно через
CONFIG.SYS.
4) Известно, что GRUB не конфликтует хотя бы с XMM. Однако драйвера загружаются
только в UMB или в нижнюю память, поэтому XMM особо не помогает.
С чем именно конфликтует GRUB: с эмуляцией EMS-памяти, или с чем-то в самом
JEMMEX/JEMM386? Имеет ли смысл попробовать загрузить последний с параметром
NOEMS? Или это не обязательно, и можно просто ограничить выделение EMS? Что,
собственно, использует EMS из известных игр и приложений?
С наилучшими пожеланиями, Alexandr Shliakhov.