OSDev

для всех
Текущее время: 29 апр 2024, 06:09

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




Начать новую тему Ответить на тему  [ Сообщений: 353 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 31 янв 2012, 19:36 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Подскажите, а как это проверяется - есть поддержка UEFI или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 31 янв 2012, 19:55 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Я зашёл в BIOS Setup(кнопка Del) и искал там строчку EFI или UEFI. Нашёл у одного из биосов выбор загрузки через HDD, CD, USB, UEFI.

5 лет наз UEFI был в качестве DUET. По факту мини ОС. Которая ставилась и грузилась с флеши.
3 года назад появились первые материнки с UEFI, требовалась перепрошивка BIOS на UEFI.
Сейчас уже встроенная.
С аппаратной стороны материнки для поддержки UEFI ничего не требуется кроме большой флешки с кодом биоса. А программно собственно наличие UEFI. И ещё биосы плат расширения должны поддерживать образы для EFI/UEFI.
ИХМО биосо писателям UEFI еще несколько лет надо дорабатывать, чтобы довести до кондиции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 12 фев 2012, 17:17 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Вышла версия 1.2.

В новой версии:
  • Добавлен загрузочный код расширенного раздела – EBR;
  • Все загрузочные секторы:
    • Исправлена работа с 256 головками в режиме CHS;
    • При ошибках загрузки вызывается Int 18h, в соответствии с BBS v1.01 1996.
  • MBR:
    • Добавлена поддержка загрузки с расширенных разделов.
  • FAT12/16:
    • Исправлено детектирование LBA.
  • boot.exe:
    • Исправлена работа с 256 головками в режиме CHS;
    • Добавлена поддержка расширенных разделов;
    • Добавлена опция выбора загрузочного раздела (включая логические диски расширенного раздела).

Как обычно, описание здесь.
Архив скачиваем отсюда.

Эта версия претендует на стабильную. Похоже, всё вычищено, оптимизированно и многократно проверено.

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

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 12 фев 2012, 18:11 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
У меня в случае отсутствия активного раздела для загрузки вызывается int 19h - загрузка с другого носителя. В остальных ошибках уже int 18h
(Floppy не поддерживаю) Но для него имеет смысл в случае ошибки вызывать int 19h.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 12 фев 2012, 21:11 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
Я бы рад, да и предыдущие версии вызывали Int19. Но спецификации Intel/Phoenix/Compaq BIOS Boot Specs настоятельно требуют вызывать Int18.
По моим тестам большинство систем ведут одинаково в том и другом случае. Одна система по Int18 вместо того, чтобы попытаться грузиться с менее приоритетных устройств, пытается грузиться с того же самого носителя, а-ля Int19. Так что пока не вижу потенциальных подводных камней.

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

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 13 фев 2012, 20:14 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda, не понятно, как работает EBR - только в связке с MBR или он является относительно независимым загрузчиком, а также какую функцию он выполняет.

Цитата:
При ошибках загрузки вызывается Int 18h, в соответствии с BBS v1.01 1996.
Вообще-то в случае появления ошибок от загрузчиков ожидают вполне определенного поведения. Со времен DOS MBR-загрузчики уходили в бесконечный цикл, из которого их можно было вывести посредством Ctrl-Alt-Del. Первичные загрузчики ждали нажатия определенной/произвольной клавиши (опять дается шанс на выполнение перезагрузки посредством Ctrl-Alt-Del) и вызывали int 19h (независимо от того, является ли устройство сменным или нет). И все это вполне логично, скажу я вам. Зачем выдумывать что-то новое, противоречащее ожиданиям пользователей и здравому смыслу? Кстати, в моем первичном загрузчике для CD/DVD предлагается выбор между продолжением загрузки (int 18h) и повторной загрузкой (int 19h).

Цитата:
Добавлена поддержка загрузки с расширенных разделов.
Чтобы не разбирать на запчасти и оценить качество такой поддержки, нужна дополнительная информация.

pavia писал(а):
У меня в случае отсутствия активного раздела для загрузки вызывается int 19h - загрузка с другого носителя. В остальных ошибках уже int 18h
Т.е. у тебя свой особый путь ))) Вообще-то стандартным поведением MBR-загрузчиков в случае отсутствия активного раздела является вызов int 18h. Для справки, int 19h - загрузка с первого устройства в загрузочной цепочке. Насчет ошибок см. выше.

Цитата:
(Floppy не поддерживаю) Но для него имеет смысл в случае ошибки вызывать int 19h.
Тут все правильно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 14 фев 2012, 00:18 
Аватара пользователя

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

EBR работает в связке с MBR. Порознь сделать сложно и возрастает вероятность неприятных ошибок. Код EBR выполняет функции, сходные с MBR (загрузка boot-сектора активного раздела), но с поправкой на замороченную структуру расширенного раздела. Необходимые для своей работы начальные данные он получает от MBR.

phantom-84 писал(а):
Вообще-то в случае появления ошибок от загрузчиков ожидают вполне определенного поведения. Со времен DOS MBR-загрузчики уходили в бесконечный цикл, из которого их можно было вывести посредством Ctrl-Alt-Del. Первичные загрузчики ждали нажатия определенной/произвольной клавиши (опять дается шанс на выполнение перезагрузки посредством Ctrl-Alt-Del) и вызывали int 19h (независимо от того, является ли устройство сменным или нет). И все это вполне логично, скажу я вам. Зачем выдумывать что-то новое, противоречащее ожиданиям пользователей и здравому смыслу?

