URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 41963
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Отключение HPA или решение проблемы определения 1Тб диска"

Отправлено auto_tips , 26-Май-08 14:32 
Исходные данные:
   Motherboard: GA-965P-DS3 rev. 1.0
   Motherboard BIOS: BIOS F1
   HDD: Samsung HD103UJ (1 Терабайт)
   HDD: Western Digital WD10EACS (1 Терабайт)
   OS: Gentoo Linux
   hdparm v8.6

Проблема:

Недавно я приобрёл два SATA HDD размером в 1000Мб (1Тб): Samsung HD103UJ и Western Digital WD10EACS.
Я подключил их оба к материнке и к моему удивлению в BIOS один из них (Samsung) определился как 32Мб.
Манипуляции со шлейфами (портами SATA) биосом, операционкой и другие танцы с бубном не помогали.
Samsung был реанимирован с помощью HDD Capacity Restore под Windows у товарища.
Дома диск определился правильно. Предполагая, что проблема была с Samsung'ом я продолжил
манипуляции с дисками дома. К моему удивлению я через некоторое время обнаружил,
что Western Digital тоже стал определяться как 32Мб.


Причина:

Причина в том, что материнская плата (BIOS) резервировала некоторое место под свои нужды.
Это зовется HPA (Host Protected Area). После данной манипуляции по каким-то причинам диск
начинал определяться неправильно. Насколько мне известно, такое происходит только
с терабайтными жесткими дисками, если объем меньше, то активизация HPA не повлияет
на определение размера BIOS'ом. Активизация данной функции (области) происходила при подключении
к определённому SATA порту. На моей материнке есть два типа SATA портов: т. н. SATA-II 0/1/2/3
(желтые, от контроллера Intel ICH8) и т. н. GSATA-II 0/1 (красные, от контроллера J-Micron).
Данный эффект происходил на порту SATA-II 0 (возможно и на других портах SATA-II; по крайней
мере HDD на GSATA-II 0/1 не затрагивались). Соответственно в первом случае я подключал
Samsung к SATA-II, а WD к GSATA-II, во втором случае, я их поменял (естественно, я не придавал этому значения).


Решение:

Под Windows данная проблема решается программой HDD Capacity Restore
http://www.bestvistadownloads.com/download/t-free-hdd-capaci...

Под Linux это решается стандартными средствами - командой hdparm.

Вот пример:

Диск без HPA:

   $ hdparm -N /dev/sdd
   /dev/sdd:
    max sectors   = 1953525168/1953525168, HPA is disabled

Диск с HPA:

   $ hdparm -N /dev/sdc
   /dev/sdc:
    max sectors   = 586070255/586072368, HPA is enabled

Для отключения HPA для второго случая используем комманду

   $ hdparm -N p586072368 /dev/sdc

То есть мы приравниваем количество секторов, доступных пользователю, к максимальном количеству секторов на диске.
Буква 'p' необходима для того, чтобы настройки сохранились в flash жесткого диска
(то есть чтобы после выключения питания они сохранились). Менять параметр с ключем 'p'
можно только один раз за сессию жесткого диска (сессия - промежуток времени между включениям и выключением).
После изменения параметра необходимо выключить и включить винчестер (по факту - компьютер).

Что касается решения корня проблемы - есть мнение, что прошивка F7 материнской платы ее устраняет, но я не пробовал.

Дополнительная информация:

http://en.wikipedia.org/wiki/Host_Protected_Area
http://www.linux.gr/cgi-bin/man/man2html?hdparm+8
http://www.gigabyte.ru/forum/viewtopic.php?f=23&t=25076&p=14...
http://www.gigabyte.com.tw/Products/Motherboard/Products_Spe...

URL:
Обсуждается: http://www.opennet.me/tips/info/1673.shtml


Содержание

Сообщения в этом обсуждении
"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено butcher , 26-Май-08 14:32 
Во FreeBSD 8.0 это делается путём установки hw.ata.setmax="1" в loader.conf.

"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено cvsup , 26-Май-08 19:30 
но какое это имеет отношение к SATA Port Multipliers не совсем понятно..

"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено butcher , 26-Май-08 20:40 
>но какое это имеет отношение к SATA Port Multipliers не совсем понятно..

А где здесь хоть слово о SATA Port Multipliers?


"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено pavlinux , 29-Май-08 14:24 
TUNABLE_INT("hw.ata.setmax", &ata_setmax);

    SYSCTL_INT(_hw_ata, OID_AUTO, setmax, CTLFLAG_RDTUN, &ata_setmax, 0,
    "ATA disk set max native address");


"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено Аноним , 26-Май-08 23:55 
Проприетарные биосы что-то совсем окуевают - нагло глючат, и вообще, какого ху... от МОЕГО диска какая-то проприетарная поделка без спросу откусывает СЕБЕ кусок?! 8-\

"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено Дмитрий Ю. Карпов , 27-Май-08 19:28 
Интересно, а если я на эту мат.плату поставлю диск с данными, то BIOS повредит мои данные при резервировании?

"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено User294 , 28-Май-08 15:15 
>Интересно, а если я на эту мат.плату поставлю диск с данными, то
>BIOS повредит мои данные при резервировании?

Мне интересно другое - зачем оно втихаря от харда пытается откусить себе кусочек и при том только от большого.Типа втихаря ставит себе бэкдор в надежде что юзер при терабайтном размере не заметит пропажи кусочка???


"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено Аноним , 01-Июн-08 17:31 
>> размером в 1000Мб (1Тб)

Как это?


"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено dRiZd , 01-Июн-08 19:13 
Странно, у меня ASUS P5N32E SLI Plus поставил 6 штук
SEAGATE ST31000340NS вместо ST3500320NS - ни каких проблем не обнаружил (Linux, Solaris, QNX, Win XP x64)

"Отключение HPA или решение проблемы определения 1Тб диска"
Отправлено spinoprav , 13-Июл-08 04:52 
Огромное спасибо Kroz!
Благодаря этой инфе мне удалось подключить свой терабайтный  самс к матери GA-P35-DS4  (rev. 2.0)   Тип BIOS Award Modular -  F12.
До этого 3 суток танцевал с бубном без результата
Собирался сдавать  в ремонт
О слава Великому Инету