Реактивирование динамических томов
От: x64 Россия http://x64blog.name
Дата: 10.03.13 03:29
Оценка:
Привет.

Короче, такая тема. Есть виртуальные динамические диски (движок самописный), которые объединены в составные тома. Проблема в том, что после перезагрузки и создании тех же виртуальных дисков система не объединяет их так же, как это было до перезагрузки. В "Управление дисками" видно, что диски есть, но на каждом стоит красный такой значок и томов нет, при этом есть щёлкнуть правой кнопкой хотя бы на одном из дисков и нажать "Реактивировать диск", то всё приходит в норму. Того же эффекта можно добиться, если зайти в diskpart, выбрать один из динамических дисков и выполнить команду online (запрос IOCTL_VOLUME_ONLINE тут ни при чём, если что). Во-первых, непонятно, почему при появлении дисков в системе динамические тома не активируются сами, автоматически. Образы виртуальных дисков ровно те же, что были и до перезагрузки. Возможно, требуются ещё какие-то пляски с Mount Manager и GUID volume names, тут ещё надо посмотреть, но если кто-то знает, в чём может быть дело, — с удовольствием послушаю. Во-вторых, кто-нибудь в курсе, как сделать реактивацию динамических дисков программно? Т.е. то же, что делает команда "Реактивировать диск" в консоли управления, но только программно и желательно из драйвера. Беглый анализ приводит к запросам FT_CONFIGURE и FT_REGENERATE, их обрабатывает ftdisk.sys на девайсе \Device\FtControl (в Vista и выше volmgr.sys), при этом запрос FT_CONFIGURE не принимает никаких параметров вообще, однако ftdisk.sys упорно шлёт отлуп с кодом STATUS_INVALID_PARAMETER, а какие данные слать в параметрах FT_REGENERATE — я вообще не представляю, в заголовках этого нет, в гугле, судя по всему, — тоже. Системы, на которых всё это тестируется, — Server 2003 x64 и 7 x64, интересуют варианты хотя бы для них. Кто что знает?

Спасибо.
JID: x64j@jabber.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.