RAM Drive

  • Thread starter Fabio Gianzanti
  • Start date
F

Fabio Gianzanti

Is there a way to load everything from El Torito XPe and
put it in RAM (like a RAM Drive), and after that
everything will be load from RAM and not from CD ROM?
 
S

Saad Syed [MS]

Fabio,

1. Prepare your XPE image, add the 'Windows Ramdisk Driver' component to it.
This has to be targetted for drive c:.
2. Take it through FBA.
3. Mount an SDI Disk using SDI Loader, partition, format it. (lets call this
SDI postfbadisk.sdi)
4. Copy the post FBA image into the SDI mounted partition (lets call this
x:). This partition will get copied as-in into RAM. You can leave out
boot.ini, ntldr and ntdetect.com (you'll need these in step 7 and 8)
5. Run the following set of commands from a cmd prompt.
X:\Program Files\Windows Embedded\Utilities> sdimgr /new ramdisk.sdi
X:\Program Files\Windows Embedded\Utilities> sdimgr /readpart:x: ramdisk.sdi

This will read the partition from the sdi disk into another SDI named
ramdisk.sdi, we do this because the ramdisk driver can only mount volumes
and not disks. And the SDI driver supports only file backed disks.

6. Unmount postfbadisk.sdi.
7. Modify boot.ini to point NTLDR to the ramdisk image
[boot loader]
timeout=30
default=ramdisk(0)\WINDOWS
[operating systems]
ramdisk(0)\WINDOWS="Windows XP Embedded from RAM" /fastdetect
/rdpath=multi(0)disk(0)rdisk(0)partition(1)\ramdisk.sdi /rdimageoffset=4096


(Note:the /rd* options need to be on the same line as ramdisk(0)\windows).

8. Now you need an ISO which is bootable and has the following files.
a. ntldr
b. ntdetect.com
c. boot.ini
d. ramdisk.sdi

The easiet way of doing this is to mount another SDI using SDILoader and
run HD2ISO to get the ISO.

So use SDILoader to mount an SDI, format partition it and make the
partition active.

Copy the four files listed above into the SDI partition. Run HD2ISO on
the SDI Disk it to get an Eltorito ISO image

9. Burn the ISO to your CD, it'll load ramdisk.sdi into RAM which contains
your XPE image.


Let me know if you've anymore questions.

Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and confers no rights.
 
F

Fabio Gianzanti

Saad,

well, it worked almost 100%.
I did everything, and before running in CD ROM I tried
the image (with NTLDR,NTDETECT, boot.ini and ramdisk.sdi)
in a harddisk and everything is good, running well. But,
when I created the ISO Image and burned to the CD, in the
middle of the loading process (while there is that bar
loading) I received the following message:
WINDOWS COULD NOT START DUE TO AN ERROR WHILE BOOTING
FROM A RAMDISK. WINDOWS FAILED TO OPEN THE RAMDISK IMAGE

Any ideas??

Well, beside that, is there a way to put a background
image and/or change the "Loading RAMDISK image..."
phrase ?

Thanks in advance,

Fabio Gianzanti
 
S

Saad Syed [MS]

Fabio,

Do you see a progress bar? does it advance? the /RDPATH option needs to
specify the exact location of the ramdisk. Maybe you need to try a different
ArcPath. You'll get that error when NTLDR is unable to locate the RAMDISK
specified in the /RDPATH option. I use
/rdpath=multi(0)disk(0)rdisk(0)partition(1)\ramdisk.sdi without any problem.
Try placing ramdisk.sdi on the first hard disk partition, if its able to
open it from the same CD, that would mean its looking in the wrong location,
you should be able to fix that by try a different ARC path. Also run
sdimgr.wsf ramdisk.sdi and paste me the output in your reply.


Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and confers no rights.
 
F

Fabio Gianzanti

Hello Saad,

yes, I see the progress bar until its reach the middle of
the screen, but after that the machine stops reading from
CD and show the message:
WINDOWS COULD NOT START DUE TO AN ERROR WHILE BOOTING
FROM A RAMDISK. WINDOWS FAILED TO OPEN THE RAMDISK IMAGE
Do you know if I have to use a FAT partition to create a
CD or could be NTFS ?


Thanks,

Fabio Gianzanti


This is the output:

SDI File Manager version 1.00.621
Copyright (C) 1999-2001 Microsoft Corp. All Rights
Reserved.

SDI File : C:\Program Files\Windows
Embedded\utilities\ramdisk.sdi
MDB Type : ---
Boot Code Offset : 0x00000000.00000000
Boot Code Size : 0x00000000.00000000
Vendor ID : 0x0000 (0)
Device ID : 0x0000 (0)
Device Model : {00000000-0000-0000-0000-
000000000000}
Device Role : 0
Runtime GUID : {00000000-0000-0000-0000-
000000000000}
Runtime OEM Rev : 0
Page Alignment : 1 (4096 bytes)

Type Offset Size Base
Address Attr
---- ------------------- ------------------- -------------
------ ----------
PART 0x00000000.00001000 0x00000000.0C413400
0x00000000.00000007 0x00000000
DISK 0x00000000.0C415000 0x00000000.04000000
0x00000000.00000000 0x00000000
 
S

Saad Syed [MS]

My apologies, I should've mentioned that you need to use FAT.

There is no way for you to change the loading RAMDISK image progress bar,
its hardcoded in NTLDR to appear that way.

Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and confers no rights.
 
F

Fabio Gianzanti

Thanks Saad,

now I have my RAMDISK working very well.

Is there any other recommendantion about using RAMDISK ?
I believe that now I dont need more to use EWF, right ? I
still using the rule of the size of RAM that has to be 2
times the image size, is it correct ?

Thanks,

Fabio Gianzanti

-----Original Message-----
My apologies, I should've mentioned that you need to use FAT.

There is no way for you to change the loading RAMDISK image progress bar,
its hardcoded in NTLDR to appear that way.

Thanks,
- Saad, MS

This posting is provided "AS IS" with no warranties, and
confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top