Доступ к фс линукс из w2k/xp/7 через coLinux

Dec 26, 2010 16:12

Оригинал - http://habrahabr.ru/blogs/linux/70058/

Установка и настройка гостевой Linux-системы
  1. Скачиваем ядро coLinux здесь. Устанавливаем, например, в директорию C:\coLinux (далее в статье для примера будет использоваться именно она).
  2. Скачиваем один из образов установленной Linux-системы отсюда. Я предпочел [http://sourceforge.net/projects/colinux/files/Images 2.6.x Debian/Debian 5.0 Lenny/Debian-5.0r2-lenny.7z/download|Debian Lenny], и поэтому при предстоящей работе в гостевой системе будут использоваться команды, специфичные для Debian. Распаковать архив с образом нужно в директорию, куда установлен coLinux, в нашем случае C:\coLinux.
  3. Правим конфиг-файл debian-lenny.conf, расположенный в директории coLinux (мы же распаковали архив с образом в нее, так?). Снимаем символ комментирования (#) со строк #mem=256 и#eth1=tuntap
  4. Теперь необходимо прописать в конфиг имена нужных разделов для доступа к ним. Эти имена выглядят как \Device\Harddisk1\Partition2. Самый простой способ найти правильные имена для нужных разделов - это скачать Windows-port утилиты dd и с помощью команды: dd --list
в командной строке Windows с правами администратора (естественно, находясь в каталоге с исполняемым файлом dd) ищем нужные нам имена разделов под словами NT Block Device Objects(малость неудобно, т.к. искать нужные разделы придется по размеру, который, к тому же, дан в байтах).
Итак, нужные имена мы нашли, теперь необходимо вписать их в конфиг. В конце конфига вписываем строки типа:
cobdX=\Device\HarddiskY\PartitionZ
где X - это порядковый номер файла девайса (он будет видет из-под гостевой системы в /dev), начиная с 3, а Y и Z - это номера диска и раздела в его Windows-имени. Например:
cobd3=\Device\Harddisk1\Partition2
И так для каждого раздела.
  1. Заходим в свойства виртуального сетевого адаптера «TAP-Win32 Adapter V8 (coLinux)» (в WinXP -Панель управления - Сетевые подключения - ПКМ на адаптере - Свойства - Протокол Интернета (TCP/IP) - Свойства, в WinVista/7 - Панель управления - Центр управления сетями и общим доступом - Изменение параметров адаптера - ПКМ на адаптере - Свойства - Протокол Интернета версии 4 (TCP/IPv4) - Свойства) и выставляем IP-адрес 192.168.37.10 и маску подсети255.255.255.0. Сохраняем настройки.
  2. Самый долгожданный момент - запуск гостевой системы. :) Запускаем файл debian-lenny.bat из корневой директории coLinux и ждем, пока система полностью загрузится. Заходим в систему с логином root и паролем colinux. Создаем директории - точки монтирования разделов в гостевой системе. Редактируем файл /etc/fstab (с помощью vim или nano, по вкусу) и вписываем туда строчки для описания файловых систем для монтирования, например: /dev/cobd3 /mnt/cobd3 xfs defaults 0 0
Тут все стандартно, отмечу только, что имя файла нужного раздела совпадает со строкой раздела в конфиге coLinux. После сразу монтируем все разделы с помощью команды mount -a.
  1. Настроим виртуальный сетевой адаптер в хост-системе. Для этого добавим в файл /etc/network/interfaces следующие строки: auto eth1
iface eth1 inet static
address 192.168.37.20
network 192.168.37.0
netmask 255.255.255.0
broadcast 192.168.37.255Включаем сетевой интерфейс командой:
ifup eth1
Можно тут же пропинговать хост-систему (192.168.37.10), все должно работать без проблем.
  1. Создаем обычного юзера командой adduser (напр. adduser user1) для того, чтобы предотвратить root-доступ к файлам из-под Windows
  2. Устанавливаем SSH- и Samba-серверы в гостевой системе: apt-get install openssh-server samba
В конфиге Samba (/etc/samba/smb.conf) вписываем для каждого смонтированного раздела секцию такого вида:
[sharename1]
path=/mnt/cobd3
users=user1
read only=no
Меняем нужные параметры по-нашему. После редактирования файла перезапускаем Samba с помощью команды /etc/init.d/samba reload
  1. Выбираем в контекстном меню на иконке «Мой компьютер» пункт «Подключить сетевой диск...». Прописываем в качестве пути для каждого раздела \\192.168.37.20\имя_шары, где имя шары - это имя, прописанное в квадратных скобках в начале секции конфига Samba.
Ура! Раздел виден, и все успешно читается и пишется (естественно, читается и пишется только туда, где есть соответствующие права).

Прописывание coLinux как сервиса Windows
Осталась одна проблема - coLinux приходится запускать вручную, и при закрытии его консольного окна доступ к дискам исчезает. Решение - прописать coLinux как сервис Windows (который будет работать в фоне) и настроить его автостарт при запуске системы:
  1. В командной строке Windows (с правами администратора) в каталоге coLinux прописываем команду: daemon.exe --install-service colinux @debian-lenny.conf
Тут же и запустим сервис: net start colinux.
  1. Запускаем services.msc (Win+R - services.msc - OK), находим в списке сервисов colinux, дважды щелкаем на него, и в появившемся окне выбираем тип запуска - Автоматически. Сохраняем.


http://vkontakte.ru/note6637851_10383134
Previous post Next post
Up