ROS ft2vd

Материал из Русский WINE
Перейти к: навигация, поиск

Перенос файлов из основной ОС на виртуальный жёсткий диск

Многие пользователи отдают предпочтение тестированию ReactOS в эмуляторах и программах виртуализации, таких например, как QEMU или VMware, однако для тестирования программного обеспечения им приходится копировать необходимые файлы в образ диска .iso, добавляя их в нужные директории, что отнимает лишнее время и иногда представляет собой не самую тривиальную задачу. Одним из способов облегчения работы в этом случае может стать монтирование виртуальных жёстких дисков в основную операционную систему пользователя (в качестве альтернативы можно предложить организацию FTP- или HTTP-сервера на другой машине с последующим скачиванием файлов с неё в ReactOS при помощи ftp-клиента или iexplore).

В Windows

Драйвер виртуального диска ImDisk

Вебсайт

ImDisk представляет собой драйвер виртуального диска для Windows NT/2000/XP/2003/Vista/2008. Он может использовать один или несколько файлов образа диска для создания виртуального жёсткого диска, дискеты или привода CD/DVD. Установочный пакет приложения устанавливает консольную программу для управления дисками с именем imdisk.exe, а также апплет Панели управления. После завершения установки вы можете запустить imdisk без параметров командной строки, и на экран будет выведена справочная информация по синтаксису её параметров, либо сделайте двойной щелчок по значку ImDisk в Панели управления. Кроме того, в меню Проводника Windows будет добавлен допонительный элемент, позволяющий монтировать файлы образа прямо из контекстного меню, вызываемого нажатием на правую кнопку мыши. Также, синтаксис командной строки imdisk.exe вполне может показаться знакомым пользователям mdconfig в FreeBSD. Удалить из системы драйвер, службу и управляющую программу можно воспользовавшись апплетом Установка/удаление программ в Панели управления. При установке или удалении пакета перезагрузка компьютера не требуется.

Установочный пакет также содержит в себе вспомогательную службу пользовательского режима, предназначенную для активации режима, в котором драйвер виртуального диска может перенаправлять запросы ввода/вывода на другие компьютеры в сети. При этом вы можете загрузить машину с разделами NTFS с Live-CD на основе *nix и использовать утилиту devio, что при использовании ImDisk на другом компьютере под управлением Windows, находящимся в локальной сети, позволит смонтировать раздел NTFS на машине, загруженной с Live-CD на основе *nix. Этот способ позволяет не только восстановить данные, но даже запустить chkdsk для диска на машине, которая по какой-либо причине не может загрузить Windows.

Простой пример монтирования:

 imdisk -a -t vm -m #: -f C:\Users\%USERNAME%\.VirtualBox\HardDisks\Reactos.vdi

Утилита VMware Disk Mount

  • Утилита VMware Disk Mount проще в использовании, однако она позволяет работать лишь с форматом .vmdk (официальный формат файла образа виртуального диска VMware).
  • Загрузите и установите(*) утилиту с веб-сайта VMware. Она представляет собой часть пакета Virtual Disk Development Kit (VDDK).
  • Установка: Чтобы получить утилиту VMware Disk Mount, перейдите на сайт загрузки VMware Disk Mount и примите лицензионное соглашение с пользователем. После того, как вы нажмёте “Accept”, вам будет предложено сохранить файл установки. Запустите этот файл и следуйте инструкциям на экране.
  • Запустите интерпретатор командной строки.
  • Перейдите в директорию, в которую вы установили утилиту (например C:\Program Files\VMware\VMware DiskMount Utility\ или "C:\Program Files (x86)\VMware\VMware Virtual Disk Development Kit\bin").

Монтирование виртуального диска

Выполните следующую команду

 vmware-mount z: C:\ReactOS\ReactOS.vmdk

где

  • vmware-mount - Запуск утилиты монтирования.
  • z: - Буква диска для монтируемого диска (можете использовать любую букву).
  • ...(Путь) - Путь к файлу образа виртуального диска.

ПРИМЕЧАНИЕ: Указанный выше путь приведён для примера. Используйте путь, по которому вы сохранили свои файлы .vmdk

Размонтирование виртуального диска

Для размонтирования виртуального диска выполните следующую команду

 vmware-mount z: /d

где

  • vmware-mount - Запуск утилиты монтирования.
  • z: - Буква диска для размонтируемого диска
  • /d - Параметр, указывающий утилите на необходимость размонтирования смонтированного диска.

