Такая же фигня. Но не на всех компьютерах. На работе работает, грузит, в Qemu тоже работает. А дома нет, ниже размышления...
Гружусь с флешки, Grldr на флехе присутствует. Флешка загрузочная, даже биос обновлял недавно... Пишет Try FD(0) Fat 32 ... No GRLDR, потом пошел локальные диски HDD сканировать. Не находит на них GRLDR и требут перезагрузиться.
Заметил особенность, в моем биосе, при выборе устройства загрузки F8, при старте компа, флешка определяется и находится как съемное устройство. Там где Флопик. А там где жесткие диски ее нет. Это понятно что глюк биос... А вот когда флешку форматируешь утилитой HP USB Disk storage Format Tool то флешка определяется в меню загрузки как HDD и находится в секции жестких дисков. Но стоит установить Grub4dos 0.4.4 или 0.4.5 командой bootlace 0x80 так сразу диск перекидывается наверх, в секцию съемных дисков, к флопику...
Так вот что я сделал, сравнил МБР флешки win98 (HP USB Disk storage Format Tool) и МБР флешки Grub4dos 0.4.4 (bootlace 0x80). Данные в таблице разделов одинаковые, а сам код разный, но это понятно. Взял я обратно залил ВинХексом МБР win98 512 байт на флешку с GRUB и после перезагрузки флешка стала HDD. Вывод Grub передает BIOS сведения о типе диска (ну что он USB), он попадает в секцию съемных дисков, а потом уже Grub его видит как (FD0) и из-за этого трабла с отсутствием GRLDR
Добавлено (13.09.2010, 12:51) --------------------------------------------- Далее... Почитав в Википедии и еще кое где про МБР, а особенно про Алгоритм работы кода MBR от Microsoft я узнал, что она (подпрограмма МБР) ищет разделы HDD помеченные активным флагом и далее передает управление загрузочному сектору найденного активного логического диска... Подробнее Алгоритм работы кода MBR от Microsoft.
Так вот я решил поместить код МБР GRUBа (512 байт) в загрузочный сектор первичного логического диска флешки, а МБР оставил WIN98. В моей задумке должно быть так : МБР (win98) передает управление -> boot sector c: (grub), и все получилось. В биосе флешка определяется как HDD, и позволяет загрузиться с нее. Далее грузится GRUB... И опять не находит GRLDR, начинает сканировать локальные HDD... И устройство опять определяется как (FD0)...
Actually this byte is ignored for read. The boot code will write DL onto this byte. The BIOS or the caller should set drive number in DL. We assume all BIOSes pass correct drive number in DL. Buggy BIOSes are not supported!!
Я так думаю, когда стартует программа GRUB (1 stage), она обменивается с БИОС инфой и биос пишет в этот байт "00h" хотя по умолчанию стоит "80h". Есть у кого флешка с переключателем защита от записи. Может запретить запись в этот байт и все пойдет ?
Сообщение отредактировал Тесла - Понедельник, 13.09.2010, 12:34
> Вывод Grub передает BIOS сведения о типе диска (ну что он USB) Загрузчик понятия не имеет, что грузится с USB.
> А вот когда флешку форматируешь утилитой HP USB Disk storage Format Tool то флешка определяется в меню загрузки как HDD и находится в секции жестких дисков. Если не работает с конкретным mbr (который от bootlace), может быть, попробовать fbinst?
> Вывод Grub передает BIOS сведения о типе диска (ну что он USB)
Я имею ввиду, что Bios в момент нажатия кнопки F8, а может быть и раньше, при выполнении инициализации оборудования от куда то получает инфу о подключенных устройствах. Про HDD, DVD-RW все понятно, но почему флешка определяется по разному, при разных МБР.
Вот что показывает BIOS в меню загрузки при использовании MBR win98:
А вот что показывает если установить МБР от GRUB (разница в 512 байт, даже меньше, так как таблица разделов не изменилась, изменился только код МБР): Вывод, МБР ГРУБ передает для Биоса параметр флешки отличный от параметра МБР win98.
Quote (Sh1td0wn)
Загрузчик понятия не имеет, что грузится с USB
Да тут спорить не о чем. Вот как идет загрузка компа:
BIOS по умолчанию (ТУПО) грузит MBR по адресу 0000h:7C00h. MBR делает с себя копию в адрес 0000h:0600h и переходит к дальнейшему выполнению программы в этой зоне адресов. При этом адрес первичной загрузки 0000h:7C00h становится вершиной стека. Ищется запись об активном разделе. Запоминаются его данные. Затем продолжается просмотр информации о разделах до конца (т.е. до 4-го раздела включительно). Если встречается еще один активный раздел, то выдается сообщение об ошибке и программа зависает. Или, если встречается раздел с кодом в поле "загрузочный" не равным 0h или 80h, то тоже выдаётся сообщение об ошибке с последующим зависанием. Если всё в порядке, то программа грузит сектор, на который указывает активный раздел, по адресу 0000h:7C00h и передаёт ему управление, а этот сектор знает, что и как ему делать
Как же тогда GRUB определяет, что он был загружен не с диска HDD, а с FD и выдает ошибку "Мол нет GLDR". Так вот GRUB Stage1 (MBR) - программка во время выполнения запрашивает у БИОСа тип устройства, а Биос возвращает его в байт по смещению 40h. А Биос же в свою очередь, уже заранее узнал тип устройства, он же нам уже показал на экране возможные варианты загрузки с устройств. А разница между опять же в разных МБР, наверно при инициализации устройств, микропрограмма БИОСА (конкретно моего компа, на других может быть по другому) проверила МБР, и обнаружив, не стандартную МБР (не Мелкомягких) отказалась ставить его в HDD.
Quote (Sh1td0wn)
Если не работает с конкретным mbr (который от bootlace), может быть, попробовать fbinst?
Может и можно, можно и оставить Win 98, и запускать GRUB.EXE из AutoExec.bat. Но хочется докопаться до сути. Ведь не только у меня это, у многих людей такое. А советы дают такие: - "Ну скопируй GRLDR в корень флешки..." А проблема то может в несовместимости GRUB с Биос.
Прикрепил МБР win98 и МБР GRUB (512 байт)
Щас попробую GRUB 0.4.3 с ней помоему ранее проблем не было...
> А проблема то может в несовместимости GRUB с Биос. Скорее всего. Например, тут сказано, что некоторые BIOS бывают заточенными под один тип MBR (но почему тогда возникает проблема с загрузочным сектором от grub4dos?).
Не совсем понятно, как планируется решать проблему, кроме описанного в предыдущем сообщении "записать значение в MBR и защитить от записи". С другой стороны, поскольку "MBR делает с себя копию в адрес 0000h:0600h и переходит к дальнейшему выполнению программы в этой зоне адресов.", чем защита поможет?
Кстати, а как поведёт себя система при использовании этой MBR (описание работы)?
Щас закину, потом отпишусь. Кстати 0.4.3 тоже глючит. Вот записал выше указанную МБР. Система обнаружила и поместила флешку в HDD, далее загрузилась консоль: MBR 1234FA: что дальше делать пока не разобрался.
Сообщение отредактировал Тесла - Понедельник, 13.09.2010, 21:34
У меня такая же проблема: Я сделал всё по инструкции, настроил bios на загрузку с флешки, перезагрузился-всё работает, установил windows 7. После этого флешка начала глючить. Я её втыкаю в комп, перезагружаюсь. Она мне пишет "grldr not find". Пробовал форматить флэху и делать всё заново, но флэшка своё grldr no find.... Вот название флэшки: Idimm Editor v 1.0 (вот их сайт)
Сообщение отредактировал -Dimaz- - Вторник, 21.09.2010, 14:33
Не грузится grub4dos на разных компьютерах по разному. На буках грузится в частности на моем acer aspire one, грузится на моем первом компе где мать Gigabyte GA-X48-DS5, не грузится на всех компах Hewlett-Packard корпоративных (мать неизвестна, чипы intel, не грузится на компах корпоративных krafway (мать MSI, чипы intel,) не грузится на моем втором компе где мать ASUS P5B DELUX.
Ставлю grub на внешний винт HDD A-Data 320GB [CH94 320Gb] 2.5" USB 2.0, на NTFS.
Пробовал разные способы установки grub, разные версии grub. Не чего не изменяется.
Помогите если сможете очень нужен загрузочный винт со всякой ботвой типа алкид лиф сд ну и тд и тп.
Ошибка при загрузки выпадает такая, выдает в столбик разные файловые системы и пишит что не может найти файл grldr. Иногда после этой ошибки пишит какую-то муть про MBR и начинает отчет в 5 секунд и уходит на перезагруз. Есть флеха 4 ГБ kingston на ней grub робит с любого компа хотя делал все из тех же файлов.
Пологаю что проблема такая же как у Тесла, Lestad.
Прошу ответы типа дело в винте не писать, это я и сам понимаю что с ним что-то, вот и прошу помочь исправить это.
Ругаться и матерится тоже в мой адрес не надо, если где-то ступил, я и русский язык хорошо понимаю.
> Пробовал разные способы установки grub, Перечислите, пожалуйста.
> Прошу ответы типа дело в винте не писать, это я и сам понимаю что с ним что-то Может быть, перечисленные мат.платы просто аппаратно с ним не совместимы. Почему Вы уверены, что это лечится?
> Пробовал разные способы установки grub, Перечислите, пожалуйста.
тут смотрел http://greenflash.su/forum/2-1-1
так
так
так там еще несколько прог было похожих, но я их уже удалил скрины сделать неполучится.
через кривой перевод гугла вот так
Installing GRLDR boot code to MBR under DOS:
bootlace.com 0x80 ну вроде все, а может и нет.
> Прошу ответы типа дело в винте не писать, это я и сам понимаю что с ним что-то Может быть, перечисленные мат.платы просто аппаратно с ним не совместимы. Почему Вы уверены, что это лечится?
аппаратно не совместимы это как, это же не платка lpt или com или видяха или там еще какая специфическая железяка и компы это обычные простое только для офисов произведенные. и винт это обычный сатовский в коробочке с узб контроллером. чему тут не подходить аппаратно.
Все эти способы работают через grubinst/MBR от grub4dos. Попробуйте поставить grub4dos на раздел флешки, а MBR оставить стандартной (или воспользоваться выложенной ранее в этой теме). Попробуйте воспользоваться fbinst.
> чему тут не подходить аппаратно Например, размер накопителя. Например, время отклика, время инициализации.