Противоречия ожиданиям пользователей и здравому смыслу я пока не вижу. Во времена DOS много чего было по-другому, это не причина оставаться на месте. Спецификации BBS 96 года как раз, на мой взгляд, разумная попытка навести порядок. Int 18 продолжает загрузку по цепочке и ничего неожиданного в этом нет. Конечно, при ошибках загрузки ожидается нажатие клавиши. Выбор в данном случае из двух альтернатив - Ctrl+Alt+Del или Any key. Первый случай как раз и даст перезагрузку с начала цепочки.

phantom-84 писал(а):
Цитата:
Добавлена поддержка загрузки с расширенных разделов.

Чтобы не разбирать на запчасти и оценить качество такой поддержки, нужна дополнительная информация.

Какая именно?

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

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 14 фев 2012, 11:22 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Yoda писал(а):
EBR работает в связке с MBR. Порознь сделать сложно и возрастает вероятность неприятных ошибок. Код EBR выполняет функции, сходные с MBR (загрузка boot-сектора активного раздела), но с поправкой на замороченную структуру расширенного раздела. Необходимые для своей работы начальные данные он получает от MBR.
Меня как раз и интересовало, как EBR реагирует на присутствие стороннего MBR-загрузчика (сообщает ли об ошибке, если используется сторонний MBR-загрузчик, способный передать некорректные "начальные данные") и наоборот. Тут опять всплывает тема обнаружения, которую мы с тобой уже затрагивали. У меня явная передача управления коду EBR, когда расширенный раздел помечен как основной (активный) или как альтернативный источник загрузки, является ошибочной ситуацией. Передача управления "стороннему"/отсутствующему коду EBR также является ошибочной ситуацией. Т.е. при дефолтной загрузке код EBR может получить управление только в случае отсутствия активного раздела в таблице, а при альтернативной загрузке - только в случае явного указания в качестве загрузочного раздела дополнительного раздела внутри расширенного (5-255), но не напрямую расширенного раздела (1-4). В обоих случаях проверяется присутствие "родного" EBR. Кстати, представь себе ситуацию перезаписи твоего MBR-загрузчика другим, способным передать управление EBR-загрузчику (с моей точки зрения в общем это очень плохая "способность", но к сожалению такое случается). В этой ситуации корректность никаких "начальных данных" не гарантируется - эту ошибку нужно отлавливать. Есть два элегантных способа это сделать:
1) в начале EBR (я чаще говорю EPR) разместить заглушку для отлавливания ошибки, а управление передавать в "середину" EBR;
2) использовать похожий или полностью аналогичный моему способ идентификации (проверки корректности) передаваемых данных - можем даже выйти на единый стандарт и сделать наши MBR- и EBR-загрузчики взаимозаменяемыми.

Цитата:
Противоречия ожиданиям пользователей и здравому смыслу я пока не вижу. Во времена DOS много чего было по-другому, это не причина оставаться на месте. Спецификации BBS 96 года как раз, на мой взгляд, разумная попытка навести порядок. Int 18 продолжает загрузку по цепочке и ничего неожиданного в этом нет. Конечно, при ошибках загрузки ожидается нажатие клавиши. Выбор в данном случае из двух альтернатив - Ctrl+Alt+Del или Any key. Первый случай как раз и даст перезагрузку с начала цепочки.
Я сказал не "во времена DOS", а "со времен DOS". Зачем продолжать загрузку по цепочке, если произошла ошибка загрузки с ожидаемого загрузочного раздела/устройства, тем более не предупредив об этом пользователя? Чтобы он увидел вместо повторной загрузки загрузку того, что ему совершенно не было нужно, плюнул и нажал Reset? Да, у Ctrl-Alt-Del и int 18h более широкая вариативность выполнения дальнейших действий в целом. Но зато у Ctrl-Alt-Del и int 19h более широкая вариативность выполнения ожидаемых дальнейших действий. Мы все привыкли видеть "Press Ctrl-Alt-Del to restart..." (MBR-загрузчики) и "Press any key to reboot..." (первичные загрузчики). Но как ты назовешь действие по продолжению загрузки, чтобы тебя поняли пользователи, и как им объяснишь, что альтернатива в виде перезагрузки все-таки возможна, это еще тот вопрос!

Цитата:
Какая именно?
Подробности реализации, естественно. Также интересно, поддерживаются ли оба типа расширенных разделов DOS (5, 0Fh) или нет. Как ты реагируешь на возможное перемешивание вложенных расширенных разделов разных типов? Корректируешь ли BR дополнительного раздела (логического диска) внутри расширенного раздела типа 5? Если да, то для каких ФС? Как ты определяешь загрузочный дополнительный раздел внутри расширенного?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 14 фев 2012, 13:07 
Аватара пользователя

Зарегистрирован: 16 май 2007, 23:46
Сообщения: 1126
Цитата:
первичные загрузчики). Но как ты назовешь действие по продолжению загрузки, чтобы тебя поняли пользователи, и как им объяснишь, что альтернатива в виде перезагрузки все-таки возможна, это еще тот вопрос!

Не вижу нужды в том чтобы заставлять думать пользователя. Тем более если за него может подумать система. Не работает загрузка с текущего диска, так надо попробовать с другого и без вопросов. В конце концов перебрав всё биос напишет "No boot device available"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 14 фев 2012, 15:41 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
Т.е. по-твоему пользователю пофиг, что загрузится, лишь бы загрузилось хоть что-нибудь?


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

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


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

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


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

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