Дополнительную информацию о других параметрах запуска утилиты вы можете найти в документации к утилите.

VDK

VDK (драйвер виртуального диска) может монтировать образы дисков в форматах vmdk и raw, поддерживаемые QEMU и VMware.

Скачивание драйвера (VDK)

Вы можете загрузить VDK отсюда (версию для x64 отсюда). По состоянию на момент написания этого руководства самой свежей версией является версия 3.2. Загрузите файл .zip и извлеките его содержимое при помощи архиватора.

Установка драйвера

  • Откройте интерпретатор командной строки и перейдите в папку, в которую вы извлекли VDK (например C:\VDK).
  • Запустите на выполнение следующую команду
 vdk install /auto

Параметр /AUTO конфигурирует драйвер таким образом, чтобы он запускался автоматически после каждого запуска операционной системы. По умолчанию драйвер необходимо запускать вручную.

Дравер виртуального диска (vdk.sys) будет скопирован в %SYSTEMROOT%\system32, и вам могут потребоваться права администратора для его установки.

Запуск драйвера

После установки, драйвер может быть не запущен. Для его запуска выполните следующую команду

 vdk start

Если драйвер ещё не установлен, то будет произведена попытка его установки с параметрами по умолчанию. Рекомендуется вначале установить его командой vdk install /auto, чтобы вам не приходилось запускать его вручную каждый раз после перезапуска системы.

Монтирование виртуального диска

СИНТАКСИС:

VDK.EXE OPEN disk# image [/RW | /WB | /UNDO] [/P:part#] [/L:drive]

ПАРАМЕТРЫ:

disk#     Задаёт номер виртуального диска. Это первый обязательный параметр. '*' означает первый доступный диск, а если все уже существующие диски заняты, то будет создан новый виртуальный диск.
image     Задаёт путь к файлу образа виртуального диска. Это второй обязательный параметр.
/RW       Открытие образа для чтения/записи.
/WB       Открытие образа для блочной записи.
/UNDO     Создание журнала отмены и открытие для чтения/записи.
/P:part#  Определяет номер раздела, которому будет назначена буква диска. Буквы дисков впоследствии можно назначать и удалять при помощи команд LINK/ULINK. По умолчанию буквы дисков назначаются всем разделам, пригодным к монтированию.
/L:drive  Определяет буквы дисков, которые будут назначаться разделам. По умолчанию монтируемому разделу будет назначена первая доступная буква.

Команды /RW, /WB и /UNDO являются взаимоисключающими и могут быть использованы лишь поодиночке. Если ни один параметр не задан, то образ открывается в режиме "Только для чтения".

  • Пример использования VDK:

В директории, где находится VDK, выполните следующую команду:

 vdk open * C:\ReactOS\ReactOS.vmdk /rw

Размонтирование виртуального диска

Как только вы закончили работу с виртуальным диском, его нужно отмонтировать. Это можно сделать выполнив следующую команду:

 vdk close * 

При этом диск будет заблокирован, и вы сможете использовать его в VMware или QEMU.

Остановка драйвера

Если драйвер более вам не нужен, его можно остановить

 vdk stop

Дополнительную информацию о драйвере и его параметрах вы можете прочитать в файле Readme.txt в zip-файле с драйвером.

Linux

Монтирование образа диска VirtualBox (.vdi)

  • Способ 1, Используя qemu-nbd из пакета qemu-kvm + nbd:

Как смонтировать образ в формате VirtualBox VDI

Внимание: Для монтирования разделов диска требуется qemu версии >= 0.14, а первым разделом reactos будет /dev/nbd0p1 в формате FAT.

modprobe nbd
#монтирование устройства целиком
qemu-nbd -c /dev/nbd0 ./ReactOS.vdi 
##хотя и возможно сделать: fdisk /dev/nbd0
#однако используем лишь первый раздел:
mount -t vfat /dev/nbd0p1 /mnt/ros

#размонтирование устройств:
umount /mnt/ros
qemu-nbd -d /dev/nbd0
  • Способ 2, Используя vdfuse:

Как смонтировать образ диска в формате VirtualBox (vdi) в Ubuntu 12.10/12.04 Основан на использовании пакета virtualbox-fuse

Или же воспользуйтесь пакетами libguestfs / libguestfs-mount в дистрибутивах Linux, использующих пакеты в формате rpm:

