Jump to content











Photo
* * * * * 7 votes

FiraDisk (latest = 0.0.1.30)


  • Please log in to reply
575 replies to this topic

#26 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 01 September 2009 - 02:48 PM

jaclaz, you are right. Thanks for correction.

----

Here is the new version of FiraDisk I promised. 0.0.1.8
http://www.mediafire...ver-0.0.1.8.zip

It is possible to use these drives.
menu.lst
title (hd0,0)  (fd1)=flop.img  (hd1)=hdd1.img  (hd32)=myimg.iso  (hd2)=myimg.iso/HDD2.IMG

map --mem (hd0,0)/flop.img (fd1)

map --mem (hd0,0)/hdd1.img (hd1)

map --mem (hd0,0)/myimg.iso (hd32)

map --hook

map --mem (hd32)/HDD2.IMG (hd2)

map --rehook

root (hd0,0)

chainloader +1
----

boot.ini option examples
Boot partition cannot be on these virtual drives.
Create empty virtual disk of specified size in bytes in virtual memory backed by page file.
/firadisk=disk,vmem,size=16450560
Create virtual disk of specified size backed by specified file.
File size is increased to match specified size. Changes are written to file.
/firadisk=disk,vmem=C:\hdd3.img,size=32901120

/firadisk=disk,vmem=multi(0)disk(0)rdisk(0)partition(1)\hdd4.img,size=65802240
Create virtual disk backed by specified file. Size of virtual disk is size of file.
/firadisk=disk,vmem=C:\hdd3.img

/firadisk=disk,vmem=multi(0)disk(0)rdisk(0)partition(1)\hdd4.img
Create virtual CDROM backed by specified file. Size of virtual disk is size of file.
/firadisk=cdrom,vmem=C:\cd1.iso
Create two virtual drives. Use semicolon to separate entries.
/firadisk=disk,vmem=C:\hdd3.img;cdrom,vmem=C:\cd1.iso
Create virtual disk backed by specified file starting from specified offset to end of file, or specified size.
Warning: Not tested much yet!
/firadisk=disk,vmem=C:\hdd5.img,offset=4096

/firadisk=disk,vmem=C:\hdd6.img,offset=32901120,size=32901120
file=path should work the same way as vmem=path. But in my test, it result in error message while formatting new partition in new image file the first time. No error message while formatting it the second time.

FiraDisk description in the first post is updated to match the new capability.

#27 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 02 September 2009 - 02:45 AM

@jaclaz

Thanks for the link. Will go through.

@karyonix

The new version shows CDs perfectly now within windows. Still not able to get it to work in livexp.

#28 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 02 September 2009 - 06:46 AM

I tested firadisk in Windows 7 RC 64-bit. It seems to recognize GRUB4DOS' RAM drive properly.
But after installation of unsigned firadisk driver you have to press F8 and choose Disable Driver Signature Enforcement no every boot otherwise Windows will not start.
To get Windows back to normal after you have finished testing, disable firadisk service. In registry key 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\firadisk' , set 'Start' value to 4.

----

Do you know if that means it can handle unmanaged memory, like above the 3,2Gb rough limit.

A late answer for this question.
It can, if you have capable hardware and you didn't disable PAE.
It can be test by modifying Control\FiraDisk\VolatileData registry key and disable/re-enable FiraDisk device.

You can find out about address and size of memory above 4GB address limit in GRUB4DOS. Use command displaymem and look for memory address 1*4GB + 0 and take note of its address and size (which is 0x30000000 in my machine).
I think GRUB4DOS' rd-base cannot be set to 0x100000000, we have to find other way to tell firadisk to use memory at this address.

One way is adding firadisk boot.ini option parameter like this to future version of FiraDisk.
/firadisk=disk,RAM,offset=4294967296,size=805306368
Note : 0x100000000 = 4294967296 and 0x30000000 = 805306368
It is possible but I feel it is unsafe. Should I do that ?

#29 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7,100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 02 September 2009 - 08:48 AM

To get Windows back to normal after you have finished testing, disable firadisk service. In registry key 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\firadisk' , set 'Start' value to 4.


Wouldn't SC be more handy? (I don't know if SC is still in Windows 7) :P
http://ss64.com/nt/sc.html
http://www.geocities...MMANDS/S/SC.HTM

Something like:

sc config firadisk start=disabled


Start options are
(0x0) boot--a device driver loaded by the boot loader
(0x1) system--a service started during kernel initialization
(0x2) auto--a service automatically started at boot time, even if no user logs on
(0x3) demand--a service that must be manually started (the default)
(0x4) disabled--a service that can't be started


