Исходные данные:
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
Во FreeBSD 8.0 это делается путём установки hw.ata.setmax="1" в loader.conf.
но какое это имеет отношение к SATA Port Multipliers не совсем понятно..
>но какое это имеет отношение к SATA Port Multipliers не совсем понятно..А где здесь хоть слово о SATA Port Multipliers?
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");
Проприетарные биосы что-то совсем окуевают - нагло глючат, и вообще, какого ху... от МОЕГО диска какая-то проприетарная поделка без спросу откусывает СЕБЕ кусок?! 8-\
Интересно, а если я на эту мат.плату поставлю диск с данными, то BIOS повредит мои данные при резервировании?
>Интересно, а если я на эту мат.плату поставлю диск с данными, то
>BIOS повредит мои данные при резервировании?Мне интересно другое - зачем оно втихаря от харда пытается откусить себе кусочек и при том только от большого.Типа втихаря ставит себе бэкдор в надежде что юзер при терабайтном размере не заметит пропажи кусочка???
>> размером в 1000Мб (1Тб)Как это?
Странно, у меня ASUS P5N32E SLI Plus поставил 6 штук
SEAGATE ST31000340NS вместо ST3500320NS - ни каких проблем не обнаружил (Linux, Solaris, QNX, Win XP x64)
Огромное спасибо Kroz!
Благодаря этой инфе мне удалось подключить свой терабайтный самс к матери GA-P35-DS4 (rev. 2.0) Тип BIOS Award Modular - F12.
До этого 3 суток танцевал с бубном без результата
Собирался сдавать в ремонт
О слава Великому Инету