Пользовательского поиска
Пятница, 26.04.2024, 19:00
Приветствую Вас Гость | RSS
Главная | FiraDisk - Страница 3 - Форум | Регистрация | Вход
Меню Проекта
Форма входа
Логин:
Пароль:
Мы Рекомендуем:
Мнение Общественности
Какой объем должна занимать Мультизагрузочная флешка?
1. 8Gb
2. 4 gb
3. 16 Gb
4. 32 Gb
5. 2 Gb
6. 1 gb
7. 512 Mb
Всего ответов: 6156
Статистика
GreenFlash
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: Sh1td0wn, asdqqww  
Форум » Мультизагрузочная флешка » Общий » FiraDisk (File/RAM Disk driver for Windows)
FiraDisk
SHELLesДата: Четверг, 29.10.2009, 15:31 | Сообщение # 31
Экспериментатор
Группа: Пользователи
Сообщений: 84
Репутация: 14
Статус: Отсутствует
kDn, подскажи плиз, что делаю не так.

Использую способ 1 (самый простой), Диск уже заранее разбит на 3 части
Первая часть проходит на ура.

Code

title XP_RAM.iso Setup step 1    
map --mem /boot/firadisk.gz (fd0)                
# Расскоментировать если не работает                
# map --mem /boot/firadisk.gz (fd1)                
map --mem /boot/XP_RAM.iso (0xFF)                
# Если флешка как USB-HDD, то меняем местами ее и HDD                
checkrange 0x80 read 0x8280 && map (hd0) (hd1)                
checkrange 0x80 read 0x8280 && map (hd1) (hd0)                
map --hook                
ls (fd0)/firadisk.sys                
# Создаем раздел, если его нет на HDD (Решение 2.) ~2GB                
# root (hd0,0) || partnew --active (hd0,0) 0x07 1 4194304                
rootnoverify (hd0,0)                
chainloader (0xFF)/I386/SETUPLDR.BIN                

title XP_RAM.iso Setup step 2                
map --mem /boot/firadisk.gz (fd0)                
# Расскоментировать если не работает                
# map --mem /boot/firadisk.gz (fd1)                
map --mem /boot/XP_RAM.iso (0xFF)                
# Если флешка как USB-HDD, то меняем местами ее и HDD                
checkrange 0x80 read 0x8280 && map (hd0) (hd1)                
checkrange 0x80 read 0x8280 && map (hd1) (hd0)                
map --hook                
ls (fd0)/firadisk.sys                
rootnoverify (hd0,0)                
# Второй этап загрузки должен идти с HDD                
chainloader +1                
# chainloader /ntldr

Вторая часть - грузит исошник в память, но потом пишет:

Address 0x8280: Value 0x410a0fb
Address 0x8280: Value 0x410a0fb
firadisk.sys chainloader /ntldr
Error 15 file not found
Press any key to continue (если использовать chainloader /ntldr)

И пишет
Address 0x8280: Value 0x410a0fb
Address 0x8280: Value 0x410a0fb
firadisk.sys
NTLDR is missing
Press any key to continue (если использовать chainloader +1)

Добавлено (29.10.2009, 15:31)
---------------------------------------------
Использую вариант №2

Code
title Loading XP RAM install - /boot/xpsp3cbvl.ISO - Step 1           
map --mem /boot/firadisk.ima (fd0)           
# Следующая строка полезна, если у вас образ лежит на HDD\boot\...           
ls /boot/xpsp3cbvl.ISO || find --set-root /boot/xpsp3cbvl.ISO           
map --mem /boot/xpsp3cbvl.ISO (0xFF)           
# Если флешка как USB-HDD, то меняем местами ее и HDD           
checkrange 0x80 read 0x8280 && map (hd0) (hd1)           
checkrange 0x80 read 0x8280 && map (hd1) (hd0)           
map --hook           
rootnoverify (hd0,0)           
# А вот тут, можно прописать свой путь к образу и имя образа           
write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\xpsp3cbvl.ISO\n;\n;\n;           
chainloader (0xFF)/I386/SETUPLDR.BIN           

title Loading XP RAM install - /boot/xpsp3cbvl.ISO - Step 2 (3)           
# Если установка производилась не на "C:", то будет доп. перезагрузка             
# Если флешка как USB-HDD, то меняем местами ее и HDD           
checkrange 0x80 read 0x8280 && map () (hd1)           
checkrange 0x80 read 0x8280 && map (hd1) ()           
checkrange 0x80 read 0x8280 && map --hook           
rootnoverify (hd0,0)           
# Второй этап загрузки должен идти с HDD           
chainloader +1 || chainloader /ntldr

