Page 5 of 6

Posted: Fri Jun 09, 2006 5:39 pm
by vectoroc
Попробовал с параметром... Винловс выгрузился а вот колибри не згрузился.

Posted: Fri Jun 09, 2006 7:31 pm
by vectoroc
Теперь и без параметров выгружает неплохо винду...(выгружает почти мгновенно с временным повышение громкости,потом черный экран и монитор пишет что режим не поддерживается,на клавиши не реагирует)
Я скачал только новый nt2klbr. mtldr надо было качать(со старым пытался)?

Posted: Fri Jun 09, 2006 7:36 pm
by diamond
Нет, mtldr для работы nt2klbr не нужен.
То есть как это режим не поддерживается? С этого места, пожалуйста, поподробней.

Posted: Sat Jun 10, 2006 10:46 pm
by vectoroc
Имхо некоректно винда выгружается (нет соответствующего окошка с завершением сеанса..)
После такой выгрузки (а может её и не было?..) на моём туповатом жк Prestigio P175M выводится сообщение режим не поддерживается и комп реагирует только на "жесткий" ресет... Не знаю чего ещё подробней (или в каком направлении,вряд ли тебя мой монитор интерисует:) )

Posted: Mon Jun 12, 2006 4:38 am
by Quantum
2 diamond:
Скачал mtldr и имидж 0530, поместил всё в корень, подправил boot.ini, перезапустился:
выскочило сообщение, что загрузчик не поддерживает FAT12/FAT16, хотя у меня, естественно, NTFS. Обидно :(

Кстати, XP у меня стоит в multi(0)disk(0)rdisk(0)partition(2). Может, поэтому загрузчик не находит имидж?

Posted: Mon Jun 12, 2006 2:47 pm
by halyavin
Quantum
Ты скопировал файлы и образ в корень диска С?

Posted: Mon Jun 12, 2006 3:39 pm
by diamond
Victor
Винда выгружается корректно, а окошко с завершением сеанса и не должно появляться (скоростная выгрузка!). А когда выдаётся сообщение о неподдерживаемом режиме? На чёрном фоне? Или это сообщение синего экрана загрузки? nt2klbr совершенно точно такого не пишет.
Quantum
mtldr должен быть в корне диска C:. Образ должен быть в корне первого логического диска на первом физическом диске (в подавляющем большинстве случаев это C:). Можно поместить образ где угодно и использовать mtldr_install. Где стоит XP - загрузчику фиолетово.

Posted: Mon Jun 12, 2006 4:14 pm
by Quantum
2 halyavin:
Ты скопировал файлы и образ в корень диска С?
Сделал всё как в install.txt написано (см. выше).

2 diamond:
mtldr должен быть в корне диска C:
Он там и есть.
Образ должен быть в корне первого логического диска на первом физическом диске (в подавляющем большинстве случаев это C:)
Так и есть. C - первый логический диск на первом физическом носителе. Образ поместил в корень, вместе с mtldr. Система NTFS. Единственное отличие от работающей конфигурации, которое я смог на первый взгляд уловить, заключается в том, что путь к XP (которая тоже на C установлена - это вообще единственный мой физический диск) указывает на 2й раздел, а не на первый, как обычно.

Под образом вообще подразумевается тот самый MENUET.IMG, который в архиве дистра Марата, да?

Posted: Mon Jun 12, 2006 4:16 pm
by vectoroc
diamond
Это сообщение выдаёт монитор .
При первом запуске nt2klbr появилось окно завершения состояния и после пошла загрузка Колибри. С тех пор такого я больше не видел...

Posted: Mon Jun 12, 2006 4:31 pm
by Quantum
Сообщение вылетает тут:

Code: Select all

; determine file system
	cmp	dword [536h], 'FAT1'
	jz	fat1x
У меня на физическом носителе 3 раздела:
1 - FAT16 (какая-то служебная инфа - пара мегабайт)
2 - NTFS (тут XP живёт)
3 - FAT32 (зарезервировано для чего-то около 3Гб)

Судя по исходнику загрузчика, он читает только первый раздел, натыкается там на FAT16 и всё. Почему бы не продолжить чтение разделов? Машина у меня достаточно стандартная - всё OEM, так что не у меня одного такая бяка может получиться.

Posted: Mon Jun 12, 2006 5:18 pm
by diamond
По поводу исходника - истинная правда.
По принципу "если на первом разделе неподдерживаемая файловая система - читаем следующий раздел и так до упора"? Это несложно, но стоит ли? Тогда нужно заставлять пользователя думать, на какой именно диск копировать образ. (В текущей ситуации всё просто - в C:\) В принципе можно добавить поддержку FAT16 (было бы где тестировать :!:), хотя в данном случае на двух мегабайтах особо не разгуляешься... А вообще рекомендую mtldr_install (вроде ссылка где-то была, но на всякий случай повторяю: http://diamondz.land.ru/mtldr_install.exe , http://diamondz.land.ru/mtldr_inst_src.rar), он позволяет устанавливать образ где угодно.

Posted: Mon Jun 12, 2006 6:35 pm
by Quantum
2 diamond:
У меня только один логический диск - C. На нём образ Колибри. Ни на какой другой диск я его поместить не могу, т.к. он один! Просто соответствует он 2му разделу, а не первому. Даже если бы я мог поместить образ на первый раздел, он же всё равно не будет работать, т.к. там FAT16, а загрузчик её не поддерживат. Поэтому и инсталлер мне тут никак не поможет.

Я бы сделал так:
1. См. тип первого раздела.
2. Если не FAT32 и не NTFS, повторяем п1 для второго раздела.
3. Ищем в этом разделе образ.
4. Если не нашли, повторяем п.1 для следующего раздела и т.д.

Люди, в частности счастливые обладатели компов Dell последних сборок, спасибо скажут. И я к ним присоединюсь :)

ЗЫ: Кстати, я тоже считаю, что ФАТ16 морально сдох и поддерживать его не жизненно необходимо.

Posted: Mon Jun 12, 2006 6:48 pm
by diamond
По поводу инсталлера: фишка в том, что инсталлер прописывает в теле mtldr (точнее говоря, варианта mtldr, предназначенного для этих целей и спрятанного внутри mtldr_install) реальные значения для номера физического диска и начала раздела (стартового сектора). То есть вызванный на C:\menuet.img инсталлер определит, что диск, именуемый C, является вторым разделом первого физического диска, начинающимся с такого-то физического сектора, и заставит mtldr считывать данные именно со второго раздела (даже не разбирая таблицы разделов).
По поводу алгоритма для mtldr: хорошая идея, так и сделаю. Кстати, если я не ошибаюсь, сама Колибри при считывании образа с FAT32 примерно так и работает.

Posted: Mon Jun 12, 2006 7:19 pm
by Mario79
diamond
Она примерно так работала, до того как я ее оптимизировал (помнишь у тебя и Wildwest'a не виделись некоторые разделы).
Вся проблема в том, что входов в MBR и EMBR (последующие пародии на MBR для логических дисков) по 4 штуки, и каждый может быть контейнером содержащим несколько разделов. В общем, получается непростая структура.
Рекомендую - переписывая код ориентироваться на part_set.inc в ядре. Этот код теперь видит все разделы, которые видит Винда и видит даже те разделы, которые Винда не видит (я специально издевался над винтом с помощью Partition Magic, когда отлаживал код).

Posted: Mon Jun 12, 2006 10:02 pm
by Quantum
2 diamond:
По поводу инсталлера...
Извините, видимо, я недооценил вашу работу. Сейчас попробую инсталлер.

Пробую... Сразу заметил один мелкий недочёт:
boot.ini у меня "защищён" атрибутом RO, как у большинства пользователей. Поэтому инсталлер не смог его обновить и выдал ошибку, что у меня, возможно, нет админских прав. Атрибут RO можно снимать програмно с помощью API SetFileAttributes. Ещё плохо, что инсталлер всё равно создал mеldr, хотя после ошибки логично было бы его удалить.

Попробовал - грузится, но не работает :( Сейчас отрапортую в соответствующей ветке.