Corresponding to:
http://support.micro...kb/103000/en-us
START TYPE	 LOADER	 MEANING



0x0			Kernel	 Represents a part of the

(Boot)					driver stack for the boot

						  (startup) volume and must

						  therefore be loaded by the

						  Boot Loader.



0x1			I/O		Represents a driver to be loaded

(System)	   subsystem  at Kernel initialization.



0x2			Service	To be loaded or started

(Auto load)	Control	automatically for all startups,

			   Manager	regardless of service type.



0x3			Service	Available, regardless of type,

(Load on	   Control	but will not be started until

demand)		Manager	the user starts it (for example,

						  by using the Devices icon in

						  Control Panel).



0x4			Service	NOT TO BE STARTED UNDER ANY

(disabled)	 Control	CONDITIONS.

			   Manager

:whistling:

jaclaz

#30 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 08:49 AM

I tested firadisk in Windows 7 RC 64-bit. It seems to recognize GRUB4DOS' RAM drive properly.
But after installation of unsigned firadisk driver you have to press F8 and choose Disable Driver Signature Enforcement no every boot otherwise Windows will not start.


Wouldn't that be easier to have the boolean value set in bcd with "TESTSIGNING" and "nointegritychecks" instead?

What about nt6.x? Do you know how to boot vistape (vista/2008) from disk image in ram (without wim)?

One way is adding firadisk boot.ini option parameter like this to future version of FiraDisk.
/firadisk=disk,RAM,offset=4294967296,size=805306368
Note : 0x100000000 = 4294967296 and 0x30000000 = 805306368
It is possible but I feel it is unsafe. Should I do that ?


I really have no idea at the moment, but will look into it later on.

Joakim

#31 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 02 September 2009 - 10:19 AM

@jaclaz
I just wrote the first thing I can think of. Using sc command should be better than editing registry manually.

@joakim
1. I have tested it for a short time with few reboots. If someone want to use it longer than that, it is a good idea to do as you suggested.
2. I don't have VistaPE, so I don't know. Can you add entries in its Enum registry key like you do for XP PE?

#32 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 10:39 AM

@joakim
2. I don't have VistaPE, so I don't know. Can you add entries in its Enum registry key like you do for XP PE?


Yes, the system.hiv has replaced setupreg.hiv. But since parts of txtsetup.sif has moved into the bcd store, it is not as easy to force load drivers as it was. You probably have to tweak the ramdiskoptions and replace boot.sdi with something. I have tried many different things earlier, but got stuck and came nowhere. If you have some great theories, I'm interested.

Joakim

#33 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 02 September 2009 - 10:46 AM

@joakim

Have you got this to work in Livexp? I am able to see the SCSI & Raid Controller Firadisk Driver in Livexp but the disk itself is not recognised.

#34 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 10:55 AM

@joakim
Have you got this to work in Livexp? I am able to see the SCSI & Raid Controller Firadisk Driver in Livexp but the disk itself is not recognised.


I am not the most experienced livexp user here and have not tried firadisk with livexp.

I have earlier experienced problems with livexp detecting certain storage. I am going to do more ramloading tests in the near future and livexp-related will be one of them.

Joakim

#35 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 02 September 2009 - 11:45 AM

@joakim

Ok thanks. I am trying to make the Livexp work and will post the script if I succeed.

oriensol

#36 fujianabc

fujianabc

    Member

  • Members
  • 46 posts
  •  
    China

Posted 02 September 2009 - 04:22 PM

Here is the txtsetup.oem for firadisk, in which x86 is the default. It can be used in an F6 floppy.

[Disks]

d1 = "FiraDisk Installation Disk", \firadisk.sys, \

d1 = "FiraDisk Installation Disk", \firadisk64.sys, \



[Defaults]

scsi = firadisk32



[scsi]

firadisk32 = "FiraDisk Virtual Disk Driver x86",firadisk

firadisk64 = "FiraDisk Virtual Disk Driver x64",firadisk



[Files.scsi.firadisk32]

driver	 = d1,firadisk.sys,firadisk

inf		= d1,firadisk.inf



[Files.scsi.firadisk64]

driver	 = d1,firadisk64.sys,firadisk

inf		= d1,firadisk.inf


#37 cdob

cdob

    Silver Member

  • Expert
  • 949 posts

Posted 02 September 2009 - 09:09 PM

