Skip to content

flarens/HDDWinCmd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HDDWinCmd

Платформа: Windows

Интерфейс: Консольное приложение (English)

Требования: Запуск от имени администратора (если учетная запись администратора не запаролена, дополнительных действий при запуске не требуется)

Программа предоставляет простой интерфейс для управления жесткими дисками компьютера или сервера на Windows. Среди ключевых функций — программное отключение и подключение дисков в операционной системе, аналогичное команде offline disk в diskpart или отключению дисков через diskmgmt.msc. Программа позволяет отключать USB-накопители, что недоступно в большинстве аналогичных решений. Также реализована возможность остановки шпинделя дисков. В некоторых случаях утилита способна усыплять диски, даже если в драйвере контроллера (например, LSI HBA) отключена возможность управления питанием. Для обеспечения безопасности предусмотрены защитные механизмы: перед отключением диска выполняется проверка на наличие системного тома и активных операций чтения/записи. Есть команда для удаления диска из дерева устройств и возвращения его обратно (может быть полезна для предотвращения пробуждения диска различными службами).

Программа предоставляет информацию о дисках:

Информация о дисковом устройстве: путь к диску, тип шины, имя продукта и поставщика, версия, серийный номер, возможность извлечения, поддержка NCQ, геометрия диска, размер, тип таблицы разделов

Информация о логическом томе: GPT GUID, volume GUID, точки монтирования, файловая система, метка тома, start LBA, размер, тип и имя партиции, GPT атрибуты

screenshot

Структура команд:

--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

комментарий:

Команда без параметра отключит ведение лога, если оно было включено ранее.

Если указан подкаталог, он должен быть создан заранее.

About

Управление дисками

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors