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).
Во-первых, смонтируйте 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 неожиданно прочтет следующую строку из файла с этого только что перенаправленного диска. Понятно?
Чтобы перенаправить диск из 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.