OSDev http://osdev.su/ |
|
OS Boot Tools http://osdev.su/viewtopic.php?f=4&t=485 |
Страница 3 из 36 |
Автор: | Yoda [ 30 янв 2012, 15:14 ] |
Заголовок сообщения: | Re: OS Boot Tools |
phantom-84 писал(а): Например, у меня есть jumbo (выбор любого раздела по введенному номеру при нажатом Alt'е, загрузка из дополнительных разделов внутри расширенного) и alter (выбор альтернативного загрузочного раздела при нажатом Alt'е). Есть идея объединить основные функции этих загрузчиков в одном. Можем обсудить. А что, - вполне можно. ) phantom-84 писал(а): Существуют BIOS'ы, которые не сбрасывают номер диска в 80h для второго и последующих жестких дисков в загрузочной цепочке, которые используют для флешки (трактуемой как USB-HDD) отличный от 80h номер, даже если она находится первой в загрузочной цепочке. Трах-тибидох! И что, будет 81h, например? Ты с таким сталкивался? phantom-84 писал(а): Что касается сброса номера диска в 0, то это возможно, когда у тебя явно задана опция USB-FDD У меня на работе машина, которая вообще не грузится с флешки, если задана опция USB-FDD. Но грузится с неё, если задана опция USB-HDD, причём BIOS проверяет содержимое загрузочного сектора и в зависимости от того, что он там нашёл, подставляет загрузочный диск либо 0, либо 80h. phantom-84 писал(а): Пропатчивания BS_DrvNum в ноль не замечал, может из-за того, что никакого негативного влияния на мою схему загрузки это не оказывает Три машины проверялись на пропатчивание и ещё два нетбука. ВСЕ патчят, если нашли загрузочный сектор FAT. Мало того, на одной машине я убил кучу времени, пытаясь понять, почему не грузится с флоппи-разметкой флешки в FAT32. Оказалось, что BIOS находит загрузочный сектор, но не распознаёт систему FAT32 и патчит её как FAT16, забивая нулём количество секторов на FAT. Как я ругался, когда нашёл суть проблемы!! Остальные проверенные BIOSы идентифицируют FAT32 и патчат правильный байт. И, соответственно, автодетектируют тип носителя Floppy/HDD. |
Автор: | phantom-84 [ 30 янв 2012, 15:58 ] |
Заголовок сообщения: | Re: OS Boot Tools |
Yoda писал(а): А что, - вполне можно. ) ОК. Создам отдельную тему.Цитата: Трах-тибидох! И что, будет 81h, например? Ты с таким сталкивался? Если бы не сталкивался, то не говорил бы. Еще не мешает проверить, как ведут себя различные BIOS'ы в режиме эмуляции HDD на CD/DVD, т.е. какой номер будет иметь реальный жесткий диск, если MBR-загрузчик на CD/DVD выполнит int 18h.Цитата: У меня на работе машина, которая вообще не грузится с флешки, если задана опция USB-FDD. Но грузится с неё, если задана опция USB-HDD, причём BIOS проверяет содержимое загрузочного сектора и в зависимости от того, что он там нашёл, подставляет загрузочный диск либо 0, либо 80h. Это зависит от содержимого флешки. Нормальные биосы при наличии опции USB-FDD обычно просто выставляют геометрию флоппика 2x80x18 (или используют дополнительные опции для выбора формата), не обращяясь к BPB. "Продвинутые" же пытаются вычитать из BPB значения Heads и SPT, чтобы выбрать нужный формат. И как они поступают, если флешка не содержит BPB (или не содержит нужных значений в указанных полях BPB), это их личное дело, наверно могут и не выполнять загрузку или пытаться трактовать флешку, как USB-HDD и искать параметры геометрии в другом месте или даже использовать стандартные параметры для LBA-трансляции.Цитата: Три машины проверялись на пропатчивание и ещё два нетбука. ВСЕ патчят, если нашли загрузочный сектор FAT. Мало того, на одной машине я убил кучу времени, пытаясь понять, почему не грузится с флоппи-разметкой флешки в FAT32. Оказалось, что BIOS находит загрузочный сектор, но не распознаёт систему FAT32 и патчит её как FAT16, забивая нулём количество секторов на FAT. Как я ругался, когда нашёл суть проблемы!! Стало интересно, проверю. Видимо я с этим не сталкивался, потому что всегда размечаю флешки, как жесткие диски (с MBR).
Остальные проверенные BIOSы идентифицируют FAT32 и патчат правильный байт. И, соответственно, автодетектируют тип носителя Floppy/HDD. |
Автор: | Yoda [ 30 янв 2012, 18:41 ] |
Заголовок сообщения: | Re: OS Boot Tools |
Чёрт, наступил на грабли в Боксе. INT 13h функция 2 (чтение диска) нагло виснет при чтении секторов с большими номерами головок. Вот я с ним тоже уже намаялся. :( Надо багтрек запостить, что ли... phantom-84 писал(а): Еще не мешает проверить, как ведут себя различные BIOS'ы в режиме эмуляции HDD на CD/DVD, т.е. какой номер будет иметь реальный жесткий диск, если MBR-загрузчик на CD/DVD выполнит int 18h. Да не, эмуляция HDD на самом деле неинтересна. Тем более, что по отзывам многие BIOSы её не поддерживают или работают некорректно. Интересен только режим No-emulation, который вроде бы работает везде. |
Автор: | phantom-84 [ 30 янв 2012, 20:17 ] |
Заголовок сообщения: | Re: OS Boot Tools |
No emulation малоинтересен, потому что в этом случае BIOS не использует номер 80h для CD/DVD. А вот в режиме эмуляции харда для него как раз-таки используется номер 80h, а номера реальных жестких дисков смещаются. Вопрос в том, будет ли int 18h, выполняемый в коде на эмулируемом харде, сбрасывать номер диска или реальный жесткий будет иметь номер 81h. Вполне возможно, что это тоже вариативно. |
Автор: | SII [ 31 янв 2012, 03:50 ] |
Заголовок сообщения: | Re: OS Boot Tools |
Народ, вы б всё ж посматривали в сторону UEFI. Стандарт, конечно, тот ещё, но, во-первых, он стандарт, а во-вторых, похоже, поддерживается уже всеми современными матерями. Так что, ИМХО, ковырять его как бы уже пора... |
Автор: | pavia [ 31 янв 2012, 05:23 ] |
Заголовок сообщения: | Re: OS Boot Tools |
SII, UEFI использует раздел FAT(не помню точно размерность) для загрузки, грузит файл. Так что ничего интересного, всё уже сделано за нас. Шучу конечно, разбираться надо. На самом деле в виду того, что биосы привередливы к FAT сделать небольшой раздельчик FAT16 грузить оттуда файл. А тот уже пусть разбирает структуры, как надо. То что все материи поддерживают UEFI вопрос спорный. В любом случае для тестирования можно DUET записать на диск. И будет вам UEFI. |
Автор: | phantom-84 [ 31 янв 2012, 05:32 ] |
Заголовок сообщения: | Re: OS Boot Tools |
Как бы посмотрели. Кстати там как раз используется FAT, а гибридный MBR-загрузчик с поддержкой GPT в моих ближайших планах (так может и до EFI доберусь, хотя можно было начинать и с классической схемы разметки диска). Однако EFI - это все-таки пока не полноценная замена, а альтернатива. В плане оборудования и смежных технологий у меня по-любому отставание, так что поддержка EFI не на первом месте. Edited: pavia, там вроде бы и FAT32 поддерживается, если тебе нужен раздел покрупнее. Хотя часто и FAT16 (причем с маленьким размером кластера) хватает, т.к. обычно на этом разделе хранятся только основные системные файлы, необходимые для загрузки. |
Автор: | Yoda [ 31 янв 2012, 18:11 ] |
Заголовок сообщения: | Re: OS Boot Tools |
SII писал(а): Народ, вы б всё ж посматривали в сторону UEFI. В каком смысле посматривать? Как я понимаю, к начальной загрузке с винта это имеет весьма малое отношение, – UEFI должно делать всё само. Т.е. это скорей требования к загружаемой системе, а не к начальному загрузчику. Хотя, надо будет зарегистрироваться, скачать последние спецификации UEFI, может, там что дельное есть. SII писал(а): а во-вторых, похоже, поддерживается уже всеми современными матерями. Практика показывает, что плохо он поддерживается и уж никак не всеми матерями. Надо ещё попотеть, разыскивая такую мать. http://www.thg.ru/mainboard/uefi/index.html |
Автор: | SII [ 31 янв 2012, 18:44 ] |
Заголовок сообщения: | Re: OS Boot Tools |
Этой статье больше 2 лет, и она, мягко говоря, устарела. |
Автор: | pavia [ 31 янв 2012, 18:45 ] |
Заголовок сообщения: | Re: OS Boot Tools |
SII, сегодня на работе проверил. Из 2 новых копов UEFI поддерживает только 1. |
Страница 3 из 36 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |