5

Есть ли способ запустить MS-DOS 6.22 в безопасном режиме с помощью команды в файле config.sys ?

Я использую опцию мультиконфигурации в config.sys и нуждаюсь в опции, чтобы запустить машину в безопасном режиме ИЛИ полностью обнажить: нет himem.sys , нет ifshlp.sys , ничего.

Это возможно?

В настоящее время мой config.sys выглядит так:

[Menu]
MenuItem=MS-DOS, MS-DOS 7.00
MenuItem=4DOS, 4DOS 6.01
MenuItem=MEMTEST, MemTest86+ 4.20 (Press Shift+F5 and run MT420.EXE)*
MenuDefault=4DOS,5

Мне нужен третий вариант для запуска в безопасном режиме без вмешательства пользователя.

5 ответов5

2

Как сказал Майкл, для DOS нет «безопасного режима».

Что вам нужно сделать, это перефакторизовать файл config.sys , чтобы вы выделяли каждый из компонентов, которые должны быть загружены, в отдельный раздел, а затем include их в каждую конфигурацию по мере необходимости и использовали [common] раздел для, ну, пунктов, общих для всех конфигураций. Вот пример config.sys с модульными конфигурациями:

[menu]
  menucolor   =14,1
  menudefault =normal,3

  menuitem    =c_ramdisk, Ramdrive
  menuitem    =c_cddrive, CD
  menuitem    =c_emm,     EMM
  menuitem    =c_bare,    Bare


[c_ramdisk]
  include     =himem

[c_cddrive]
  include     =himem
  include     =cd

[c_emm]
  include     =himem
  include     =emm

[c_bare]


[himem]
  devicehigh  =\system\dos\himem.sys /testmem:off

[emm]
  devicehigh  =\system\dos\emm386.exe NOEMS

[cd]
  devicehigh  =\system\dos\vide-cdd.sys /D:blah
  installhigh =\system\dos\mscdex.exe  /D:blah


[common]
  break       =on
  numlock     =on
  lastdrive   =z
  dos         =high,umb,auto
  fileshigh   =50
  buffershigh =20,0
  stackshigh  =9,256
  shell       =command.com /e:640 /p

Затем в autoexec.bat будет задана переменная среды config , соответствующая конфигурации, выбранной при загрузке, поэтому вы можете сделать что-то вроде этого:

@echo off
break on
goto %config%

::c_ramdisk
  call \system\config\ramdrive.bat
  goto misc

::c_cddrive
  call \system\config\setcdd.bat
  goto misc

::c_emm
  goto misc

::c_bare
  goto misc

:misc
  \system\dos\smartdrv b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ m+ n+ /q
  goto done
1

Что ж, есть способы обойти файлы CONFIG.SYS и AUTOEXEC.BAT при запуске, которые были бы близки к "безопасному режиму" для DOS.

Нажатие F5 после перезапуска, когда появится текст «Запуск MS-DOS ...», пропустит CONFIG.SYS и AUTOEXEC.BAT.

F8 заставит MS-DOS спросить, должна ли быть выполнена каждая строка в CONFIG.SYS. Я не думаю, что это что-то делает с AUTOEXEC.BAT.

Имейте в виду, что если вы полностью пропустите CONFIG.SYS и AUTOEXEC.BAT, у вас не будет рабочего CD-ROM, звука или чего-то еще, кроме A: и C:.

1

Прежде всего, в DOS нет такой вещи, как "безопасный режим". Во-вторых, если вы не хотите загружать кучу вещей в файл config.sys, избавьтесь от них.

Я помню, что у меня часто было несколько версий config.sys с именами, такими как config.old, config.tst. Скопируйте тот, который вам нужен для config.sys, а затем перезагрузите компьютер. То же самое относится и к autoexec.bat. Сохраните несколько версий с разными именами и скопируйте ту, которую вы хотите, на имя, которое фактически используется и загружается.

Тогда безопасный режим просто

C:
CD \
del autoexec.bat
del config.sys

И перезагрузите систему. Сделайте это в.BAT файл, если вы хотите, но не делайте этого, пока вы не создадите резервную копию ваших текущих файлов.

0

спасибо, ребята, но, видимо, проблема была в моем файле msdos.sys .

Мой config.sys уже был таким, как предложил Synetech, но в разделе Bare все еще himem.sys и ifshlp.sys .

поэтому я пошел к msdos.sys . после удаления следующих 3 строк он неожиданно заработал, и 2 вышеупомянутых файла (himem и ifshlp) больше не загружались.

3 строки были:

[Paths]
WinDir=C:\DOS
WinBootDir=C:\DOS
HostWinBootDrv=C

еще раз спасибо.

0

Если вы редактируете файл MSDOS.SYS как простой стандартный текстовый файл, значит, вы не используете MS-DOS 6.22. Это MS-DOS 7.0 или новее, от Win95 или новее.

Почему бы не использовать CONFIG.SYS для включения DOS = NOAUTO?

Это намеченный способ избежать новых автозагрузок HIMEM и IFSHLP.

Я считаю, что это можно комбинировать с другими командами DOS в CONFIG.SYS, такими как DOS = HIGH, UMB, NOAUTO.

Дополнительные сведения о MSDOS.SYS в новом коде MS-DOS см. В разделе: ] [CyberPillar] [: информация MSDOS.SYS. Например, переименование MSDOS.SYS в WINBOOT.INI, вероятно, будет работать. (Хотя, если есть проблема, и система больше не загружается с жесткого диска, это, вероятно, будет неудобно исправлять, поэтому будьте готовы исправить проблему, если есть проблема.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .