|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.11.2015, 22:49 | #1 |
Пользователь
Регистрация: 17.11.2013
Сообщений: 16
|
Кодирование C-H-S в MBR в FAT-16
В файловой системе FAT-16 при описании Раздела в смещении 01h указывается "CHS-адрес" первого сектора Раздела, а в смещении 05h - последнего.
Экспериментально создал на ж.д. раздел с ФС FAT-16 размером ровно в 2 ГБ с помощью программы Paragon Hard Disk. Вот что получилось. Код:
Код:
Заглянем в таблицу секторов в MBR на последовательность Описания Раздела №1 (Offset: 00h-12h). Код:
1) 00 "данный Раздел не Активный" 2) 20 21 00 номер Цилиндра: 0 номер Головки: 32 номер Сектор/Трек: 33 порядковый номер Сектора: 544 3) 06 "файловая система FAT-16 с разделом более 32 МБ" 4) 15 50 05 номер Цилиндра: 261 номер Головки: 21 номер Сектор/Трек: 16 порядковый номер Сектора: 92 223 5) 00 08 00 00 смещение (offset): 320 секторов 6) 00 F8 3F00 размер Раздела: 4 192 256. Хотя на самом деле Раздел №1 начинается с сектора №2 048. Т.е. через свойства расположение Раздела правильно, а вот согласно секторной таблице ничего не сходится... Почему? |
15.11.2015, 23:48 | #2 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Из-за этого расхождения. Так как ваш диск больше 8 ГБ то можете взять максимально возможные значения число головок_на_цилиндр := 255 число секторов_на_дорожку := 63 LBA = (((Цилиндр * головок_на_цилиндр)+головка)*сектор ов_на_дорожку)+сектор - 1 ((0*255)+32)*63)+33-1=2048 2048 d= 800h
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 15.11.2015 в 23:54. |
|
16.11.2015, 00:21 | #3 |
Пользователь
Регистрация: 17.11.2013
Сообщений: 16
|
Вау!!!
Это просто счастье, когда начинают сходиться цифры!!! И начальный сектор и последний - всё сходится! Pavia, большое спасибо! Получается, что когда Paragon Hard Disk создавал Раздел, он предоставлял BIOS-у (или всё-таки контроллеру ж.д.?) информацию о том, где "хочет" начать и закончить Раздел в LBA? И уже контроллер заносил "координаты" на поверхность HDD в виде значений: "20 21 00" и "15 50 05"? |
16.11.2015, 00:33 | #4 |
Пользователь
Регистрация: 17.11.2013
Сообщений: 16
|
До этого на этом же самом ж.д. стоял DOS 6.22. Форматирование происходило одновременно с установкой ОС через дискеты.
После этого Paragon выдавал в свойствах этого ж.д. "правильную" геометрию: число_цилиндров := 4865 число_головок := 255 число_секторов_на_трек := 63. Почему тогда так, а сейчас по-другому? |
16.11.2015, 00:48 | #5 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
На месте разработчиков Paragon Hard Disk я бы запустил реальный режим и опросил бы BIOS. Но с другой стороны гораздо проще воспользоваться одной из двух обще принятых схем трансляции. Авось повезёт и отгадаем какую использует BIOS. :D
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 16.11.2015 в 00:52. |
|
16.11.2015, 00:54 | #6 |
Пользователь
Регистрация: 17.11.2013
Сообщений: 16
|
|
16.11.2015, 00:55 | #7 | |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
16.11.2015, 01:01 | #8 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
У программы которая разделы создаёт. В вашем случае Paragon. Она получает геометрию диска. А далее работает с ней.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
16.11.2015, 02:53 | #9 |
Пользователь
Регистрация: 17.11.2013
Сообщений: 16
|
У меня как-бы три варианта от Paragon.
Первая - установлена на ПК. Вторая и третья - это диски восстановления. Но вторая - это "WinPE", а третья - работает как-бы в среде DOS. Оба DVD были созданы с помощью установленной на ПК версии. Но "правильную" геометрию предоставляет только третий диск. Последний раз редактировалось fevgin; 16.11.2015 в 07:14. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Считать MBR c диска | reddiego | Общие вопросы C/C++ | 0 | 21.12.2011 16:24 |
mbr прелоадер asm | djetx | Фриланс | 7 | 25.10.2011 20:27 |
mbr, инструкции | frommars | Visual C++ | 4 | 12.08.2011 00:06 |
слетевший MBR | VVVadim | Операционные системы общие вопросы | 9 | 21.01.2011 12:05 |
Востановление загрузчика MBR server 2008 | shadrikoff | Windows | 2 | 03.08.2009 08:39 |