|
![]() |
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
статьи modd1ng.com Альтернативный способ борьбы с шумом жесткого диска: отключение на лету. Все существующие на данный момент эффективные способы шумоизоляции жестких дисков имеют один большой недостаток: трудоемкость. При этом конечный продукт частенько получается под три кило весом и занимает треть полезного объема корпуса. Все это делает такие решения абсолютно неприемлемыми для "умеренных" любителей тишины, которые обычно к доработкам подходят с позиции оптимального баланса результатов и трудозатрат. Эта статья - как раз для таких людей. Полученное описываемым способом общее снижение шума, конечно, не сравнится с эффектом от "взрослых" систем, зато достается оно очень дешево. Идея проста: не шумит тот винчестер, который выключен. У большинства пользователей двухдисковые конфигурации выглядят стандартно:
Такое разделение подразумевает, что второй винт большую часть времени крутится вхолостую, создавая лишний шум. Соответственно напрашивается мысль просто отключать его когда он не нужен. Спросите, почему не использовать встроенную функцию операционки? Отвечу: потому что она страдает неизлечимой кривизной, которая, главным образом, заключается в том, что дисками нельзя управлять по отдельности. То есть, вместе с игровым винтом будет останавливаться и системный - после чего при каждой файловой операции винда будет подвисать на несколько секунд, пока не раскрутятся блины. Частые парковки головок тоже, надо думать, здоровья винту не добавляют. Вдобавок конкретно у ХР есть дурная привычка периодически раскручивать все диски даже если к ним нет явных обращений - спокойно поспать не удастся. В общем, лично я решил, что мириться со всеми этими неудобствами не стоит и измыслил альтернативный способ, при котором редко используемый винт включается и выключается отдельно от других, и тогда, когда нам надо. Для реализации сего понадобятся следующие компоненты: Железо: пара молексов (мама и папа), двухрядный тумблер, полметра провода. Молексы в данном случае - часть вентиляторного переходника 3pin ->molex, тумблер - из дохлого блока питания. Софт: программка devcon.exe - консольный аналог диспетчера устройств. Можно также скачать у нас. Для начала паяем тумблер, дабы иметь возможность физически отрубать питание винта прямо на лету. Не бойтесь, ему от этого не поплохеет, если только вы не сделаете это в момент, когда туда что-то пишется \ считывается (можно определить по хрусту головок). Тумблер должен быть с двумя рядами контактов, т.к. нам надо одновременно размыкать два провода: +5в и +12в (массу не обязательно).
если у вас завалялся такой же, как у меня, могу сразу подсказать распиновку контактов, чтобы вам не тыкать лишний раз мультиметром:
Берем переходник, вентиляторную часть откусываем, а остальное подрезаем как показано на фото: боковые провода режем посередине, а черные - практически под корень, лишь бы их можно было потом срастить друг с другом. Спаиваем все следующим образом: Немного окультуривания... В моем случае выключатель получился компактным, потому как сабжевый винт лежит на столе. Тем же, у кого он в корпусе, имеет смысл нарастить провода к тумблеру и для удобства врезать последний, скажем, в пятидюймовую заглушку. Все, с железной частью покончено, переходим к софтовой. В принципе, без всех последующих манипуляций можно обойтись. Винда проверяет жесткие диски только при загрузке и шатдауне, так что если у вас, скажем, компьютер включен постоянно, то винту можно просто отключить питание и позже включить когда будет нужно. Недостаток тут в том, что если вы в один прекрасный момент забудете, что винт выключен и попытаетесь к нему обратиться, получится как в поговорке: много бед - один reset :). Не исключено, что с тяжелыми последствиями, если комп в это время будет занят чем-то ресурсоемким. Хотите надежности? Читайте дальше. Чтобы не вешать комп почем зря, после физического отключения питания соответствующий винт надо также деинсталлировать из системы. Наша задача - автоматизировать эту процедуру (так же как и обратную - определение после включения) до одного клика, в чем нам и поможет программа devcon. Чтобы не было необходимости писать длинные пути, после скачивания ее имеет смысл сразу закинуть в одну из директорий, прописанных в переменной PATH (например, windows\system). Только имейте в виду, что винда найдет ее там только после перезагрузки. Открываем блокнот и пишем небольшой скрипт, который будет проверять наличие в системе интересующего нас диска и, в зависимости от результатов, либо удалять существующий, либо подключать отсутствующий. Скрипт будет иметь следующий вид: @echo off Первая строчка - чтобы командный процессор не тратил время на отображение хода процесса. Если ваш диск разбит на несколько логических, указывать можно любой из них. А вот с поиском и вписыванием Hardware ID уже сложнее. Для этого придется немного пообщаться с devcon'ом. Открываем коммандную строку (если кто забыл - Start -> Programs -> Accessories) и пишем следующее: devcon hwids =diskdrive Программа выдаст список прописанных в системе устройств, относящихся к классу "жесткий диск" - нужный вам, думаю, определите без труда. У меня получилось вот что: Как несложно догадаться, нас интересует то, что находится под заголовками "Hardware ID's". Из трех идентификаторов можно выбирать любой, я взял тот, что покороче: IDE\WDCxxxxxx. Теперь надо его перенести в скрипт, для чего кликаем на иконку в левом верхнем углу окна и выбираем Edit -> Mark. Выделяем мышкой нужную строку и нажимаем Enter, чтобы ее скопировать. Возвращаемся к блокноту с заготовкой скрипта и вставляем недостающие параметры. Вот что получилось у меня: @echo off Сохраняем файл как .cmd и засовываем подальше, а на рабочий стол вытаскиваем ярлык с установленным параметром "run minimized" (иначе каждый раз будет мозолить глаза окошко командной строки). Все, можно проверять работоспособность системы. Для начала убедитась, что на диске нет никаких системных программ и что там не прописан swap, hiberfil или еще-что-нибудь такое. В противном случае вы рискуете очень опасно (в плане целостности системных данных) подвесить винду, к тому же devcon не сможет деинсталлировать винт на лету - будет требовать перезагрузку. Возможно имеет смысл отключить для этого винта кэширование, хотя у меня никаких глюков из этой области пока не было. Если все ок - грузимся с включенным винтом, ждем пока система устаканится, открываем "Мой Компьютер" и - щелкаем тумблером. После чего кликаем по нашему ярлыку (хотя на самом деле порядок действий рояли не играет, можно сначала деинсталлировать винт, а потом отключить питание). Если все сделано правильно, интересующий нас логический диск (или диски, если их несколько) должен пропасть. Пропал? Поздравляю, вы все сделали правильно :). Если хотите, можете сейчас этот винт прямо так отсоединить и унести, а потом вернуть назад, не выключая компьютера. Осталось проверить вторую половину скрипта. Щелкаем тумблером в обратную сторону, дожидаемся раскрутки блинов и кликаем по тому же ярлыку. В "Моем компьютере" наблюдаем, возвращение диска из небытия. Нравится? :) Напоследок упомяну, что все вышеописанные эксперименты производились с Windows XP, работоспособность в других операционках не проверял. P.S. В случае со SCSI винчестерами все намного проще, т.к. у них врожденная поддержка hot swap. Все, что должен сделать скрипт как после отключения, так и после подключения питания - произвести поиск новых устройств, остальное возьмет на себя контроллер. Соответственно, состоять он (скрипт) будет, по сути, из одной команды: devcon rescan P.P.S. А можно заменить тумблер на управляемое с COM-порта реле... Но это уже маньячество :). Update: по отзывам, некоторые контроллеры позволяют обойтись без возни с devcon'ом - винт инсталлируется и удаляется автоматом. Поэкспериментируйте.
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||