суббота, 9 марта 2013 г.

Hdparm и его автоматическая загрузка в Windows

Имеется ноутбук Asus X301 и винчестер Hitachi HTS545050A7E380. Операционная система - Windows 7 x64. Через минут 5-10 простоя винт начинал потрескивать, шуршать головками. Плюс в SMART постоянно увеличивался параметр Load/Unload Cycle Count.

После изучения проблемы в интернете, оказалось что у некоторых моделей винчестеров Hitachi была введена парковка головок чтения/записи после бездействия в течение 5 мин. (для повышения надёжности). Поэтому она может сопровождаться такими звуками.

За такое поведение отвечает APM - Advanced Power Management. Отключение функции APM позволяет уменьшить частоту «парковки» головок жесткого диска, что позволяет снизить уровень шума. Описание применяемых значений можно почитать здесь.

Для изменения параметров APM используется программа Hdparm. Скачал я v.6.9 отсюда: https://sites.google.com/site/disablehddapm. После установки во всех ярлыках программы плюс в батнике автозагрузки пришлось поменять переменную %ProgramFiles% на %ProgramFiles(x86)% (для 32 битных систем этого делать не нужно). Единственный минус hdparm - значение APM сбрасывается (с установленного - 254, к первоначальному - 1) после выхода компьютера из сна. 

Для обхода такого поведения пришлось создать задачу в планировщике заданий. Задача запускает файл "enable hdd apm max performance.cmd" с системными правами по событию журнала System (источник - Power-Troubleshooter, код события - 1). При запуске сначала была ошибка 0x2331. Это связано с тем, что в батнике нужно прописать полный путь к запускаемому exe-файлу. Таким образом, нужно заменить строчку {hdparm -B 254 hda} на {"%ProgramFiles(x86)%\hdparm\hdparm" -B 254 hda} (без фигурных скобок) и поменять pause в конце скрипта на exit. Для 32 битных систем соответственно строка будет выглядеть так: {"%ProgramFiles%\hdparm\hdparm" -B 254 hda}.

P.S. Для создания задачи необходимо совершить следующие действия:
  1. Жмем кнопку Пуск, затем Панель управления - Администрирование - Планировщик заданий.
  2. В открывшемся окне в меню Действие выбираем Создать задачу.
  3. Задаем имя задачи.
  4. На вкладке Действия жмем кнопку Создать. В поле действие должно быть установлено Запуск программы. Через кнопку Обзор выбираем наш файл "enable hdd apm max performance.cmd" и жмем Открыть, а затем ОК.
  5. На вкладке Условия снимаем галочку в поле Запускать только при питании от электросети и нажимаем кнопку ОК.

4 комментария:

  1. опишите, пожалуйста, подробнее о создании задачи в планировщике =)
    можно на почту - crixalix[at]gmail[dot]com

    ОтветитьУдалить
  2. Добавил описание создания задачи планировщика в сообщение.

    ОтветитьУдалить
  3. сегодня купил диск Western Digital 500g . Скачал программу Victoria, через меню выставил время парковки 60 минут. Программа работает под Windows. У меня семерка.

    ОтветитьУдалить
    Ответы
    1. для уточнения - заводское время парковки было 5 минут.

      Удалить