@fujianabc

How do you use this txtsetup.oem?
Do you use a real floppy drive?
Do you use a virtual floppy at a virtual machine?
Do you have a example?

I tried a grub4dos virtual floppy drive.

menu.lst[codebox][Disks] disk1 = "VMware SCSI Controller Installation Disk", \disk.tag, \ [Defaults] scsi = VMSCSI [scsi] firadisk = "FiraDisk Virtual Disk Driver" VMSCSI = "VMware SCSI Controller" [Files.scsi.firadisk] driver = disk1, firadisk.sys,firadisk inf = disk1, firadisk.inf [Files.scsi.VMSCSI] driver = disk1, vmscsi.sys, VMSCSI inf = disk1, vmscsi.inf catalog = disk1, vmscsi.cat ;driver = disk1, FiraDisk.sys, firadisk ;inf = disk1, firadisk.inf [Config.VMSCSI] # Add registry value # HKLM\System\CurrentControlSet\VMSCSI\Tag with value of 5 value = "", Tag, REG_DWORD, 5 # HKLM\System\CurrentControlSet\VMSCSI\Parameters\PnPInterface\5 # The subkey name should be 5 for PCIBus # The value of the subkey should be 1 for PnP enabled or 0 for disabled. value = Parameters\PnpInterface, 5 ,REG_DWORD, 1 # set max outstanding requests to the adapter value = Parameters\Device, NumberOfRequests, REG_DWORD, 128

[HardwareIds.scsi.VMSCSI]
id = "PCI\VEN_104B&DEV_1040", "VMscsi"[/codebox]
The floppy (fd0) is mapped to C: \Device\Harddisk1\Partition1
Setup dosn't find this drive for file copy.

#38 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 02 September 2009 - 09:47 PM

There appears to be something wrong with the last version, as I get BSOD 7B on both livexp and moa (2k3sp2 sources) when booting off diskimage with "map --mem".

It is the same setup that worked with moa with the first version. Patching the same image back to first version of driver boots fine though.

What happened to last version?

Joakim

#39 fujianabc

fujianabc

    Member

  • Members
  • 46 posts
  •  
    China

Posted 03 September 2009 - 07:08 AM

@fujianabc

How do you use this txtsetup.oem?
Do you use a real floppy drive?
Do you use a virtual floppy at a virtual machine?
Do you have a example?

The txtsetup.oem is used to load firadisk driver if you want to setup xp/2003 from iso or boot from a winpe iso.
In the floppy, it should contain txtsetup.oem, firadisk.inf,firadisk.sys

To start setup from winxp.iso
title start xp setup from iso

map --mem (hdx,x)/Firadisk.vfd (fd1)

map --mem (md)0x6000+800 (fd0)

map --mem (hdx,x)/winxp.iso (0xff)

map --hook

dd if=(fd1) of=(fd0) count=1

chainloader (0xff)
And windows setup can load firadisk drive from (fd1) and install the driver to winxp automatically, and you needn't press F6.

title boot pe 1.x from iso

map --mem (hdx,x)/Firadisk.vfd (fd0)

map --mem (hdx,x)/xpe.iso (0xff)

map --hook

chainloader (0xff)
setupldr.bin can load Firadisk driver from fd0 for winpe automatically, and you still needn't press F6.

#40 cdob

cdob

    Silver Member

  • Expert
  • 949 posts

Posted 03 September 2009 - 04:09 PM

The txtsetup.oem is used to load firadisk driver if you want to setup xp/2003 from iso or boot from a winpe iso.
In the floppy, it should contain txtsetup.oem, firadisk.inf,firadisk.sys

Thanks, that's nice.
My old BartPE.iso does contain a winnt.sif with [massstoragedrivers].
Firadisk was not found, searched at \$OEM$\firadisk

Did add winnt.sif to the floppy image, almost empty, one line only

[Data]

Awesome RAM loaded booting a old existing PE image.

To start setup from winxp.iso

That's clever grub4dos usage.

#41 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 434 posts
  •  
    Thailand

Posted 03 September 2009 - 07:16 PM

New version 0.0.1.10
http://www.mediafire...er-0.0.1.10.zip

- Virtual floppy disk drives
Create RAM floppy disk drive from GRUB4DOS
or create/mount image file drive with boot.ini option
/firadisk=floppy,vmem=C:\flop2.img,size=1474560,heads=2,sectors-per-track=18
/firadisk=floppy,vmem=C:\flop2.img
No space comma semicolon allowed in option.

