Поддерживает ли ваше устройство DMA? Практически все современные устройства поддерживают данный режим, но если вы не уверены необходимо посмотреть на сайте производителя. Почему слетел DMA? Проблемы с данным режимом начинаются, когда ХР обнаруживает не стабильную работу устройства. Определяется это по количеству ошибок чтения полученных с устройства. После превышения максимального значения включается PIO режим, основным не достатком которого является подвисание системы, при использование устройства. Бывает, что DMA режим просто не выставляется системой из-за проблем при установке или не правильном подключение устройства, а так же не правильной настройки BIOS. Что делать, если не выставляеться DMA? Если вы уверены, что устройство должно работать в данном режиме, но сразу после установки Windows стоит режим PIO, значит стоит попробовать подключить устройство на другой шлейф. Сбросить на дефолтные настройки Bios, а затем попробовать еще с оптимальными. Если все это не помогает можно использовать принудительные программные методы, которые будут описаны в разделе «Что делать, если у Вас слетел DMA». Что делать, если слетел DMA? Как я понимаю у Вас уже стоял DMA, но по каким-то причинам он слетел. Давай те посмотрим способы его восстановления. Все действия будут проводиться с реестром, по этому было бы не плохо сделать его бекап перед изменением. Для того чтобы попасть в реестр нажимаем Пуск -> Выполнить Вводим regedit и жмем enter Вот мы и попали в редактор реестра. Теперь можно проводить изменения. Справа отображаются ключи реестра, слева - кусты. Обычно обозначая какой-либо из кустов мы будем использовать сокращения, например: HKLM = HKey_Local_Machine, ну и так далее. Все это была подготовка, теперь переходим к действиям: 1) Для начала обойдемся без реестра и просто удалим в диспетчере устройств в категории IDE-каналы: Первичный и вторичный каналы. Перезагружаем компьютер и смотрим, восстановился ли у нас нужный режим. Нет? Тогда Вам читать дальше… 2) Если проблемы с приводом, то следует отключить контроль ошибок, для этого заходим в реестр и ищем нужный нам куст: HKLM\SYSTEM\CurrentControlSet\Services\Cdfs, Щелкнув по CDFS мы увидим ключ ErrorControl, выставляем его значение 0, снова удаляем первичный и вторичный каналы и производим перезагрузку. Конечно же контролируя результат. Если и это Вас не спасает, переходим к запасному плану… !Рекомендация от спецов: В реестре по ключам: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0003 итд… Создаем параметры DWORD-типа с названием ResetErrorCountersOnSuccess и значением «1» (без кавычек). 3) Открываем редактор реестра и переходим HKLM\SYSTEM\CurrentControlSet\Services\Atapi\Parameters, Если ключ Parameters отсутствует, ее необходимо создать, затем создать еще подключ Device0, Device1, … - для первичного, вторичного, … каналов. Лучше не усердствовать и пробовать создавать за раз не больше одного подключа. В новом подключе создайте строковый параметр с именем DriverParameter и значением "DMADetectionLevel = 0x1" (без кавычек). 0х1 – значит автоматическое определение DMA, можно выставить 0x2 – принудительное включение, если вы уверены, что устройство поддерживает режим. После перезагрузки необходимо проверить наличие DMA для устройства. !Внимание: если после установки ключа, Windows не загружается, необходимо восстановить последнюю удачную конфигурацию. 4) Ничто уже не помогает, не отчаиваемся, есть последний способ… Он сложен тем, что требуется знать какой из режимов поддерживает ваше устройство. Искать нам надо вот, что: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318} Внутри этой ветки находится 4 папки. В том числе и • 0000 – отвечает за сам контролёр. • 0001 – отвечает за Secondary IDE Chanell. • 0002 – отвечает за Primary IDE Chanell. Выбираем папку которая отвечает за нужный нам канал, и заходим в неё. Каждому из установленных устройств, соответствуют по два ключа, MasterDeviceTimingModeAllowed и SlaveDeviceTimingModeAllowed (или UserMasterDeviceTimingModeAllowed и UserSlaveDeviceTimingModeAllowed, если режимы выбирались вручную), определяющие в каком максимальном режиме разрешается работать Master и Slave устройства, установленные на контролёре, и MasterDeviceTimingMode и SlaveDeviceTimingMode, которые определяют в каком режиме реально работают Slave и Master устройства. Для того что бы разрешить использовать устройство в UDMA режиме, MasterDeviceTimingModeAllowed (или Slave…, зависит от того к чему диск подключен) должно иметь значение 0хffffffff. Если оно будет 0х0000001f, то устройство сможет работать только в PIO режиме. Убедившись что этот ключ стоит правильно, выставляем MasterDeviceTimingMode, определяя в каком режиме должно работать устройство. Возможны следующие варианты (цифры в HEX): • 0x10010 режим UDMA Mode 5 (ATA100). • 0x8010 режим UDMA Mode 4 (ATA66). • 0x2010 режимы UDMA Mode 2 (ATA33). • 0x0410 режим Multi-Word DMA Mode 2 и PIO 4. Кроме этого, UDMA Mode 4 можно включить 0xffff, а UDMA Mode 5 – 0xfffff. Выставляйте нужное, и перезагружайтесь, диск должен перейти в требуемый режим. Про DMA и его типы можно говорить очень много и долго, цель данной статьи не заключалась в описание DMA и всех разновидностей. Мы лишь разобрали способы его включения и устранения проблем, при его потере. |