Полезная информация


Назад Вперед Оглавление

6. Использование Lredir

This section of the document by Hans, <lermen@fgan.de>. Last updated on June 16, 1997.

Что это такое? Ну, это просто маленькая DOS программа, которая говорит коду MFS (Mach File System), какие "сетевые" диски перенаправить. С помощью этого можно "монтировать" любые каталоги Linux в виртуальные диски DOS. В дополнение к этому, Linux, как и другие сессии dosemu, смогут одновременно обращаться к одним и тем же дискам, что невозможно при доступе к разделу жесткого диска (partition access).

6.1 Как это делается?

Во-первых, смонтируйте DOSовский раздел диска в каталог Linux. К примеру, можно создать в Linux каталог /dos (mkdir -m 755 /dos) и добавить строчку типа

   /dev/hda1       /dos     msdos   umask=022

в /etc/fstab. (В этом примере жесткий диск смонтирован только для чтения. Его можно монтировать на чтение/запись, заменив "022" на "000" и используя параметр -m 777 в mkdir). Монтируем /dos. Теперь можно добавить строку вида

  lredir d: linux\fs/dos

в AUTOEXEC.BAT на образе загрузочного диска (но см. комментарий ниже). На многопользовательской системе можно использовать

  lredir d: linux\fs\${home}

где "home" - это имя переменной окружения, которая содержит расположение dos-каталога (в нашем примере это /dos)

Однако, вам может потребоваться "родной" раздел DOS в качестве C: под дос-эмулятором. Чтобы добиться этого, можно также с помошью lredir отключить виртуальный образ диска и переключиться на настоящий диск C:

Предполагая, что каталог c:\dosemu присутствует на обоих дисках (виртуальном и настоящем) и ваш DOS раздел смонтирован как /dosc, вам понадобятся следующие файлы на виртуальном диске:

autoexec.bat:

  lredir z: linux\fs\dosc
  copy c:\dosemu\auto2.bat z:\dosemu\auto2.bat
  lredir del z:
  c:\dosemu\auto2.bat

dosemu\auto2.bat:

  lredir c: linux\fs\dosc
  rem further autoexec stuff

Пояснение, зачем пакетный файл (не обязательно autoexec.bat) должен быть тем же самым:

Command.com, который их интерпретирует, хранит указатель (смещение в байтах), чтобы найти следующую строку файла. Он открывает и закрывает пакетный файл на каждой новой строке. Если пакетник, в котором делается 'lredir c: ...' , будет на c:, command.com неожиданно прочтет следующую строку из файла с этого только что перенаправленного диска. Понятно?

6.2 Другие альтернативы Lredir

Чтобы перенаправить диск из config.sys можно либо использовать emufs.sys

   device=c:\emufs.sys /dosc

либо применить команду install в config.sys (но не обе вместе)

   install=c:\lredir.exe c: linux\fs\dosc

Последнее имеет то преимущество, что вы на "родном" C: с самого начала. но, как и с autoexec.bat, оба config.sys должны быть идентичны.

Информацию об использование 'перенаправленных' дисков как 'пользовательских' (т.е. имеющих правильные разрешения), см. в ./doc/README.runasuser.


Назад Вперед Оглавление
Перевод: Валерий Груздев (grue@vpti.vladimir.ru)