Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузочная флешка

399
23 января 2010 года
KIV
432 / / 20.01.2009
1) У меня есть свой boot loader. Он определяет геометрию (количество дорожек, секторов и т. п.) и номер загрузочного диска с помощью BIOS из атем использует для чтения уже эти значения. Все работает при загрузке с дискеты. Вопрос: надо ли его будет модифицировать для загрузки с флешки? На флешке будет такая же ФС что и на дискете (не FAT12, моя сообственная), поэтому если и изменится то только процедура загрузки сектора (использует int 0x13).
2) Как сделать загрузочную флешку из образа? причем образ может быть меньше реального размера флешки. Пытался использовать CreateFile('\\.\буква_диска:', ...), но это открывает том а не диск, поэтому доступа к 0-ому сектору нет. Может кто-нибудь знает программу, которая это умеет делать (наподобие rawwritewin, только для флешек)?
12K
23 января 2010 года
ASoftware
87 / / 16.04.2009
Ну вот у меня флешка на 4Гб, размер кластера - 512 байт, т.е. точно так же как и у дискеты, так что думаю (если конечно твой БИОС поддерживает загрузку с флеш) что проблем не должно быть. Единственное - надо чтобы сделать загрузочную флеш, надо поменять файловую систему с помощью какой то там программы с сайта производителя(может кому не надо, но моя до смены ФС никак не хотела ставать загрузочной). Единственное головок для записи-чтения там нет (0,1) как у дискеты..так что с записью больших объемов данных даже не знаю как быть...

Только что пробывал вариант:
1) Открываем с помощью hex редактора (у меня это HxD) туже флешку.
2) Полностью вся флеш в твоей власти)

Знаю конечно не удобно так записывать.. Но сначало попробуй будет ли вообще работать так. А потом можно и самому программу для записи на флеш написать.
399
23 января 2010 года
KIV
432 / / 20.01.2009
Насчет головок: у флешек вообще то линейная адресация (у жестких дисков кстати тоже) поэтому BIOS преобразовывает для всех не флоппи дисков это в линейный адрес, а устройство уже само разбирается. Поэтому термин "головка" уже утратил свой физический смысл. Мой BIOS поддерживает работу с флешками, поэтому проблем быть не должно... Порекомендуйте лучший на ваш взгляд редактор дисков (а лучше аналог rawwritewin для флешек).
399
23 января 2010 года
KIV
432 / / 20.01.2009
Цитата:
размер кластера - 512 байт


Размер кластера FAT. У меня не FAT, у меня только физические сектора, которые я в кластеры объединять не собираюсь. Важен именно размер физического сектора, например на дискете, жестком диске, флешке он равен 512 байтам, а вот на CD - 2048 байт.

252
25 января 2010 года
koderAlex
1.4K / / 07.09.2005
прога Flashboot быстро гуглится . )
МБР у тебя универсальный ?
349
25 января 2010 года
Phantom-84
656 / / 27.10.2005
Я кстати тоже HxD пользуюсь, хотя это не дисковый редактор, а просто hex-редактор.

Загрузчик от дискеты может не подойти по двум причинам:
1) флешку лучше размечать как жесткий диск, с MBR и разделами, а загрузчик флоппика может не учитывать то, что он (вместе со своим разделом) находится не в начале диска (у меня например так);
2) если флешка размечена как жесткий диск, то и загрузчик там используется, аналогичный жесткому диску (фактически универсальный и для флешки, и для жесткого диска), а там сейчас прежде всего применяется EDD (int 13h/ah=4xh) с его линейной адресацией и лишь как запасной вариант CHS-сервис с его трехмерной адресацией.

Я это говорю к тому, что конечно можно иметь универсальный загрузчик и для флоппика и для флешки/жесткого диска, но лучше все-таки иметь два разных загрузчика.
349
25 января 2010 года
Phantom-84
656 / / 27.10.2005
Хотя если образ стандартного флоппика 80х18х2 вписать в самое начало флешки и выставить соотв. опцию в BIOS Setup, по идее все должно работать, но так сейчас почти никто не делает.
399
25 января 2010 года
KIV
432 / / 20.01.2009
Цитата:
Хотя если образ стандартного флоппика 80х18х2 вписать в самое начало флешки и выставить соотв. опцию в BIOS Setup, по идее все должно работать, но так сейчас почти никто не делает.


Вот я и спрашиваю с помощью какой программы это можно сделать? мне это нужно для проверки... Просто на том компьютере на котором хочется загрузиться нет флоппи дисковода, а поскольку проверок будет много не хочется постоянно перезаписывать CD-RW (к тому же на CD рамер сектора как раз 2048 байт и это приведет к дополнительным проблемам).

349
25 января 2010 года
Phantom-84
656 / / 27.10.2005
В HxD выбери физический диск и настрой флажок, разрешающий запись на диск. Только лучше предварительно сохранить MBR.
399
25 января 2010 года
KIV
432 / / 20.01.2009
Пробовал FlashBoot - делюсь впечатлениями:
0) Это условно-бесплатная программа
1) Записать на флешку получилось только с 3 попытки.
2) Начальный загрузчик загружается только один раз после чего затирается.
3) Мой загрузчик у меня так и не загрузился (показался логотип FlashBoot и все).
4) Там грузится Linux и эмулирует Floppy, а мне это не нужно (тем более когда я перейду в PM все равно вся эмуляция отвалится).
399
25 января 2010 года
KIV
432 / / 20.01.2009
Воспользовался HxD. Все получилось. Всем большое спасибо (на репутации ответивших это тоже отразится).
349
27 января 2010 года
Phantom-84
656 / / 27.10.2005
По теме...

Для того чтобы загружаться с флешки как с флоппика, но при этом не потерять традиционную разметку флешки и возможность ее полноценного использования, по идее можно сделать универсальную флешку FDD/HDD со след. структурой:
1) бутсектор с двойственным загрузчиком, содержащий и PT, и BPB+ флоппика, причем если с флешки планируется загрузка лишь как с флоппика, то достаточно к загрузчику флоппика прикрепить только Partition Table и, возможно, Volume ID (4+2 байт) без изменения кода самого загрузчика (если конечно для этого есть место - у меня например загрузчик флоппика занимает сектор под завязку - нет ни одного свободного байта), а для двойственной загрузки уже потребуется писать специальный загрузчик - как именно он должен себя вести при каждой конкретной загрузке, можно определить исходя из номера диска, поступившего от BIOS;
2) образ флоппика без бутсектора;
3) раздел (или даже разделы) флешки.

Нужно учитывать, что это будет работать, если в процессе загрузки не используется собственный драйвер флоппика, а лишь исключительно средства BIOS (у меня например используется драйвер). При обычном использовании образ флоппика не должен быть виден, т.к. в нормальных ОС менеджер томов выполняет детект первым и лишь в случае неудачи у файловых систем имеется возможность детектить свои тома в самом начале флешки (у меня например так). Единственное, что нужно сделать, это подправить содержимое PT для первого/единственного раздела (он явно будет начинаться чуть дальше) и переформатировать его.
349
27 января 2010 года
Phantom-84
656 / / 27.10.2005
...между 2 и 3 может потребоваться добавление неиспользуемой области для выравнивания первого/единственного раздела, т.к. раздел должен начинаться хотябы на границе "дорожки" (если уж не "цилиндра").
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог