Всем привет!
SATA-диски я всегда подключаю на живую, благо стандарт SATA это позволяет. И как-то так вышло, что купил я винчестер, подключил к домашнему сервачку, разметил на всю область, скопировал некоторые файлы, и перезагрузился. Однако, после перезагрузки, ОС не примонтировала файловую систему на этом диске. Что произошло?
Что такое HPA?
HPA, или Host Protected Area, это область жесткого диска, которая обычно не видна операционной системе.
Материнская плата, которая стоит у меня в сервере, Gigabyte GA-EP45-DS3, имеет в себе сомнительную технологию сохранения копии BIOS на жесткий диск, в HPA. Несмотря на то, что в BIOS данная функция была отключена, от диска «ушло» 512КБ в HPA, но сам образ BIOS скопирован на жесткий диск не был.
Как работать с HPA?
Если у вас материнская плата от Gigabyte или Abit, возможно, у ваших дисков включен HPA. Чтобы это проверить, выполните:
sudo hdparm -N /dev/sd[a-z]
Если HPA выключен, вывод будет примерно таким:
/dev/sda:
max sectors = 1465149168/1465149168, HPA is disabled
/dev/sdb:
max sectors = 1953525168/1953525168, HPA is disabled
/dev/sdc:
max sectors = 2930277168/2930277168, HPA is disabled
/dev/sdd:
max sectors = 488397168/488397168, HPA is disabled
/dev/sde:
max sectors = 3907029168/3907029168, HPA is disabled
Чтобы выключить HPA до следующего передергивания питания винчестера, нужно выполнить следующее:
sudo hdparm -N 1465149168 /dev/sdX
Где 1465149168 — количество доступных пользователю байт (можно взять из вывода предыдущей команды).
А чтобы выключить HPA перманентно, достаточно добавить p перед количеством байт:
sudo hdparm -N p1465149168 /dev/sdX
Хинт
HPA можно использовать и для своих целей, например, создать шифрованный раздел в скрытой области и подключать его, временно отключая HPA на винчестере. Такой раздел не будет виден как «неразмеченная» область.
Автор: ValdikSS