блоки, сектора, байты и testdisk
brothermechanic 21 февраля, 2012 - 07:48
Простите за ламерский вопрос, но как понять какой точно размер раздела по выводу testdisk?
Устр-во Загр Начало Конец Блоки Id Система /dev/sdb1 * 63 92156399 46078168+ 7 HPFS/NTFS/exFAT /dev/sdb2 92156400 625121279 266482440 f W95 расшир. (LBA) /dev/sdb5 92156463 625121279 266482408+ 7 HPFS/NTFS/exFAT
А testdisk выдает совсем другие цифры
Disk /dev/sdb - 320 GB / 298 GiB - CHS 38913 255 63 Current partition structure: Partition Start End Size in sectors Warning: Incorrect number of heads/cylinder 240 (NTFS) != 255 (HD) 1 * HPFS - NTFS 0 1 1 5736 119 63 92156337 2 E extended LBA 5736 120 1 38911 254 63 532964880 Warning: Incorrect number of heads/cylinder 240 (NTFS) != 255 (HD) 5 L HPFS - NTFS 5736 121 1 38911 254 63 532964817
Может вопрос надо задать так - сколько блоков в мегабайте?
»
- Для комментирования войдите или зарегистрируйтесь
Цитата:А testdisk выдает
Где другие цифры ?
Первая запись в таблице разделов, устройства sdb:
Первый сектор раздела - 63, последний сектор раздела 92156399, число 512 байтных секторов будет равно: 92156399-63+1=92156337, число целых 1K (одно килобайтных) блоков равно: 92156337/2=46078168. +1 здесь указано, потому, что сектор под номером 63 тоже входит в границы раздела, а разность 92156399 и 63 показывает число секторов после 63, начиная с сектора с номером 64 и до сектора 92156399.
Тоже самое и для второй записи:
625121279−92156400+1=532964880 секторов в расширенном разделе и 266482440 1K блоков.
Ну и для третьей записи:
625121279−92156463+1 = 532964817 и 266482408 целых 1K блок.
Плюс (+) в выводе числа блоков fdisk указывает что есть ещё один 512 байтный сектор, являющийся половинкой 1K (одно килобайтного) блока, к примеру для первого раздела это: 46078168+.
testdisk за ноль принимает 63 сектор диска.
В магабайте 1024 1K блока или 2048 секторов по 512 байт.
в мегабайте 1000 блоков по
в мегабайте 1000 блоков по 1000 байт. См. мой комментарий внизу :)
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Измерение в Кибибайтах
Измерение в Кибибайтах введено относительно недавно, около двух лет, изначально обозначение Килобайт равнялось 2^10 байт, а не 1000 байт (10^3 байт), как сейчас, я приденрживаюсь этого понятия о килобайте, размер сектора 512 байт (2^9 байт), а размер блока в выводе fdisk равен двум секторам, а 2 сектора это 1 Килобайт, так что я всё правильно написал.
А ваших маркетологов пошлите лесом.
Только не надо сейчас говорить по 4 килобайтные секторы (4*2^10 байт), это внутренняя единица современных накопителей с Advanced Format, для программ, работающих с диском всё так же предоставляется интерфейс, в котором минимальная дисковая единица (сектор) равна 512 байтам., прошивка диска осуществляет пересчёт.
В выводе fdisk границы
В выводе fdisk границы разделов указаны в абсолютных значениях секторов от начала диска, при чем нумерация секторов начинается от нуля.
В случае с testdisk, границы разделов указаны в формате CHS (Cylinder Head Sector) для первой границы раздела и последней, нумерация секторов начинается с единицы. Цилиндр состоит из 255 дорожек, каждой соответствует одна головка, в дорожке 63 сектора.
Число головок, секторов и цилиндров в таком формате является логическим представлением накопителя, реально в жёстком диске число головок и дорожек другое, по одной головке на каждую магнитную поверхность, к примеру, если у вашего жёсткого диска две пластины и в нём программно не отключена одна из сторон пластин то в диске 4 действующих магнитных головки.
И так, исходя из этого получаем:
Первый раздел, первый сектор: 0*255*63+1*63+1=64
Первый раздел, последний сектор: 5736*255*63+119*63+63=92156400
Первый раздел, число секторов: 92156400-64+1=92156337
Первый раздел, число блоков: 92156337/2=46078168.5
Второй (расширенный) раздел, первый сектор: 5736*255*63+120*63+1=92156401
Второй (расширенный) раздел, последний сектор: 38911*255*63+254*63+63=625121280
Второй (расширенный) раздел, число секторов: 625121280-92156401+1=532964880
Второй (расширенный) раздел, число блоков: 532964880/2=266482440
Третий раздел, первый сектор: 5736*255*63+121*63+1=92156464
Третий раздел, последний сектор: 38911*255*63+254*63+63=625121280
Третий раздел, число секторов: 625121280-92156464+1=532964817
Третий раздел, число блоков: 532964817/2=266482408.5
Собственно вот и всё.
Благодарю за подробную
Благодарю за подробную справку!
Маркетологи считают ёмкость в
Маркетологи считают ёмкость в десятеричной системе: 1кбайт - 1000 байт и тд. и это ПРАВИЛЬНО. Поэтому была введена единица KibiByte, в котором 1024 байта, что мы и видим в выводе testdisk:
320 GB / 298 GiB
а блоки - они блои и есть. это как убитые еноты :) сколько скажем в блоке - столько и будет. в данном случае 512 байт (не 500!). Т.е. технически правильно. Но "нечестно" :)
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Я вам написал выше:
Я вам написал выше: http://www.gentoo.ru/node/24863#comment-185755
Без разницы, как считают маркетологи, размер сектора 512 байт (2^9 байт), размер блока в выводе fdisk равен 2 секторам (2*2^9=2^10 байт), изначально это называлось килобайтом и я к этому привык, а современные Кибибайты это маркетологическая передастия (от слова пЕРЕдаст).
Вы путаете понятия блока и сектора, блок вообще понятие не нужное, выведено для удобного восприятия пользователя.
Маркетологи считают так, как
Маркетологи считают так, как им хочется, а постфактум объяснить можно все.
Мне как юзеру интересно сколько фактически инфы поместиться на мой винч, а не измышления маркетологов.
Это как раз один из простых случаев, когда маркетинговые цифры легко конвертируются в реальные.