Падает на первом этапе со словами:
Address 0x8280: Value 0x410a0fb
Address 0x8280: Value 0x410a0fb
write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\xpsp3cbvl.ISO\n;\n;\n;
Error 15: File not found

Третий вариант использовать не могу т.к. не знаю как свой исошник сделать фрагментированным.

ЗЫ если не сложно - пришлите SHA-1 или MD5 сумму у чистого дистрибутива
Win XP XP3 Professional Corporative Boot (а то в инете стольк дистрибов, а мне нужен оригинальный, чистый)

ЗЗЫ а можно используя фирадиск грузить Slax и GreexBox прямо из исошников?

Сообщение отредактировал SHELLes - Четверг, 29.10.2009, 15:43
 
kDnДата: Четверг, 29.10.2009, 20:53 | Сообщение # 32
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
Как-то весьма странно у вас загрузочное устройство определяется... Вы с флешки стартуете? Она как USB-HDD видится или как что?

Попробуйте для вашего случая строки

Code
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)

заменить на:
Code
map (hd0) (hd1)
map (hd1) (hd0)

если не работает, то вообще закомментировать.

По второму способу нужно использовать:

Code
map --mem /boot/_ima/XP_INST.gz (fd0)

в то время как у вас не правильно:
Code
map --mem /boot/firadisk.ima (fd0)

Дефрагментировать образ можно с помощью программы contig, либо как вариант:
1. Переместить все файлы с флешки куда-нить
2. Переместить все файлы с куда-нить - обратно на флешку.
3. После выполнения пунктов 1-2 все файлы будут дефрагментированы.

Quote (SHELLes)
ЗЗЫ а можно используя фирадиск грузить Slax и GreexBox прямо из исошников?

Нет, это драйвер только для Windows

Добавлено (29.10.2009, 20:53)
---------------------------------------------
Кстати, если опять не заработает, то кроме ошибок хотелось бы увидеть вывод команд:
find
root
ls (fd0)/
ls (hd0,0)/


Сообщение отредактировал kDn - Четверг, 29.10.2009, 20:53
 
SHELLesДата: Пятница, 30.10.2009, 11:25 | Сообщение # 33
Экспериментатор
Группа: Пользователи
Сообщений: 84
Репутация: 14
Статус: Отсутствует
Способ номер 2.

Использовал команды:

Code
title Loading XP RAM install - /boot/xpsp3pcbsvl.ISO - Step 1            
map --mem /boot/xp_inst.gz (fd0)            
# Следующая строка полезна, если у вас образ лежит на HDD\boot\...            
ls /boot/xpsp3pcbsvl.ISO || find --set-root /boot/xpsp3pcbsvl.ISO            
map --mem /boot/xpsp3pcbsvl.ISO (0xFF)            
# Если флешка как USB-HDD, то меняем местами ее и HDD            
map (hd0) (hd1)            
map (hd1) (hd0)            
map --hook            
rootnoverify (hd0,0)            
# А вот тут, можно прописать свой путь к образу и имя образа            
write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\xpsp3pcbsvl.ISO\n;\n;\n;            
chainloader (0xFF)/I386/SETUPLDR.BIN            

Установка упала со словами
floppies_orig=0, harddrive_orig=2 (винт 1 + флешка?), floppies_curr=1, harddrive_orig=2
Warning! Invalid first FAT entry =(0x0)!
write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\xpsp3pcbsvl.ISO\n;\n;\n;
Only RAM drivers can be written when running in a script

root
(hd0,0): Filesystem type is NTFS, partition type is 0x07

find
(hd0,0)
(hd0,4)
(hd0,5)
(hd1,0)
(fd0) (в системе флопповода нету , в биосе отключен - что тогда это? виртуальный?)

Вопрос - диск нарезан на 3 части (все НТФС, первая основная, остальные - логические) - почему определяются как (hd0,0) (hd0,4) (hd0,5) а не (hd0,0) (hd0,1) (hd0,2)

Вопрос 2 - как узнать как что определяется флешка (как HDD?) чтоб знать надо ли менять мапинг (hd0) и (hd1)

ls (fd0)/
Warning! Invalid first FAT entry (=0x0)!
firadisk imdisk setup usb32 vmscsi txtsetup.oem

ls (hd0,0)/
пустой

Добавлено (30.10.2009, 11:25)
---------------------------------------------
Способ номер 1 заработал

