OSDev

для всех
Текущее время: 27 апр 2024, 11:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 10 мар 2012, 05:22 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
28 бита это 268 435 455*512=137 438 952 960 байт сейчас винты на 500 000 000 000 считаются стандартными.
в магазин за 2Тб я не пойду, мне ни к чему


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 10 мар 2012, 17:08 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda, меня давно интересовал вопрос, можно ли использовать двойное слово по смещению 20h в NTFS Boot Rec. для хранения старших 32 бит номера начального сектора раздела. Просто, если этого не делать, то тебе по-любому будет нужен GPT(гибридный MBR)-загрузчик (если конечно не "вшивать" номер начального сектора раздела прямо в MBR для последующей его передачи загрузчику раздела, что будет выглядеть весьма криво, прям как в GRUB'е).

P.S. Ну что ответы на буржуйском форуме вселили в тебя уверенность использовать 64-разрядную адресацию или по-прежнему сильно сомневаешься, делать это или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 10 мар 2012, 19:16 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
phantom-84 писал(а):
Yoda, меня давно интересовал вопрос, можно ли использовать двойное слово по смещению 20h в NTFS Boot Rec. для хранения старших 32 бит номера начального сектора раздела.

На этот вопрос могут ответить только Билл Гейтс и его приспешники :)
Но не станут отвечать, т.к. им Билл Гейтс запретил :)

phantom-84 писал(а):
Просто, если этого не делать, то тебе по-любому будет нужен GPT(гибридный MBR)-загрузчик

Дык, он уже сделан :)

phantom-84 писал(а):
P.S. Ну что ответы на буржуйском форуме вселили в тебя уверенность использовать 64-разрядную адресацию или по-прежнему сильно сомневаешься, делать это или нет?

Уверенности быть не может, пока на практике не попробуешь. Это как 2*2=4, все говорят, что так должно быть, но пока сам не проверишь, гложет червяк сомнения. Но для себя я уже так и решил, как там советуют. Сделаю, если не заработает - вините BIOS, у меня всё в соответствии со спецификациями.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 10 мар 2012, 22:15 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda писал(а):
На этот вопрос могут ответить только Билл Гейтс и его приспешники :)
Но не станут отвечать, т.к. им Билл Гейтс запретил :)
Опять-таки было бы интересно посмотреть на значение этого поля для раздела, лежащего выше отметки 2 тб.

Цитата:
Дык, он уже сделан :)
А что не выкладываешь? Поддерживается интерфейс, описанный в EDD Spec.? Определяешь загрузочный раздел по флагу или по гуиду? Используешь резервную таблицу разделов? ...Я тоже планирую написать.

Цитата:
Сделаю, если не заработает - вините BIOS, у меня всё в соответствии со спецификациями.
...О чем я и говорил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 10:17 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
phantom-84 писал(а):
Опять-таки было бы интересно посмотреть на значение этого поля для раздела, лежащего выше отметки 2 тб.

Я уверен, там будет 0. Во-первых, ни для чего, кроме начальной загрузки это поле не нужно, а даже родной бут не поддерживает загрузку с разделов за пределами 2Тб. Во-вторых, там полное количество секторов FAT-32. Т.е. конфликт с другой ФС и с возможным детектированием типа ФС как NTFS.

phantom-84 писал(а):
А что не выкладываешь? Поддерживается интерфейс, описанный в EDD Spec.? Определяешь загрузочный раздел по флагу или по гуиду? Используешь резервную таблицу разделов? ...Я тоже планирую написать.

Я в своей теме отвечу. Вроде там обсуждать логичней.

phantom-84 писал(а):
Цитата:
Сделаю, если не заработает - вините BIOS, у меня всё в соответствии со спецификациями.
...О чем я и говорил.

Но червяк сомнения всё равно будет глодать – может где допустил простой ляп, а в реальных условиях не обкатал.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 11:47 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda писал(а):
Я уверен, там будет 0. Во-первых, ни для чего, кроме начальной загрузки это поле не нужно, а даже родной бут не поддерживает загрузку с разделов за пределами 2Тб. Во-вторых, там полное количество секторов FAT-32. Т.е. конфликт с другой ФС и с возможным детектированием типа ФС как NTFS.
Да, я проверил, и экспишка, и семерка ругаются при обращении к NTFS-разделу с ненулевым значением этого поля. Т.е. это поле все-таки используется для детекта. Что касается "родного бута", то не следует забывать, что для другой ОС/ФС первичные загрузчики разделов для MBR-разметки и GPT-разметки могут отличаться. К примеру в своем загрузчике для NTFS ты можешь использовать 32-разрядную адресацию, оговорившись, что этот загрузчик предназначен для MBR-разметки. Хотя лично мне кажется, что лучше сразу делать универсальный загрузчик. Если обнаружены параметры от GPT-загрузчика, использовать 64-разрядный номер начального сектора раздела, иначе - 32-разрядный (который в случае чего можно взять и непосредственно из Boot Rec.).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 11:58 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Я именно универсальный и делаю. Так проще. Спеки напишу сразу по публикации.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 13:06 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda писал(а):
Я именно универсальный и делаю. Так проще. Спеки напишу сразу по публикации.
Я писал(а):
иначе - 32-разрядный (который в случае чего можно взять и непосредственно из Boot Rec.).
Кстати, мне сейчас пришла идея даже в этом случае не явно обнулять старшие 32 бита, а добавить к Boot Rec. дополнительное поле для хранения старших 32 бит (изначально обнуленное) - будет еще универсальнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 14:03 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Может быть и ничего не получится, но для проверки можно попробовать сделать виртуальный диск в каком-нибудь эмуляторе PC (Bochs, VMware и т.п.). А чтобы образ диска уместился на небольшом физическом диске, нужно использовать атрибут "сжатия" на ФС, а также поблочный рост файла (есть в VMware).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: INT 13h, AH=42h - extended read sectors
СообщениеДобавлено: 11 мар 2012, 14:12 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
NTFS поддерживает разрежённые (sparse) файлы, в них пустые сектора (заполненные нулями), не хранятся физически на диске. Т.о. в NTFS формально можно сделать пустой или почти пустой файл любого размера. Надо будет проверить.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB