OSDev

для всех
Текущее время: 18 окт 2018, 00:37

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




Начать новую тему Ответить на тему  [ Сообщений: 353 ]  На страницу Пред.  1 ... 28, 29, 30, 31, 32, 33, 34 ... 36  След.
Автор Сообщение
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 24 сен 2013, 13:52 
Аватара пользователя

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

Древние ноутбуки иногда экстремально глючны. Я уже говорил, что есть ноутбук (RoverBook, не помню точно модель, дома записана), который (ноги за это оторвать!) при ЛЮБОМ чтении через БИОС 63-го сектора диска (номер сектора захардкоден в БИОС) подменяет байт номера диска на 80h. Мало того, БИОС самостоятельно парсит таблицу разделов и грузит загрузочный код раздела минуя MBR. В дополнение к этому, ноутбук просто отказывается грузиться с флешки, если она не разбита на разделы (вероятно как следствие предыдущего бага). Мне удалось его победить в плане начальной загрузки, но всё равно ни один вторичный загрузчик или ОС на нём с флешки не грузится и не работает.

phantom-84 писал(а):
Интересно, это виснет ntldr или первичный загрузчик. Нужно будет подменить сконвертированный ntldr какой-нибудь заглушкой и посметреть, запустится ли она.

Это очень просто проверить - переименуй kernel.sys из комплекта в ntldr.sys и кинь на диск.
Кстати, очень желательно задавать расширение файлу, т.к. файловая система (точнее, совместная работа ОС и FATxx) имеют очень неприятный глюк. Если ты запишешь на диск файл "ntldr" маленькими буквами, соответствующее ему короткое имя будет отнюдь не NTLDR, как следовало бы ожидать, а NTLDR~1. Поэтому при пофайловом копировании Windows с диска на диск она обычно не грузится даже с родным загрузчиком. Или добавь расширение или переименуй файл во все заглавные буквы. Лучше расширение.

phantom-84 писал(а):
а можно как-нибудь указать, какой вариант FAT32-загрузчика нужно ставить?

Проще это делать утилитой, но в принципе, да, надо бы описать этот момент в справке.

_________________
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
СообщениеДобавлено: 24 сен 2013, 14:40 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1197
Yoda писал(а):
Древние ноутбуки иногда экстремально глючны. Я уже говорил, что есть ноутбук (RoverBook, не помню точно модель, дома записана), который (ноги за это оторвать!) при ЛЮБОМ чтении через БИОС 63-го сектора диска (номер сектора захардкоден в БИОС) подменяет байт номера диска на 80h. Мало того, БИОС самостоятельно парсит таблицу разделов и грузит загрузочный код раздела минуя MBR. В дополнение к этому, ноутбук просто отказывается грузиться с флешки, если она не разбита на разделы (вероятно как следствие предыдущего бага). Мне удалось его победить в плане начальной загрузки, но всё равно ни один вторичный загрузчик или ОС на нём с флешки не грузится и не работает.
О, это вроде бы как раз RoverBook был. Т.е. нужно, чтобы раздел начинался с 63-го сектора, чтобы номер диска был размещен на своем месте? У меня на флешке раздел начинается с 32-го сектора, но резервная область FAT32 была достаточно большой, т.е. в 63-ем секторе нет полезных данных, которые могли бы быть прочитаны и испорчены. Я сейчас переформатировал раздел в FAT16, мне 7-ка сделала 4 резервных сектора, т.е. получается, что 63-ий сектор находится в первой копии FAT, что может приводить к ошибке, если она заложена в данном ноуте. Проверю, отпишусь. Также проверю, игнорируется ли код MBR или нет. Кстати насчет MBR. После форматирования я обработал флешку след. командой
Код:
bootsect /nt52 f: /mbr

Последний параметр - это указание на запись в MBR родного для экспишки кода. При загрузке этот код стал выдавать сообщение об ошибке. После установки моего MBR-загрузчика проблема исчезла. Вывод: загрузчики от M$ - полное...

Цитата:
Это очень просто проверить - переименуй kernel.sys из комплекта в ntldr.sys и кинь на диск.
Я всегда сохраняю имя kernel.sys, поэтому мне и переименовывать не нужно. Попробую.

Цитата:
Кстати, очень желательно задавать расширение файлу, т.к. файловая система (точнее, совместная работа ОС и FATxx) имеют очень неприятный глюк. Если ты запишешь на диск файл "ntldr" маленькими буквами, соответствующее ему короткое имя будет отнюдь не NTLDR, как следовало бы ожидать, а NTLDR~1. Поэтому при пофайловом копировании Windows с диска на диск она обычно не грузится даже с родным загрузчиком. Или добавь расширение или переименуй файл во все заглавные буквы. Лучше расширение.
О, интересная инфа! Но причина "ненахождения" ntldr'а оригинальным первичным загрузчиком явно была не в этом, т.к. эта ошибка не проявлялась на др. компах (ранее я сделал предположение о причине возникновения той ошибки, осталось проверить, верно оно или нет).

Цитата:
Проще это делать утилитой, но в принципе, да, надо бы описать этот момент в справке.
И... как это сделать? Или мне ждать обновления справки? :D


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

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

Бесполезно, т.к. он не знает FAT32, следовательно патчит не тот байт. Наоборот, лучше если раздел начинается с большего сектора (с меньшего - соответственно может запатчиться FAT). С 64-го сектора вполне нормально.

phantom-84 писал(а):
И... как это сделать? Или мне ждать обновления справки? :D

