LINUX.ORG.RU

Разбиение HDD


0

0

1.). Как fdisk определяет 1-й цилиндр раздела? Ведь в структуре partition tabel 2-м, 3-м, 4-м байтами идут begin CHS. но если стартовый цилиндр 3000, скажем, то ведь нельзя уместить такое число в одном байте!
2.). При создении раздела: C понятно, а HS откуда брать? Я уже спрашивал в development первое, так что извините, что повторяюсь.

★★

Ответ на: комментарий от anonymous

Спасибо, расскажи поподробней, пожалуйста. B всё-таки, fdisk - то как берёт головки, сектора, когда создаёт раздел? Ведь CxHxS = сектор. Но с умножением нужно опираться на какое-то число.

drish ★★
() автор топика
Ответ на: комментарий от drish

Ага.
Первый байт - головка (max головок - 255).
Второй и третий байты - цилиндр/сектор. Для номера сектора отводятся 6 бит (max 64 сектора), для цилиндра - 10 бит (max 1024 цилиндра).

anonymous
()
Ответ на: комментарий от anonymous

Да, забыл сказать про большие винты.
Кроме этих 3 байт в описателе раздела есть еще 2 четырехбайтовых поля: относительный номер первого сектора и длина раздела в секторах (aka LBA).
На больших винтах (>1024 цилиндра) используется именно эти поля, а не CHS (при этом в 3 байта CHS заносится ... уже не помню, какжется, все биты там устанавливаются в единички). Посмотри свою таблицу разделов, сразу станет все понятно.

anonymous
()
Ответ на: комментарий от anonymous

Да это я знаю, с LBA проблем нет. Первое int - число - это смещение начала раздела, а второй - длина раздела (всё в секторах).

drish ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.