#1 23-11-2007 12:27

Capushon
Registered: 13-08-2006
Posts: 347
Website

Загрузка Windows (или что угодно) с .ISO лежащего на HDD

Думаю вопрос так и останется без ответа (лирическое отступление)... smile

  Имеем винт (HDD), в корне первого раздела валяется загрузочный образ диска (в одном файле естестно).
Внимание вопрос: как мы можем загрузить с него комп, манипулируя синтаксисом в boot.ini ???


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#2 23-11-2007 14:54

Seemann
Registered: 07-08-2006
Posts: 2,099

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

Система XP?

Ммм, может скажу глупость, но на ум приходит одна идея: в boot.ini есть параметр /kernel, в котором указывается путь к файлу ntoskrnl.exe (вариант: пара /hal - hal.dll). Пишем свой exe/dll, которая перенаправляет вызов оригинальных импортируемых функций на оригинальный файл (как это сделано в vorbisFile.dll в GTA), затем читает файл образа и загружает его как виртуальный диск. Остается только указать правильный раздел диска в параметре partition(). Я, правда, не уверен, будет ли система читать гибкие (= виртуальные) диски, ибо, вроде как, там указываются только разделы жесткого диска.

Все это, конечно, теоретические выкладки, я не знаю совпадает ли очередность действий загрузчика с желаемыми мной wink

Offline

#3 26-11-2007 10:47

listener
From: Vice City
Registered: 09-11-2006
Posts: 615
Website

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

Вопрос немного сложнее, чем кажется.

В boot.ini можно прописать бинарник, содержащий загрузочный сектор. (Просто, вместо раздела прописать файл). Здесь будет немного сложностей с чтением файла на диске вместо самого диска (т.е., нужно писать miniFS-driver, но это несложно).

Сложная часть начинается после того, как .iso загружен и управление передается загруженной OS. К этому моменту, в OS должен присутствовать драйвер, который, опять-таки, вместо чтения диска будет читать файл на диске. Это тоже решаемая задача, но, ощутимо сложнее. Плюс к тому, здесь нет универсальных решений.

Так что, если важен результат, а не процесс, эффективнее взять что-то виртуализующее (Vmware, Virtual PC и т.д.).


C5 - GTA IV/RDR/GTA V script compiler.
~ 60% done.

Offline

#4 26-11-2007 15:26

Capushon
Registered: 13-08-2006
Posts: 347
Website

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

2listener:

Так что, если важен результат, а не процесс, эффективнее взять что-то виртуализующее (Vmware, Virtual PC и т.д.).

Vmware, Virtual PC в данном случае не подходят, идея следующая:

-- Если с айсошниками (.iso) можно оперировать при загрузке с DVD диска, т.е. загрузить из меню любой загрузочный образ (DOS, Linux, Windows), почему бы такое не реализовать с винта?

-- Зачем это нужно? Архиполезная фича, например создать/развернуть образ раздела с помощью  PQIMAGE который работает в Dos, а держать для этого раздел с DOS'ом нецелесообразно, да и тыкать каждый раз компакт/флешку, или дискету не рационально.

-- Более того, если комп можно загрузить по сети, опять же манипулируя командами boot.ini, то наверное возможно направить загрузку и с образа?

Сложная часть начинается после того, как .iso загружен и управление передается загруженной OS. К этому моменту, в OS должен присутствовать драйвер, который, опять-таки, вместо чтения диска будет читать файл на диске.

Здесь как раз сложностей возникнуть не должно - образ разворачивается на виртуальный диск и там работает, готовых образов таких на сегодняшний день - куча.

В boot.ini можно прописать бинарник, содержащий загрузочный сектор. (Просто, вместо раздела прописать файл). Здесь будет немного сложностей с чтением файла на диске вместо самого диска (т.е., нужно писать miniFS-driver, но это несложно).

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


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#5 21-12-2007 21:56

Capushon
Registered: 13-08-2006
Posts: 347
Website

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

2All:
Так, проблема решилась очень легко, есть отличная готовая софтина - GRUB (http://grub4dos.sourceforge.net/)


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#6 10-12-2008 07:54

zX5
Registered: 10-12-2008
Posts: 1

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

Capushon wrote:

2All:
Так, проблема решилась очень легко, есть отличная готовая софтина - GRUB (http://grub4dos.sourceforge.net/)

У меня похожая проблема. Бьюсь с ее решением уже очень давно. Подскажи, пожалуйста, как тебе с помощью этой софтины удалось решить вопрос. Прогу эту скачал. Разобраться не могу.

Offline

#7 10-12-2008 17:50

Capushon
Registered: 13-08-2006
Posts: 347
Website

Re: Загрузка Windows (или что угодно) с .ISO лежащего на HDD

@zX5 -
отправил по ICQ ...


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

Board footer

Powered by FluxBB