Довольно просто.
1. В большинстве ситуаций ставится двухсекторный код. Второй сектор пишется в любой свободный сектор из группы зарезервированных секторов. Свободный - значит не FSInfo и не резервная копия.
2. Если резервных секторов не хватает (что очень маловероятно) и верхняя граница загрузочного раздела лежит за пределами 8Гб (8389656576 байт, 1024*254*63 сектора), то записываем односекторный код с LBA.
3. В остальных ситуациях записываем код CHS.

UPD
phantom-84 писал(а):
Вывод: загрузчики от M$ - полное...

Они просто не стали уделять столько внимания и сил начальной загрузке, сколько мы :).

_________________
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
СообщениеДобавлено: 24 сен 2013, 16:29 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1197
Yoda писал(а):
Довольно просто.
1. В большинстве ситуаций ставится двухсекторный код. Второй сектор пишется в любой свободный сектор из группы зарезервированных секторов. Свободный - значит не FSInfo и не резервная копия.
2. Если резервных секторов не хватает (что очень маловероятно) и верхняя граница загрузочного раздела лежит за пределами 8Гб (8389656576 байт, 1024*254*63 сектора), то записываем односекторный код с LBA.
3. В остальных ситуациях записываем код CHS.
Т.е. пользователю нельзя выбрать нужный вариант явно. Утилита сама определяет, что ставить, по указанному алгоритму.

Цитата:
Они просто не стали уделять столько внимания и сил начальной загрузке, сколько мы :).
Они все силы направили на то, чтобы весь их софт не стал работать так, как работают их начальные загрузчики :)


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

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 945
Откуда: Дагоба
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
СообщениеДобавлено: 25 сен 2013, 15:12 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 945
Откуда: Дагоба
Найдена и устранена серьёзная ошибка в поддержке exFAT. Если кто планирует пользоваться этой ФС, настоятельно рекомендую перезагрузить архив. Номер версии из-за одного багфикса я менять не стал.

_________________
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
СообщениеДобавлено: 25 сен 2013, 20:02 

Зарегистрирован: 18 окт 2012, 21:03
Сообщения: 53
Yoda писал(а):
Мне удалось его победить в плане начальной загрузки, но всё равно ни один вторичный загрузчик или ОС на нём с флешки не грузится и не работает.

Привет, рад что работа продолжается ))
Инфа что не грузятся ОС не совсем верная. Мне удавалось загрузить на этом монстре глюков используя твой загрузчик и по моему syslinux-> FreeDOS на FAT32 с оффсетом больше 63 сектора (я использовал значения 96,128, и 8192 последний почему то на многих флешках отформатированных производителем используется именно 8192) и разбивка уже не помню толи гибрид толи пара первичных. Точно помню что при этом диск флехи USB отображался как флопик А:

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

Да по глюкам похожим были замечены и только что выпускаемые новые материнки но не в таком запущеном виде. Беда у них одна слишком авто-умные BIOS вместо использования стандартов.
Серега к стати на нормальном тот что HP ноуте я тоже нашел любопытнейший глюк. У него родной хард по видимому должен был быть разбит на сервисный раздел 7гигов и остальное пространство уже пользовательская дата. Так вот сам хард несколько лет назад на физическом уровне запоролся, может во время записи что то случилось не знаю, но вылечить вышло Викторией кучей циклов стирания на низком уровне, слой более менее пришел в нормальную намагниченность. Так суть близка )), и когда разделами занялся не стал возится с его сервисным и восстанавливать, документы к тому времени давно все сохранил с него и потому просто разметил без сервисного раздела все пространство харда. Теперь суть, эта ноута как с синдромом отрубленной руки все равно помнит где то в BIOS что у него есть раздел 7 гигов этого не кто не видет кроме Paragon диск утилит а он на это ругается на чем свет стоит и отвечает что нет такого харда с разделом в 7 гигов а биос упрямо толдычет есть раздел на 0 устройстве, короче беда с этими "умными" программистами из больших контор ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OS Boot Tools
СообщениеДобавлено: 26 сен 2013, 10:54 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1197
В общем я поработал с упомянутым RoverBook'ом. MBR-загрузчик отрабатывает, поле FATSize32 не бьется. Оригинальный загрузчик FAT стал выводить такое же сообщение, что и оригинальный загрузчик FAT32 до форматирования флешки в FAT16 (на др. компах все OK). После обработки boot'ом сконвертированный ntldr и сама WinPE успешно запустились, чего не случилось с FAT32. Впрочем скорее всего FAT32-загрузчик Ёды в этом не был виноват, т.к. заглушка kernel.sys на другой флешке с FAT32 была успешно запущена этим загрузчиком. С другой стороны странно, почему сконвертированный ntldr успешно запустился на FAT16, но завис на FAT32, если проблема все-таки в нем.


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

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1197
В адаптационном коде для grub 2.00 (я как и прежде использую бинарники из Ubuntu, а именно 2.00-7ubuntu11 из дистра 12.10 и 2.00-19ubuntu1 из дистра 13.10 beta) есть ошибка, а именно не происходит конвертирование "номера раздела" 0 в 0FFh. Ошибка внешне не проявляется, если убрать проверку условия в след. фрагменте кода:
Код:
0000:0620  84 F6  test dh,dh
0000:0622  74 02  jz short loc_2
0000:0624  FE CE  dec dh
0000:0626  loc_2:


P.S. Хотел дать одному товарищу с буржуйского форума, у которого не получается собрать ISO-образ с Grub'ом, ссылку на OS Boot Tools, но прежде решил попробовать собрать образ сам, а тут такое... В моем адаптационном коде используется безусловное конвертирование значения регистра dh - проблем не наблюдается.


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

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 945
Откуда: Дагоба
Спасибо. На днях посмотрю.

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

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 353 ]  На страницу Пред.  1 ... 28, 29, 30, 31, 32, 33, 34 ... 36  След.

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


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

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


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

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