- Access memory above 3.2GB in Windows XP/Vista/7 32-bit
Some portion of physical address in range 0-4GB is mapped to device, leaving only approximately 3-3.5 GB available for RAM. If computer have more RAM than available address space, the remaining RAM is mapped to physical address above 4GB, so it can be used when processor support >32 bit address. When CPU is running in 32-bit mode with PAE enabled, it can access memory at physical address >= 4GB. Windows XP/Vista/7 32-bit don't use RAM above 4GB physical address. Some call it "unmanaged" memory. Some software (commercial software/shareware/freeware) can use it to create RAM drive.
If you want test creating RAM drive in that memory with FiraDisk, you can use boot.ini options like this one.
/firadisk=disk,physicalmemory,offset=0x100000000,size=0x30000000
EDIT: Sorry. This is wrong. Please use decimal number, not hexadecimal.
/firadisk=disk,physicalmemory,offset=4294967296,size=805306368
Replace the numbers with physical address and size of your unused RAM, which can be found by looking at result of "displaymem" command in GRUB4DOS.

#42 fujianabc

fujianabc

    Member

  • Members
  • 46 posts
  •  
    China

Posted 03 September 2009 - 08:03 PM

@karyonix


Firadisk can now be used in xp/vista/win7, but I failed on server 2003. And some one has also reported that he failed to load firadisk on 2003 base winpe.

Is there any special in win server 2003?

#43 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 03 September 2009 - 08:42 PM

Firadisk can now be used in xp/vista/win7, but I failed on server 2003. And some one has also reported that he failed to load firadisk on 2003 base winpe.

Is there any special in win server 2003?

FiraDisk works in PE-mode with server 2003 sources if used with version 0.0.0.1.

I can verify that booting off diskimages at 300 Mb and upwards works fine. However as I've already posted, version 0.0.1.8 does NOT WORK. Both livexp and moa has been tested by me (both with 2003 sources).

I have not tested any other than these two versions, as of now, but will try out 0.0.1.10 soon.

Could someone explain the necessary entries for use with nt6 & nt7?

Joakim

#44 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 03 September 2009 - 10:34 PM

The 2003 issue is still present in the new version 0.0.1.10.

BSOD 7B

Joakim

#45 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 04 September 2009 - 12:31 PM

Would like to report that finally I was successful in booting livexp without SDI (but with Imdisk running along with firadisk).

Here's the menu.lst extract:

title LiveXP-Firadisk

map --mem (hd1,0)/test_img.img (hd3)

map --mem (hd1,0)/pmagic-4.3.iso (hd32)

map --mem (hd1,0)/LiveXP.iso (0xFF)

map --hook

chainloader (0xFF)

with

1. Livexp booting from LiveXP.iso
2. pmagic iso visible on boot
3. test_img hard disk image visible on boot

Everything visible in Disk Management.

There is only one small issue - when you click on the FiraDisk Virtual Disk Enumerator in Device Manager, I get a Device Installer error - "Windows could not load the installer for SCSIAdapter. Contact your hardware vendor for assistance." Everything works fine apparently, even with this error.

Will do some more testing and post the script, in the other thread in App Scripts, perhaps tomorrow.

@karyonix

I would like to gratefully acknowledge your help in understanding how the driver works.

Another question, can we include your driver inside the script? I feel it would be a better idea to pick this up from the %GlobalTemplates% area - after the user has downloaded the driver, especially while it is still under development.

#46 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 04 September 2009 - 12:52 PM

@oriensol
May I ask what combination of sources and version of firadisk you used?

Joakim

#47 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 04 September 2009 - 01:02 PM

@joakim

I have used the 0.0.1.10 version.

The script basically has SCSI.Load and some registry changes, along with driver copy.

#48 joakim

joakim

    Silver Member

  • Team Reboot
  • 874 posts
  • Location:Bergen
  •  
    Norway

Posted 04 September 2009 - 01:12 PM

@joakim

I have used the 0.0.1.10 version.

The script basically has SCSI.Load and some registry changes, along with driver copy.

And the sources? Is it xp or 2k3?

#49 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 04 September 2009 - 01:16 PM

@joakim

Sorry, missed it - XP source disk. Will check with 2k3 and report soon.

#50 oriensol

oriensol

    Frequent Member

  • Advanced user
  • 216 posts
  •  
    India

Posted 04 September 2009 - 01:50 PM

@joakim

Seems to work equally well with 2k3 sources also.




3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users