Монтирование образов виртуальных машин Virtual Box (англ.)

  • Способ 3, хитрое использование формата vdi, минимальное требование: монтирование с использованием loop device:

Как смонтировать образ в формате VirtualBox VDI в Linux

OFFSET1=`VBoxManage internalcommands dumphdinfo ./ReactOS.vdi |grep "offData="|sed "s#.*offData=\([0-9]\+\)#\1#"`
OFFSET=$((32256+$OFFSET1))
mount ./ReactOS.vdi /mnt/ros -o loop,offset=$OFFSET

Число 32256 здесь представляет собой произведение 63*512, т.е. смещение начала первого раздела на жёстком диске (по историческим причинам смещение на 63 сектора = смещению раздела от начала соответствующей MBR или, в случае расширенного раздела, от начала VBR). При отладке FreeLoader может возникнуть необходимость внести изменения в загрузочную запись, учтите только, что она доступна по смещению 0, а не по 63*512.

Монтирование образа QEMU

Большинство дистрибутивов Linux позволяют монтировать образы виртуальных дисков при помощи команды mount. В этом примере будет использована Ubuntu, однако все приведённые действия справедливы и для большинства других дистрибутивов.

Для выполнения большей части операций вам необходимы права суперпользователя, поэтому воспользуйтесь командой sudo. Прежде всего вам необходимо создать директорию для монтирования

 sudo mkdir /media/ReactOS

Затем, убедитесь в том, что файл вашего образа имеет формат RAW. Я создал образ в QEMU Launcher, там можно выбрать нужный формат. Если ваш образ создан в формате QCOW, вы можете воспользоваться следующей командой для конвертирования его в RAW:

 qemu-img convert <image-file> -O raw <image-file.raw>

Затем вы можете смонтировать образ командой

 sudo mount -o loop,offset=32256 <image-file> /media/ReactOS -t vfat

После того, как вы закончили использовать файл образа, можете с лёгкостью его отмонтировать

 sudo umount /media/ReactOS

Дополнительная информация

ReactOS
Search.png
Доклады
О ReactOS • ARWINSS • ЧеЗа
Информация Новости Выпуски новостей • Переводы блогов • Новости проекта • Видео • ReactOS на Хабре • USB от Вадима Галянта
Разработка Руководство по программированию • Отсутствующая функциональность • Ветви разработки • Компоненты системы • ReactOS и Wine • План работ • Roadmap ядра by Vgal • Разработчики • Совместимость с dll Windows • Наиболее значимые изменения за год • Используемые проекты • Google Summer of Code • Известные проблемы
Порты AMD64 • ARM • Xbox • PowerPC
Компоненты Файловые системы • Режим совместимости • Отчеты об ошибках • Печать • USB • Ядро
Загрузчик Восстановление MBR • Загрузка из GRUB • Параметры загрузки
Прочее ARWINSS • Приложения в ReactOS • Оформление ReactOS • Координаторы • "Пасхальные яйца" • Монетизация
Другое Типы ядер • FreeWin95
Помощь
RAM-диск ReactOS по PXE • с жесткого диска
Разработка Стиль написания кода • Стандарты RC-файлов • Работа с документацией • Венгерская нотация • GNU Indent • [ Subversion : ветви • слияние • использование TortoiseSVN ] • Основы перевода • Отправка патчей
Репорты Отладка в VirtualBox • Отладка на экран • Добавление программы в менеджер приложений • Отправка отчетов
Отладка Com0com • GDB • Kdbg • Rossym.gdb • Roswin.gdb • WinDBG • Руководство по WinDBG • Включение трассировки ядра • Коды DPRINT • Удалённый отладчик ReactOS
Сборка CMake • RBuild • Файлы RBuild • Автоматическое копирование файлов • Сборка MINGW-w64 • Сборка модулей • Среда сборки
Тестирование VirtualBox • VMware • QEMU • Hyper-V • Необходимый объём диска • Перенос файлов на виртуальный диск • Установка ReactOS • Установка драйверов
Сеть Общие папки • Samba • NFS
Игры Установка DirectPlay
Обновление ReactOS • Загрузочная флешка • Чем можно помочь проекту • Создание нового пользователя • Звук и сеть в VirtualBox • Съемка и публикация видео • IRC-канал • Сторонние компоненты • FAQ • ReactOS как рабочая станция • ReactOS и UEFI
Обзоры Оболочка • NTVDM • WOW • Community Edition • История сайта • ReactOS Server • Криптография • ПО времен XP