Code
title xpsp3pcbsvl.iso Setup step 1    
map --mem /boot/firadisk.ima (fd0)    
map --mem /boot/xpsp3pcbsvl.iso (0xFF)    
map (hd0) (hd1)    
map (hd1) (hd0)    
map --hook    
ls (fd0)/firadisk.sys    
rootnoverify (hd0,0)    
chainloader (0xFF)/I386/SETUPLDR.BIN    

title XP_RAM.iso Setup step 2    
map --mem /boot/firadisk.ima (fd0)    
map --mem /boot/xpsp3pcbsvl.iso (0xFF)    
map (hd0) (hd1)    
map (hd1) (hd0)    
map --hook    
ls (fd0)/firadisk.sys    
rootnoverify (hd0,0)    
chainloader +1    

Проблемма была в

Code
checkrange 0x80 read 0x8280 && map (hd0) (hd1)   
checkrange 0x80 read 0x8280 && map (hd1) (hd0)

Я так понимаю эти команды смотрели как определяется флешка и если как винт то меняли мапинг. Вывод - у меня непонятно как флешка определяется. Что можно сделать чтоб код был универсальным и сработал и на другом компе?


Сообщение отредактировал SHELLes - Пятница, 30.10.2009, 11:27
 
kDnДата: Пятница, 30.10.2009, 20:22 | Сообщение # 34
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
SHELLes,
Quote
floppies_orig=0, harddrive_orig=2 (винт 1 + флешка?), floppies_curr=1, harddrive_orig=2
Warning! Invalid first FAT entry =(0x0)!
write --offset=0 (fd0)/setup/ISOimage.ini \\boot\\xpsp3pcbsvl.ISO\n;\n;\n;
Only RAM drivers can be written when running in a script

Какую версию grub4dos вы используете? От какого числа?
Проблема с мапингом образа дискеты наблюдалась в старой версии grub4dos...

(fd0) - виртуальный флоппик и всеже скачайте обновленный файл из сообщения: http://greenflash.su/forum/2-331-4665-16-1256498636

Вместо:

Code
checkrange 0x80 read 0x8280 && map (hd0) (hd1)
checkrange 0x80 read 0x8280 && map (hd1) (hd0)

можно попробовать:
Code
checkrange 0x0 read 0x8280 || map (hd0) (hd1)
checkrange 0x0 read 0x8280 || map (hd1) (hd0)

но вообще-то я бы подумал на счет того, чтобы переделать флешку во че-нить другое, т.к. прочитанное значение не правильное... так быть не должно. Нормально если возвращается 0x80 для USB-HDD и 0x0 для USB-ZIP/FDD
 
SHELLesДата: Пятница, 30.10.2009, 20:56 | Сообщение # 35
Экспериментатор
Группа: Пользователи
Сообщений: 84
Репутация: 14
Статус: Отсутствует
Quote
Какую версию grub4dos вы используете?
0.4.4 от 2009-01-25 (брал у вас на сайте)
Поставил 0.4.4 от 2009-06-20

ЗЫ чтоб обновить граб нужно только файл grldr обновить?

скачал указанный вами xp_inst.gz

Смонтировал его как fd1 (fd0 - уже есть в системе, но не читается)

map -- mem /boot/xp_inst.gz (fd1)

ls (fd1)/
выдает содержимое диска

checkrange 0x80 read 0x8280 выдает Value: 0x80
=> Со смной версии вроде все поправилось

Сообщение отредактировал SHELLes - Пятница, 30.10.2009, 22:16
 
L_D_AДата: Суббота, 31.10.2009, 10:51 | Сообщение # 36
Экспериментатор
Группа: Проверенные
Сообщений: 81
Репутация: 14
Статус: Отсутствует
Quote (SHELLes)
не знаю как свой исошник сделать фрагментированным.

Лично я пользуюсь программой Defraggler - бесплатный дефрагментатор, умеет работать с USB дисками, может дефрагментировать отдельные файлы на диске

 
afpДата: Суббота, 31.10.2009, 20:44 | Сообщение # 37
Неизвестный
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Отсутствует
kDn,
Quote (kDn)
Лучик, для ускорения загрузки можно либо предварительно скинуть образ на HDD, либо попробовать использовать PloP, как драйвер для ускорения работы с флешкой.

При загрузке с флешки при помощи GRUB - Fira, процедура записи ISO образа в память занимала примерно 1мин. Загрузив ПлоП с флопика и передав загрузку на USB, получил некоторый прирост скорости - 40 сек. по секундомеру. На этом счастье кончилось. и при последующих загрузках первым способом без ПлоП, скорость згрузки GRUB снизилась с 5 сек. до 12. А образ грузится в память 25 минут. Настройки биоса не изменились, даже выставил их по дефолту. неоднократно переделывал и переформатировал флешку - без результата.
На сайте ПлоП нашел , что драйверы хостконтролера работают тлько с усб 1,1
еще там какая то заморочка с 19прерыванием. Впрочем от этого ни жарко ни холодно. Возникает ощущение, что ПлоП работает с биосом и железом весма агрессивно. Есть ли соображения как вернуть систему в исходное состояние , не прибегая к радикальным экзекуциям , типа перешивки биоса.
 
