Платформа: Windows
Интерфейс: Консольное приложение (English)
Требования: Запуск от имени администратора (если учетная запись администратора не запаролена, дополнительных действий при запуске не требуется)
Программа предоставляет простой интерфейс для управления жесткими дисками компьютера или сервера на Windows. Среди ключевых функций — программное отключение и подключение дисков в операционной системе, аналогичное команде offline disk в diskpart или отключению дисков через diskmgmt.msc. Программа позволяет отключать USB-накопители, что недоступно в большинстве аналогичных решений. Также реализована возможность остановки шпинделя дисков. В некоторых случаях утилита способна усыплять диски, даже если в драйвере контроллера (например, LSI HBA) отключена возможность управления питанием. Для обеспечения безопасности предусмотрены защитные механизмы: перед отключением диска выполняется проверка на наличие системного тома и активных операций чтения/записи. Есть команда для удаления диска из дерева устройств и возвращения его обратно (может быть полезна для предотвращения пробуждения диска различными службами).
Информация о дисковом устройстве: путь к диску, тип шины, имя продукта и поставщика, версия, серийный номер, возможность извлечения, поддержка NCQ, геометрия диска, размер, тип таблицы разделов
Информация о логическом томе: GPT GUID, volume GUID, точки монтирования, файловая система, метка тома, start LBA, размер, тип и имя партиции, GPT атрибуты
--command parameter1 parameter2 ... --command "parameter one" ...
- Порядок выполнения командной строки - слева направо.
- Если параметр содержит пробелы, он должен быть заключен в двойные кавычки.
- Если команде требуются дополнительные параметры, они должны быть заданы ранее (левее).
--help (или --h или запуск без команд) - показать список всех команд
--disk [path] (или --d) - задать путь к диску (deviceID / devicePath / volume GUID / drive letter / physical drive number / folder path)
примеры:
--d SCSI\DISK&VEN_HGST&PROD_HUS726060AL5214\5&A26C2B1&0&000000
--d \\?\scsi#disk&ven_hgst&prod_hus726060al5214#5&a26c2b1&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
--disk 0
--d /dev/sda
--d C
--d C:\share\symlink_HDD_12\NAS
комментарий:
Рекомендуется использовать перманентные идентификаторы (permanent devicePath или deviceID) - они сохранятся при изменении конфигурации оборудования.
Диск можно указать через путь к папке/файлу, содержащий точки монтирования и символические ссылки.
--timeout [milliseconds] (или --t) - время ожидания благоприятных условий для выполнения некоторых команд
значение по умолчанию:
20000
примеры:
--t 10000 (эквивалент 10 секундам)
--info (или --i) - отобразить информацию о дисках
--infomin (или --im) - отобразить минимальную информацию о дисках
требуется:
--disk (опционально) - информация только о выбранном диске
примеры:
--info --nc
--d E --i --d /dev/sdb --im --nc
--spin [state] (или --s) - остановить/разбудить диск
требуется:
--disk - целевой диск
--timeout (опционально) - время ожидания завершения дисковых операций
состояния:
0 (или spindown) - остановка шпинделя (использует --timeout)
1 (или spinup) - пробуждение диска
примеры:
--d 1 --s 0
комментарий:
Нельзя остановить диск, на котором в данный момент выполняются операции чтения/записи.
--plug [state] [flags] (или --p) - отключить/подключить диск к системе (не остановить)
требуется:
--disk - целевой диск
--timeout (опционально) - время ожидания завершения дисковых операций (используется, если флаг force не установлен)
состояния:
0 (или offline) - отключить
1 (или online) - подключить
флаги (опционально):
срок действия:
reboot (по умолчанию) - действует до перезагрузки системы
permanent - действует до изменения командой
безопасность:
safe (по умолчанию) - перед отключением ожидает завершения операций чтения/записи (использует --timeout)
force - принудительно, даже если диск используется (Внимание! Есть риск частичной потери данных)
примеры:
--d SCSI\DISK&VEN_HGST&PROD_HUS726060AL5214\5&A26C2B1&0&000000 --p 0 --s 0
--d \\.\PhysicalDrive1 --t 30000 --p offline permanent safe
Если вы хотите принудительно отключить диск по истечению тайм-аута безопасного отключения, повторите команду с нужным флагом:
--d 1 --p offline safe --p offline force
комментарий:
Программа защищает диск с операционной системой от случайного отключения.
Перевод в offline разбудит спящий диск. Обычно сразу после этой команды используется команда остановки диска.
Перевод диска в автономный режим не предотвратит его раскрутку при запуске компьютера.
Некоторые фоновые службы Windows способны разбудить диск, находящийся в состоянии offline.
Вернуть в online отключенный диск можно также через системную утилиту diskmgmt.msc.
--uninstall [state] (или --u) - удалить/восстановить диск в дереве устройств (не остановить)
требуется:
--disk (только перманентные пути) - целевой диск
--timeout (опционально) - таймаут подключения к службе обработки команд
состояния:
0 (или remove) - удалить диск
1 (или recovery) - вернуть удаленный диск
2 (или delete) - удалить диск без поддержания дескриптора для восстановления
примеры:
--d SCSI\DISK&VEN_HGST&PROD_HUS726060AL5214\5&A26C2B1&0&000000 --p 0 --s 0 --u 0
--d SCSI\DISK&VEN_HGST&PROD_HUS726060AL5214\5&A26C2B1&0&000000 --u 1
комментарий:
Пока существует хотя бы один диск, удаленный через remove, процесс hddwincmd_service.exe будет запущен и сохранит дескриптор для восстановления диска.
Удаление этим способом не пробуждает диск и не деактивирует путь к диску.
Действует до перезагрузки ОС или физического переподключения диска.
--wait [milliseconds] (или --w) - подождать фиксированное время пред продолжением
примеры:
--d 1 --p offline --w 1000 --s spindown (будет ждать 1 секунду между отсоединением диска и его остановкой)
--notclose (или --nc) - не закрывать консоль по окончании выполнения
--response [variant] (или --r) - метод ответа приложения
варианты:
text (по умолчанию) - стандартный вывод текстовых данных в консоль
bin - каждая команда дает только короткий ответ (success/failure)
code - текст не выводится
hide - скрыть окно консоли. В этом режиме команда --notclose игнорируется
комментарий:
Обычно эта команда должна быть первой, чтобы повлиять на весь список команд.
В режимах code или hide, если все команды выполнены без ошибок, приложение закроется с кодом 0, иначе 1.
--log [filename] (или --l) - писать ответ приложения в лог файл
параметры:
filename (опционально) - имя файла, будет сохранен в папке приложения
примеры:
--r hide --l log.txt --i
комментарий:
Команда без параметра отключит ведение лога, если оно было включено ранее.
Если указан подкаталог, он должен быть создан заранее.
