[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
Не знаю, писал как-то утилитку примерно для этих же целей, ищет все .iso файлы, определяет по сигнатуре загрузчик, и на 500 Gb винте выполняется за 2-3 минуты, iso файлов несколько десятков.
В принципе, несложно довести ее до ума, например, сделать окошко со скроллингом для выбора.
Демка
FileFindIsoDemo.exe disk:

Комментарий от Joker-2013


Решил, что утилита и обсуждение, достойно отдельной темы.
Вложение

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Принцип работы утилиты:
С помощью консольного 7zip извлекается из файла-образа,
загрузочный сектор:
7z.exe e Image.iso -so [BOOT]\*.img -y > file.txt
или так:
7z.exe e Image.iso [BOOT]\*.img -y
Или список файлов:
7z.exe l Image.iso -y > List.txt
Файлы анализируются, в них ищется имя загрузочного файла:
ntldr
setupldr.bin
bootmgr
IsoLinux
Acronis Loader
BootIt
MSDOS
KonBoot
grldr
grubgrldr
Можно открыть файлы в блокноте и посмотреть его содержимое. В тексте встретится имя одного из загрузчиков...
Как будет вести себя утилита, если в образе встречается несколько загрузчиков, с реальными именами и не будет найден: Bootable_NoEmulation.img (где уж точно прописано имя), сказать сложно...
Я так понимаю, что поиск происходит следующим образом, в начале, если найден: Bootable_NoEmulation.img, в нем ищется из предложенного списка первое имя загрузчика (или перебираются все)...
Если найден, то хорошо.
Другой этап, это работа со списком файлов в файле-образе.
7zip формирует список в порядке: под папки, файлы и только в конце корень диска, а ведь он нам и нужен, так как вернее всего, что в корне и лежит файл-загрузчик...


Последний раз редактировалось: Joker-2013 (2015-08-11 13:38), всего редактировалось 2 раз(а)

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Писал для тестирования, утилита смотрит загрузочный сектор CD , и определяет следующие загрузчики:
ntldr
setupldr.bin
bootmgr
IsoLinux
Acronis Loader
BootIt
MSDOS
KonBoot
grldr
grubldr
Если не сложно, потестируй и сообщи, какие именно загрузчики она не находит, после отладки добавлю ее в полную версию, пока она слишком сырая.

Мои тесты

Часть кода:
$sboot = "Unknown"
  If StringInStr($stemp, "ntldr") Then $sboot = "ntldr"
  If StringInStr($stemp, "setupldr.bin") Then $sboot = "setupldr.bin"
  If StringInStr($stemp, "bootmgr") Then $sboot = "bootmgr"
  If StringInStr($stemp, "isolinux") Then $sboot = "IsoLinux"
  If StringInStr($stemp, "Acronis") Then $sboot = "Acronis Loader"
  If StringInStr($stemp, "BOOTIT") Then $sboot = "BootIt"
  If StringInStr($stemp, "MSDOS") Then $sboot = "MSDOS"
  If StringInStr($stemp, "MSWIN") Then $sboot = "MSDOS"
  If StringInStr($stemp, "KonBoot") Then $sboot = "KonBoot"
  If StringInStr($stemp, "grldr") Then $sboot = "grldr"
  If StringInStr($stemp, "grubldr") Then $sboot = "grubgrldr"
Я думаю, что к поиску setupldr.bin и других того же семейства, надо подойти как то по другому, с начало перебрать все имена, а потом уже искать ntldr
Хотя что это нам даст и как это применить, кроме как принять к сведению реальное имя загрузчика, я пока не знаю.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Вот интересный подопытный:
dy

Скриншот


Я так понимаю, что это EasyBoot

Скриншот 2


Загрузочный файл не найден.


Последний раз редактировалось: Joker-2013 (2015-08-11 19:47), всего редактировалось 2 раз(а)

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Ну а этот: bcdw.bin, надо бы добавить:

Скриншот

А это был подопытный: XP_SP3_PRO_VL_XIMAGE.iso , которого многие не могут затащить на флешку....

Скриншот


Утилита не нашла загрузочный файл.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Пойдем дальше...
Если использовать поиск не только в файлах ISO, то можно забыть про: Bootable_NoEmulation.img
И поиск осуществлять только по списку файлов. Но как понять какой загрузчик главный...
Например образ моей флешки в формате VHD:

Скриншот

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
Joker-2013,
И поиск осуществлять только по списку файлов. Но как понять какой загрузчик главный...
Это вообще невозможно, но в данном случае - VHD это не представляет проблем, чтобы вытащить загрузочный сектор достаточно просто прочитать несколько первых секторов.
А так, хочу обновить алгоритм поиска загрузчика, который не будет использовать стандартные имена загрузчиков, а просто определять их на основе загрузочного сектора.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
nikzzzz, я хотел добавить данную функцию в Creator a Bootable USB Flash Drive, но окончательно запутался как правильнее реализовать.
Да и размахнулся я что то: {'.iso','.ima','.img','.bin','.vhd','.7z','.zip','.rar'}
Загрузочный сектор, наверное есть во всех этих форматах '.iso','.ima','.img','.bin','.vhd',
Ну а с архивами, можно при создании, файл маркер встраивать (текстовой документ с именем загрузчика)
Есть же, наверное какие то утилиты, для создания загрузочных флешек, где реализовано авто определение загрузчика....
Наверное Rufus...
Так может придумаешь полную реализацию, если есть желание.... ah
Или опиши как и где смотреть, может кого попрошу написать утилитку...

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
Joker-2013,
Так может придумаешь полную реализацию, если есть желание....
У меня есть набросок такой утилиты, алгоритм такой:
По сигнатуре извлекаются из загрузочного сектора все загрузчики с путями к ним.
Далее проверяется, есть ли реально он в образе, если есть - найден.
При этом, совершенно наплевать на имя и путь к загрузчику.
Есть ли есть желание помочь, пришли мне разные загрузочные сектора из того, что у тебя есть для тестирования.
10008Наверное Rufus...
Он не определяет модифицированные или сторонние загрузчики.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Есть ли есть желание помочь, пришли мне разные загрузочные сектора из того, что у тебя есть для тестирования.
Что прислать? не понял.
Bootable_NoEmulation.img???
Или с помощью UltraIso повыдергивать загрузочные секторы, хотя это одно и тоже...

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
Joker-2013,
Именно, желательно побольше уникальных.

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Ну, все что было и не определялось, я тебе в теме выложил...
У меня после недавнего ошибочного форматирования USBHDD мало что осталось...
Многое восстановил, но первый раздел, на котором было куча образов, не вышло...

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
10029Ну, все что было и не определялось, я тебе в теме выложил...
К сожалению пока утилитка не может распознать загрузчик по скрину. ac

[Цитировать]

    Joker-2013
  • 1039
  • Стаж: 2 года 5 месяцев
  • Сообщений: 2369
  • Репутация:94

    [+] [-]
  • Откуда: Админ от сюда
Ну я же дал ссылку на яндекс диск и название другого образа...
http://zakachaysa.org/windows/windows-xp/2098-windo...86-2015-rus.html

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 2 года 10 месяцев
  • Сообщений: 1710
  • Репутация:96

    [+] [-]
Joker-2013,
Ну я же дал ссылку на яндекс диск и название другого образа...
Я просто обычно пропускаю рекламу, если уж даешь ссылку, она уж никак не должна называться "яндекс", который своей рекламой уже и так достал. aq

Страница 1 из 2


Показать сообщения:    

Текущее время: 17-Дек 07:15

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


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