kDnДата: Суббота, 31.10.2009, 21:13 | Сообщение # 38
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
SHELLes, лучше всеже использовать новые версии... 2009-06-20 уже старая. Новее есть тут: http://nufans.net/grub4dos/
Quote (SHELLes)
Смонтировал его как fd1 (fd0 - уже есть в системе, но не читается)

Монитруйте как (fd0), если не заработает, то как (fd0) и (fd1)

afp,

Quote (afp)
Настройки биоса не изменились, даже выставил их по дефолту.

Так не изменились или выставили по дефолту? Это как говориться две большие разницы. Поглядите в биосе на предмет опции отвечающей за скорость USB, в разных биосах она может зваться по разному. Плоп в биос ничего не пишет, соответственно испортить тоже не может. Что-то вы делаете не верно...
Quote (afp)
На сайте ПлоП нашел , что драйверы хостконтролера работают тлько с усб 1,1
вы не правильно поняли... Почитайте еще раз описание.
Ну и кроме всего прочего - попробуйте загрузиться с другой флешки, т.к. сам лично наблюдал что иногда контроллер флешки дуреет и не хочет работать в режиме USB2.0... Помогает форматирование спец. утлитами. Но для начала - всеже проверьте флешку на другом компьтере, и на этом компьютере - другую флешку. Удачи.
 
ивашкаДата: Суббота, 31.10.2009, 21:39 | Сообщение # 39
Неизвестный
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Отсутствует
Всем доброго времени суток.
Вопрос к знатокам, в частности к kDn

Прочитал много разных статей тут на greenflash.su и forum.ru-board.com, но кое-что недопонял, поэтому прошу ВАС объясните на пальцах:

Смысл команд

Code
map (hd0) (hd1)
map (hd1) (hd0)
- интуитивно понятен (меняет местами hd0 и hd1), а что значат пустые скобки в команде:
Code
map () (hd1)
map (hd1) ()
- а тут видимо меняется hd1 с каким-то любым или текущим hd ?
И что будет, если в системе несколько хардов с разными ОС на каждом в том числе и с линуксом, как в таком случае после обмеа местами будет происходить установка винды ?

Что вообще значит команда checkrange и магические числа 0x80 и 0x8280 ?

В чем отличие команд:

Code
checkrange 0x80 read 0x8280 && map (hd0) (hd1)  
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
от
Code
map (hd0) (hd1)  
map (hd1) (hd0)
а также
Code
checkrange 0x80 read 0x8280 && map --hook
и
Code
map --hook

После того как поменяли флэш и какой-то хард переходим на него и далее гурзимся с него:

Code
chainloader /ntldr
а что если на нем нет ntldr ?

Верно ли я понимаю смысл команды

Code
chainloader +1 || chainloader /ntldr
она в цикле перебирает все загрузочные устройства chainloader +1
до тех пор, пока не найдет хард на котором есть ntldr и загрузиться с него chainloader /ntldr ?

kDn почему в разных вариантах установки винды с флэш ты используешь либо 0xFE либо 0xFF ?

 
afpДата: Суббота, 31.10.2009, 23:45 | Сообщение # 40
Неизвестный
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Отсутствует
kDn,
Проблема решилась просто, выставил в биосе оптимизированные настройки и все встало на свое место. GRUB грузится мгновенно , а образ закатывается в память за 1мин.26сек. Как и было.
Биос AMI v2.2, в нем об усб упомянуто только - доступен и недоступен. О весии и скорости там ничего нет. Да и по дефолту я его выставил только после многочисленных попыток загрузки и это ничего не изменило. Вот и получается , что ПлоП тихо за кадром выставил усб1,1 да так и оставил.
К сожалению как проверить эту догадку не знаю.
Спасибо за помощь и поддержку.
 
kDnДата: Воскресенье, 01.11.2009, 14:41 | Сообщение # 41
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
ивашка, для нормального понимания команд очень рекомендую почитать:
http://greenflash.su/Grub4Dos/Grub4dos.htm
http://www.boot-land.net/forums/index.php?showtopic=5187
и содержимое файла grub4dos-0.4.4-2009-10-16.zip\grub4dos-0.4.4\README_GRUB4DOS.txt

