Я покупал в нетбук 1 Тб WD, в магазине я просил его проверить, они взяли простенький системник, вставили и в биосе он показал 32 мб емкость, переставили в другой всю 1000 увидел, пожали плечами и все, диск я забрал дома поставил и о чОрт 32 мб... ни Windows ни линукс не видят ибо он даже в биосе 32 мб, в интернете нарыл что это проблема частенько встречается (HPA) и лечится спец утилитой под виндой и hdparm в линуксе. Что я собственно и сделал, в hdparm поправил количество секторов на правильное и после ребута весь полный объем в моем распоряжении.
hdparm -N /dev/sda
<Get/set max visible number of sectors (HPA) (VERY DANGEROUS)>
покажет общее количество секторов и доступное, в дисках с отключенном HPA оно одинаковое.
Отрывок из мана по hdparm кто с англиским дружит переводите
Get/set max visible number of sectors, also known as the Host
Protected Area setting. Without a parameter, -N displays the
current setting, which is reported as two values: the first
gives the current max sectors setting, and the second shows the
native (real) hardware limit for the disk. The difference
between these two values indicates how many sectors of the disk
are currently hidden from the operating system, in the form of a
Host Protected Area (HPA). This area is often used by computer
makers to hold diagnostic software, and/or a copy of the origi‐
nally provided operating system for recovery purposes. Another
possible use is to hide the true capacity of a very large disk
from a BIOS/system that cannot normally cope with drives of that
size (eg. most current {2010} BIOSs cannot deal with drives
larger than 2TB, so an HPA could be used to cause a 3TB drive to
report itself as a 2TB drive). To change the current max (VERY
DANGEROUS, DATA LOSS IS EXTREMELY LIKELY), a new value should be
provided (in base10) immediately following the -N option. This
value is specified as a count of sectors, rather than the "max
sector address" of the drive. Drives have the concept of a tem‐
porary (volatile) setting which is lost on the next hardware
reset, as well as a more permanent (non-volatile) value which
survives resets and power cycles. By default, -N affects only
the temporary (volatile) setting. To change the permanent (non-
volatile) value, prepend a leading p character immediately
before the first digit of the value. Drives are supposed to
allow only a single permanent change per session. A hardware
reset (or power cycle) is required before another permanent -N
operation can succeed. Note that any attempt to set this value
may fail if the disk is being accessed by other software at the
same time. This is because setting the value requires a pair of
back-to-back drive commands, but there is no way to prevent some
other command from being inserted between them by the kernel.
So if it fails initially, just try again. Kernel support for -N
is buggy for many adapter types across many kernel versions, in
that an incorrect (too small) max size value is sometimes
reported. As of the 2.6.27 kernel, this does finally seem to be
working on most hardware.
Вот пример:
Диск без 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'
можно только один раз за сессию жесткого диска (сессия - промежуток времени
между включениям и выключением).
После изменения параметра необходимо выключить и включить винчестер (по факту - компьютер).