Zliczanie pojemności dysku za pomocą modelu sektorowego cylinder-głowica

1

Spójrzmy na fdisk -l /dev/sdc wydajność.

# fdisk -l /dev/sdc
Disk /dev/sdc: 786 MB, 786432000 bytes
255 heads, 63 sectors/track, 95 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Zliczyłem pojemność tego wirtualnego dysku. Sprawdź to na obrazie. Mam 781401600 bajtów zamiast 786432000 bajtów na górnej liście. Nie mam pojęcia, dlaczego tak jest. Jak zdobyć 786432000 bajtów (straciłem 5030400 bajtów)?

enter image description here

BrettWatts
źródło

Odpowiedzi:

1

Zobacz tę odpowiedź, gdzie wszystko zostało autorytatywnie wyjaśnione:

W skrócie, liczby CHS w dzisiejszych czasach nie mają dużej wartości i są faktycznie odwrotne od rzeczywistej pojemności w bajtach. Oznacza to, że pojemność dysku wynosi w rzeczywistości 786432000 bajtów. Obliczmy liczbę cylindrów dla twojego przypadku:

bytes       b/S   H     S    C
786432000 / 512 / 255 / 63 = 95.61157796451914

Teraz musisz jakoś pozbyć się biednego .6 cylindra, więc dostajesz:

C / H / S = 95 / 255 / 63

Oczywiście błąd zaokrąglania daje błędny wynik wracając do liczby bajtów. Twój brakująca bajka zagadka :

C                  S    H     b/S
0.61157796451914 * 63 * 255 * 512 = 5030399.999999992 ~ 5030400

W skrócie - zapomnij o CHS. Jeszcze więcej, jeśli masz dysk SSD. Chyba że masz hydra SSD , będziesz miał trudności ze zliczeniem ile głów ma i tak ...

steady rain
źródło