воскресенье, 28 декабря 2008 г.

Шаг третий. HDD должен жить!

Информация этой заметки полностью взята из форума Русского сообщества пользователей ubuntu.
Примечание тоже самое подходит и для Debian 5.03

ВНИМАНИЕ! Все нижеуказанные действия вы выполняете на свой страх и риск.
Еще раз повторю, что проблема возникает не на всех ноутбуках, но если вам кажется, что парковка головок винчестера происходит очень часто, даже при питании от сети, возможно стоит выполнить нижеуказанные инструкции.

Для наблюдения S.M.A.R.T. информации винчестера потребуется пакет smartmontools, установите его:

$ sudo apt-get install smartmontools

Запускаем:

sudo smartctl -H /dev/sda

Запуск утилиты для полного просмотра информации SMART:

sudo smartctl -d ata -a /dev/sda | more

Или веберем только интересующую нас строку:

sudo smartctl -d ata -a /dev/sda | grep Load_Cycle

Код:
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6774

Здесь число 6774 и есть счетчик парковки головок. Насколько я знаю число циклов парковки HDD ограничено. Т.е. производитель дает гарантию только на определенное число циклов. (?)

Через несколько минут снова выполните команду, чтобы посмотреть как быстро изменилась цифра:

sudo smartctl -d ata -a /dev/sda | grep Load_Cycle

Код:
193 Load_Cycle_Count        0x0032   198   198   000    Old_age   Always       -       6823

Если у вас в ноуте HDD c IDE интерфейсом, то строка для просмотра будет такой:

sudo smartctl -a /dev/sda | grep Load_Cycle_Count

Возможно sda нужно будет заменить на hda.

Итак, сопоставив цифры и вычислив разницу, если вы пришли к выводу, что парковка происходит слишком часто, выполните следующие инструкции:

1. Создадим скрипт с именем "99-hdd-ugly-fix.sh" например в домашней папке (разумеется /home/glx506/ заменяем на свое):

sudo touch /home/glx506/99-hdd-ugly-fix.sh

2. Откроем его для редактирования:

sudo gedit /home/glx506/99-hdd-ugly-fix.sh

и впишем в скрипт следующий код:

Код:
#!/bin/bash
if on_ac_power; then
# При питании от сети не парковать головки
hdparm -B 254 /dev/sda # Возможно в вашем случае потребуется значение 255
else
# При питании от батареи паркуем
hdparm -B 128 /dev/sda
fi


3. Копируем этот скрипт в следующие места:


$sudo install /home/glx506/99-hdd-ugly-fix.sh /etc/acpi/resume.d/
$sudo install /home/glx506/99-hdd-ugly-fix.sh /etc/acpi/start.d/
$sudo install /home/glx506/99-hdd-ugly-fix.sh /etc/acpi/ac.d/
$sudo install /home/glx506/99-hdd-ugly-fix.sh /etc/acpi/battery.d/
$sudo install /home/glx506/99-hdd-ugly-fix.sh /usr/lib/pm-utils/sleep.d/


Команда install автоматически назначит копируемым скриптам права 755. Последняя строка исправляет недочет при выходе из ждущего режима. Иначе, парковка головок возвращалась к параметрам по-умолчанию и винт начинал клацать по-новой.

Вот в принципе и все. Перезагрузите ноутбук и все должно заработать.