map () (hd1) # сопоставить текущее (root) устройство накопителю (hd1)
map (hd1) () # сопоставить накопитель (hd1) текущему (root) устройству
map --hook # выполнить сопоставление описанное в командах ранее.

Текущее root-устройство всегда можно поглядеть командой root, список устройств - командой find (но она может отображать не все устройства, а только часть)

checkrange 0x80 read 0x8280 && map (hd0) (hd1)

checkrange 0x80 read 0x8280 прочитать число из ячейки памяти 0x8280 и сравнить его с диапазоном (в данном случаее с 0x80). В этой ячейке хранится тип загрузочного устройства. См. документацию. Обычно принемает значения 0x0 для USB-FDD(ZIP) и 0x80 для USB-HDD
&& - выполнить если предыдущая команда возвратила true или закончилась без ошибок (в пределах одной строки). Выполнять цепочку команд нельзя :(... Подробности в документации, есть еще команда || ее смысл обратен &&

chainloader /ntldr
Равносильно chainloader ()/ntldr, т.е. во всех случаях когда опущено прямое указание устройства - подразумевается текущее (root-устройстово). Поменять текущее устройство всегда можно командами find --set-root... , root... , rootnoverify ... . Если файл не найден (для данного случая в корневом каталоге текущего root-устройства), то выдается ошибка и работа пункта меню прекращается.

chainloader +1 || chainloader /ntldr
Смысл можно объяснить словами так:
Попытаться загрузиться через загрузочный сектор текущего root-устройства, если не удалось, то стартуем через файл ntldr лежащий в корне текущего root-устройства.

Quote (ивашка)
kDn почему в разных вариантах установки винды с флэш ты используешь либо 0xFE либо 0xFF ?

Устройства 0xFE и 0xFF используются в третьем варианте, там выполняется двойное монтирование исошника (поглядите пункт меню внимательно), т.е. сначала образ монтируется в 0xFE (без использования монтирования в память), т.е. память не расходуем и происходит все максимально быстро, но нужен непрерывный образ. Далее из образа в виртуальном CD (0xFE) кусок нужного размеру грузится в память для дальнейшего использования драйвером firadisk (размер куска расчитывается при создании исошника, через спец. скрипт).

 
afpДата: Понедельник, 02.11.2009, 18:28 | Сообщение # 42
Неизвестный
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Отсутствует
kDn,
Есть ли возможность у firadisk визуализировать процесс загрузки файла в память, отсчет процентов, прогрессбар или что то в этом роде. Возможно существуют какие то обходные трюки. А то смотреть на мрачный застывший экран, как то нервно.


Сообщение отредактировал afp - Понедельник, 02.11.2009, 18:45
 
Sh1td0wnДата: Понедельник, 02.11.2009, 19:05 | Сообщение # 43
Программист
Группа: Модераторы
Сообщений: 3829
Репутация: 210
Статус: Отсутствует
afp, Загрузчик isolinux показывает процесс загрузки компонентов символами ".", но не умеет загружать более одного виртуального носителя (а iso не умеет вообще). Более того, не путайте термины: firadisk - драйвер для windows и на этапе собственной загрузки в память никак себя не проявляет.
В качестве обходного трюка можно попробовать разделить iso-шник на несколько кусков, а потом поочерёдно загружать их в память, снабдив сообщениями "Загрузка 10%... 20%...". Не думаю, что это получится.


НАЖМИ МЕНЯ, прежде чем что-либо написать
 
kDnДата: Понедельник, 02.11.2009, 19:19 | Сообщение # 44
Программист
Группа: Проверенные
Сообщений: 817
Репутация: 66
Статус: Отсутствует
afp, за загрузку образа в память отвечает grub4dos... Про визуализацию процесса загрузки - работоспособных способов не знаю.

Sh1td0wn, syslinux уже научился работать с исошниками, memdisk обновлен с версии 3.83, но грузит только в память, и есть еще ряд ограничений smile
Firadisk с syslinux пока не дружит в любом случае...

 
afpДата: Понедельник, 02.11.2009, 19:45 | Сообщение # 45
Неизвестный
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Отсутствует
Sh1td0wn,
kDn,
Жаль, что все так безнадежно, на msfn форуме нашел похожую жалобу, человек , наверное со слабыми нервами , попался на этот крючок. Благо ему разъяснили.
 
Форум » Мультизагрузочная флешка » Общий » FiraDisk (File/RAM Disk driver for Windows)
Поиск:
Чат

Copyright GreenFlash © 2024
Рейтинг@Mail.ru