The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Отключение HPA или решение проблемы определения 1Тб диска
Исходные данные:
   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-capacity-restore-download-aqauycgh.html

Во  FreeBSD 8 это делается путём установки : hw.ata.setmax="1" в loader.conf

Под 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=142923
http://www.gigabyte.com.tw/Products/Motherboard/Products_Spec.aspx?ProductID=2361
 
25.05.2008 , Автор: Kroz
Ключи: bios, disk, hdparm, linux / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Файловые системы

Обсуждение [ RSS ]
  • 1.1, butcher (ok), 14:32, 26/05/2008 [ответить]  
  • +/
    Во FreeBSD 8.0 это делается путём установки hw.ata.setmax="1" в loader.conf.
     
     
  • 2.2, cvsup (ok), 19:30, 26/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    но какое это имеет отношение к SATA Port Multipliers не совсем понятно..
     
     
  • 3.3, butcher (ok), 20:40, 26/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >но какое это имеет отношение к SATA Port Multipliers не совсем понятно..

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

     
  • 3.7, pavlinux (ok), 14:24, 29/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    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");

     

  • 1.4, Аноним (-), 23:55, 26/05/2008 [ответить]  
  • +/
    Проприетарные биосы что-то совсем окуевают - нагло глючат, и вообще, какого ху... от МОЕГО диска какая-то проприетарная поделка без спросу откусывает СЕБЕ кусок?! 8-\
     
  • 1.5, Дмитрий Ю. Карпов (?), 19:28, 27/05/2008 [ответить]  
  • +/
    Интересно, а если я на эту мат.плату поставлю диск с данными, то BIOS повредит мои данные при резервировании?
     
     
  • 2.6, User294 (ok), 15:15, 28/05/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Интересно, а если я на эту мат.плату поставлю диск с данными, то
    >BIOS повредит мои данные при резервировании?

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

     

  • 1.8, Аноним (8), 17:31, 01/06/2008 [ответить]  
  • +/
    >> размером в 1000Мб (1Тб)

    Как это?

     
  • 1.9, dRiZd (?), 19:13, 01/06/2008 [ответить]  
  • +/
    Странно, у меня ASUS P5N32E SLI Plus поставил 6 штук
    SEAGATE ST31000340NS вместо ST3500320NS - ни каких проблем не обнаружил (Linux, Solaris, QNX, Win XP x64)
     
  • 1.10, spinoprav (?), 04:52, 13/07/2008 [ответить]  
  • +/
    Огромное спасибо Kroz!
    Благодаря этой инфе мне удалось подключить свой терабайтный  самс к матери GA-P35-DS4  (rev. 2.0)   Тип BIOS Award Modular -  F12.
    До этого 3 суток танцевал с бубном без результата
    Собирался сдавать  в ремонт
    О слава Великому Инету
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру