Здравствуйте, уважаемые участники конференции. Имеется флэшка, необходимо с нее установить ОС на другой комп. Проблема в том, что никак не получается правильно создать MBR, Boot sector. Пробовал много чего, но не запускается с нее, пишет вставьте системный диск. Для исследования темы поставил эмулятор qemu (чтобы не перезагружаться каждый раз) и программу Winhex (для прямой записи побайтово на флэш). В ассемблере набрал следующее: Код (ASM): mov ah, 0x0e mov al, '!' int 0x10 Откомпилировал, получил коды команд: Код (Text): B4 0E B0 21 CD 10 Прописал эти байты в нулевой сектор флэшки. По идее, биос после POST читает первые 512 байт кода MBR и передает им управление, т.е. должно было по логике появиться '!', но этого не происходит. В чем я не прав?
Итак, появилось продолжение. Я полностью стер все с флэшки (заполнил нулями все байты), отформатировал в FAT32 Парагоном, сделал раздел активным, прописал вышеуказанный код по адресу активного раздела (смещение 7E00h), эмулятор qemu вывел желанный '!'.УРА! НО! Реальный биос у меня поддерживает загрузку только с USB-HDD, и если учитывать, что USB-stick != USB-HDD по структуре (ну я так фактически предполагаю исходя из фактов), то биос просто не видит мою флэшку как HDD! А чтобы он увидел, надо разметить как USB-HDD. Я установил UltraISO и отформатировал флэшку в режиме USB-HDD+ (хз что это значит, но вроде звучит то, что нужно). На этом я застрял, похоже мой биос не понимает разметки UltraISO. Кто может чем-то помочь?
MBR флэшки (дальше нули): MBR: Код (Text): FA 31 C0 8E D8 8E C0 8E D0 BC 00 7C FB FC 89 E6 BF 00 06 B9 00 01 F3 A5 EA DC 06 00 00 10 00 01 00 00 7C 00 00 00 00 00 00 00 00 00 00 80 3F 00 FF 00 7C 00 1E 0E 1F 3A 16 10 00 74 06 1F EA 36 E7 00 F0 3D FB 54 75 05 8C D8 FB EB 1D 80 FC 08 75 1B E8 81 00 8A 36 13 00 FE CE 8B 0E 15 00 86 CD C0 E1 06 0A 0E 11 00 31 C0 F8 EB 65 80 FC 02 72 CB 80 FC 04 77 C6 60 80 CC 40 50 BE 00 00 C7 04 10 00 30 E4 89 44 02 89 5C 04 8C 44 06 66 31 C0 66 89 44 0C 88 F0 F6 26 11 00 88 CF 88 EB C0 EF 06 81 E1 3F 00 01 C8 48 89 C7 A1 13 00 F7 26 11 00 F7 E3 01 F8 81 D2 00 00 89 44 08 89 54 0A 58 30 C0 8A 16 10 00 E8 0C 00 88 26 03 00 61 A1 02 00 1F CA 02 00 9C FF 1E 22 00 C3 80 FA 8F 7F 04 88 16 2D 06 BE 87 07 E8 8D 00 BE BE 07 31 C0 B9 04 00 F6 04 80 74 03 40 89 F5 81 C6 10 00 E2 F2 48 74 02 CD 18 BF 05 00 BE 1D 06 C7 44 02 01 00 66 8B 46 08 66 89 44 08 B8 00 42 8A 16 2D 06 CD 13 73 0D 4F 74 49 30 E4 8A 16 2D 06 CD 13 EB D8 A1 FE 7D 3D 55 AA 75 37 FA 66 A1 4C 00 66 A3 3F 06 BE 13 04 8B 04 48 89 04 C1 E0 06 8E C0 31 FF BE 1D 06 B9 60 00 FC F3 A5 C7 06 4C 00 17 00 A3 4E 00 FB 8A 16 2D 06 89 EE FA EA 00 7C 00 00 BE AA 07 E8 02 00 EB FE AC 20 C0 74 09 B4 0E BB 07 00 CD 10 EB F2 C3 53 74 61 72 74 20 62 6F 6F 74 69 6E 67 20 66 72 6F 6D 20 55 53 42 20 64 65 76 69 63 65 2E 2E 2E 0D 0A 00 42 6F 6F 74 20 66 61 69 6C 65 64 00 00 00 EA EB D4 CA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 01 01 00 06 FE 3F 7B 3F 00 00 00 80 8F 1E 00 55 AA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
K10 Скачал HP Drive Key Boot Utility, все выполнил как предлагала программа по умолчанию, результат: эмулятор qemu/реальный комп - не работает. Комп пишет вставьте системный диск и нажмите Enter, эмулятор qemu - boot failed.
gh88 Если просто нужна загрузка с флешки бери grub4dos, читай man по нему и вперед! (загружается практически все, включая извращения с запуском truecrypt.iso с флешки для запуска шифрованной ОС )
gloomyraven Уже пробовал. K10 Конечно. Сегодня, после того как раздел флэшки создался (не помню уже как) третьим в партишн тэйбл MBR после загрузки перестало писать вставьте системный диск. Теперь мигает курсор, но больше ничего не происходит. Ну хоть что-то. Да, и, конечно, в эмуляторе все запускается и все очень хорошо работает. Я тут было подумал, что у меня комп старый, попробовал на другом - там мат плата где-то 2010 г.в. с AMD phenom 945, т.е. не старая, дак вот, там тоже Gigabyte, тоже Award BIOS и тоже только USB-HDD!!! (похоже в Биос Award вообще нет отдельной опции загрузки именно с усб-флэш).Там грузится (Plop основное меню) и если нажать загрузку PBR флэшки где лежит загрузчик grub4dos-виснет.
gh88 Сделай на флешке раздел cd-rom и закатай туда загрузчик, системы, которые не могут грузиться с флешки могут прохавоть такую ерунду.
gloomyraven Там нужно перепрошивать контроллер флэшки. А кто-нибудь может прописать в самое начало MBR любой флэшки вот это Код (Text): EB0748656C6C6F2100BE027CAC3C007409BB0700B40ECD10EBF2EBFE и загрузиться с нее ? (только не в виртуальной машине, а на реальном компе) Работает? Это откомпилированное: Код (Text): jmp m1 nop ;H nop ;e nop ;l nop ;l nop ;o nop ;! nop ;00 m1: mov si, 0x7C00+0x2 next: lodsb cmp al, 00 jz _end mov bx, 0x7 mov ah, 0xE int 0x10 jmp next _end: jmp _end Просто мне не на чем проверить сейчас. А вообще я так понял, что у меня проблема с тем, что БИОС как-то проверяет флэшку перед тем как оттуда начать исполнять команды. Ну, теоретически, такое могло быть сделано для анализа и автоматического отбора подходящей флэшки (на случай если их несколько подсоединено). Такое возможно вообще? И вообще, было бы здорово посмотреть на MBR и VBR флэшек тех у кого Award BIOS и с флэшки грузится.
Я попробовал сделать на HDD, по IDE подключил, там все работает уже в реале, в т.ч. grub4dos, syslinux, и прога выводящая Hello! и больше ничего не делающая, причем в разных комбинациях MBR и VMR. Делаю тоже самое на флэшке - не работает. Сейчас MBR флэшки полностью такой-же, как и на рабочем винте, за исключением байтов кол-ва цилиндров, размера и тд., буквально 5 байт только расходятся. БИОС отказывается выполнять код с флэшки, причем ВООБЩЕ! Я читал в интернете про похожие проблемы с Gigabyte. Там людям помогало какое-то меню загрузки по F9,10,11,12 или прямо в Boot Priority появляется флэшка и ее можно выбрать. У меня никакое меню не вызывается, а касательно загрузки есть только First boоt device, second boot device, third boot device. Больше ничего нет. Я вижу как минимум четыре решения проблемы: кастомизировать (читай дизассемблировать) БИОС, перепрошить флэшку как CD-ROM, купить USB-сидиром или проапгнейдить комп и расстаться с gigabyte)) Что скажете?
а вы какую ОС хотите поставить с USB? Еще вопрос какая у вас материнка? Возможно есть другой способ запустить установку ОС? расскажите подробнее про задачу (можно в ПМ). P.S. на старых материнках повально не работает загрузка с флешок. (с этим еще в 2003 сталкивался).