Jump to content











Photo
- - - - -

XP RAM booting questions

xp ram booting

  • Please log in to reply
9 replies to this topic

#1 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 21 July 2018 - 02:47 AM

Greetings reboot pros! I use Grub4Dos and WinVblock to boot a modified (reduced size) XP Sp3 on a system that has 8GB RAM. I realize that XP can not see over 4GB RAM and 1GB of that 4 is reserved. is there a way to load the XP image into the RAM above 4GB and boot from there so that when XP is booted it will not have the size of the boot image also subtracted from the 3036mb of RAM it is limited to work with? one more question, the XP image has a compressed NTFS, I have read that Grub4Dos is able to also boot compressed images, the XP image Im booting is ~850mb. what tools can I use to make that smaller and still be bootable with Gru4Dos? TIA

#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 21 July 2018 - 11:13 AM

You can try using the Gavotte RRamdisk (that can use the memory from the upper 4 GB), but I don't think it is bootable (via grub4dos) by itself :unsure: It is a lot of time I don't play with these, so it is entirely possible that something new has come out regarding the bootability of the RRAmdisk.

It is even possible that a "Kansas City Shuffle" may work, but possibly it won't work if the image is beyond the 4 GB.  :dubbio:

 

The usual approach I use (generally speaking) is to have the smallest possible boot image and a separate image that is later mounted containing programs, data, etc.

 

grub4dos is "inherently" gzip enabled, i.e. anything that is gzipped will be expanded while being copied, but if the actual imaeg file is already compressed you won't gain much (if anything at all).

 

Roughly an 850 MB NTFS compressed may be a 1.5 GB uncompressed image which is (senselessly) huge, the dual image booting option will also shave off sensibly from the boot time as normally the longest part of it is the grub4dos copying the backing image to RAM, see also:

http://reboot.pro/to...adisk-crashing/

 

:duff:

Wonko



#3 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 21 July 2018 - 06:32 PM

on the topic you have linked, 'tinybit' had posted this menu entry:

map  --mem  (md)  0x800+4  (99)
map  --hook
write  (99)  [FiraDisk]\nStartOptions=disk,vmem=find:\XP_SP2_Bugfix_5.4.img,boot;\n\0
find  --set-root  --ignore-floppies  --ignore-cd  /XP_SP2_Bugfix_5.4.img
map  --mem  --top  ()/XP_SP2_Bugfix_5.4.img  (hd0)
map  --e820cycles=0
map  --hook
root  (hd0,0)
chainloader  /ntldr 

I tried using the "--top" command like this:

title XPnRAM XP.img
find --set-root /XP.img
map  --mem  --top  ()/XP.img  (hd0)
map --hook
find --set-root /ntldr
chainloader /ntldr 

and it worked! at least it worked to not allow the size of the XP.img to be subtracted from the useable RAM once booted into it. I did not stay long into it to test much but it did indicate 2.96 GB RAM usable now.

 

I wonder is there some way to remap that reserved section that is using up another 1.04GB so that the XP.img can have all 4GB usable?

 

I looked up "kansas city shuffle" and "Gavotte RRamdisk" but so far, I dont see how these can work for me to get that last 1.04GB usable. any suggestions about them?

 

 

the XP.img is not compressed, only its contents are NTFS compression. I will look up Gzip and related Grub4Dos info and see if I can get it smaller and working better.

 

thank you Wonko the Sane! and tinybit also.


Edited by SoItIs, 21 July 2018 - 06:32 PM.


#4 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 21 July 2018 - 11:19 PM

about Grub4Dos & compression format compatibility: http://reboot.pro/to...b4dos-supports/

 

Im using v0.4.5c 12.06.19 at this time and was able to compress a 650mb XP.img

 

w/gzip = 545mb

w/lzma= 472mb

 

I then tried 7z GUI since it allows you to select lzma compression and I left the other options at default selections. it compressed even smaller (~428mb) but Grub4Dos error indicates this was not supported.

 

I noticed that when Grub4Dos is loading the gzip image, it shows the progress same like it does with uncompressed img but when loading the lzma img it does not show progress. I will see if newer version show progress while loading lzma

 

I will try to figure out how to get 7z GUI to compress img now the way it will work with Grub4Dos. I'd rather use GUI but it has several other selections on the same screen as the compression method selection and I am not familiar with them to know how to make it works same as lzma from cmd. any suggestions about this are welcome.

 

and also how I might get the extra 104mb working but I think since it is hard coded in XP to reserve that part, it is probably not easy.



#5 karyonix

karyonix

    Frequent Member

  • Advanced user
  • 481 posts
  •  
    Thailand

Posted 22 July 2018 - 02:04 AM

Memory remap is a motherboard feature. It can be enabled in BIOS setting of some motherboard.

I had a motherboard which reserve 0.75 GB of the upper portion of 0 - 4 GB address, leaving 3.25 GB available to 32-bit Windows.
With 8 GB total RAM, the rest of RAM was at address 4 GB to 8.75 GB.
In this case, the upper 4.75 GB region could be used with GRUB4DOS map --mem --top and firadisk. Windows still had 3.25 GB.
Windows 7 RC x86 in 4.75 GB RAM disk

#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 July 2018 - 11:24 AM

The Gavotte RRAmdisk is a ramdisk driver that can make use (on 32 bit systems) of the "excess" RAM beyond the 3... something (between 3.25 and 3.75 depending on motherboards/BIOSes).

The driver is here (just in case):

http://reboot.pro/to...ottes-rramdisk/

 

 

but if the Firadisk works fine with the upper part of memory, it is much better if you use that (as in case of issues we have its Author, karyonix, around :worship: )

 

The "Kansas City Shuffle" (or "fake signature") method is a trick at the time devised by S4e on the 911CD forum (now dead) that allows to initiate the booting of the XP from an accessible media in "real mode" then (swiftly) replace the "booting source" on-the-fly while booting, it is (was) used in some specific cases (as an example on motherboards that had only USB 1.1 support in BIOS but actually had "real" USB 2.0 ports) but more generically it is a way to make a "bridge" between what the NTLDR/BIOS can "see" and access and what can be "seen" and accessed by a (later loaded) mass storage driver, or if you prefer it is a (actually a bit complex) way to allow to workaround the issue about non-bootable mass storeage drivers.

Some info and links have been posted recently here (JFYI):

http://reboot.pro/to...2-sp2/?p=207270

 

Finally, another thingy you may want to experiment with is the new kid on the block, the SVbus driver:

http://reboot.pro/to...r-for-grub4dos/

 

A note about compression.

Compression can often represent a trade-off "size" vs. "speed", so not necessarily you will have an advantage with higher compression as decompression time during booting may be higher, there is not a one size fits all solution, you will have to experiment and fid what works better with the specific case.

Still, reducing the size of the whatever is compressed (and loaded to RAM at boot time) remains the best booting speed enhancement you can have, later copying to the ramdisk "the rest" will anyway be faster than the grub4dos copying.

 

:duff:

Wonko



#7 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 22 July 2018 - 05:46 PM

I looked into the BIOS settings but no luck to have RAM remap options on this one. I have used your firadisk with success also and was recently reading some reports from tinybit that WinVblock my have some difficulties with RAM above 4GB in some situations but I can not find where I read this now to recall the specifics.

 

thanks for your input and for sharing your firadisk!

 

 

 

I wasnt sure how the Kansas city method could be used but was reading old threads here and found this:

 

http://reboot.pro/to...disksys-xp2003/

 

 

Most of the problems with Mass Storage Device drivers (including RAMDISK drivers) is (if you want to actually boot from them) to provide a mechanism to have the driver (or media) available BOTH in the early part of the booting (real mode) AND in the second part (protected mode).

The driver has to be a kernel driver.
In most cases it also has to be a miniport driver. :)

Server 2003 SP1 provided (for the first time - setting aside for the moment XP Embedded) such a mechanism, i.e. it's SETUPLDR.BIN could "hook" in real mode the image loading it to the RAMDISK.SYS.

Firadisk (and WinVblock) use a different approach, the "real mode" part is carried by grub4dos or memdisk, and then the driver hooks the already mapped ramdisk image.

Recent evolutions of Firadisk allow for DIRECT mapping (without RAMDISK) of the image.

What joakim and JFX, and others mentioned in the thread found out is that with a few simple patches to the Registry, the same mechanism used in Server 2003 SP1 for SETUPLDR.BIN can work with a "normal" NTLDR.


:)
Wonko

 

 

which somewhat clarifies for me about 'real mode' and 'protected mode' but I am unsure when XP reserves the 1.04GB that limits the amount of usable RAM. (NTLDR)?

 

Im not sure I am smart enough to figure this out but there seems to be still many users of XP  and I think they all have this same limitation. it would be nice to find a solution to it.

 

I also looked into the fix128 patch to enable XP to see above 4GB ram but it is of Russian origin and the translations to english are not clear enough for me to be able to try it.

 

Thank you also again Wonko the Sane for your input and the links.


Edited by SoItIs, 22 July 2018 - 05:47 PM.


#8 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 July 2018 - 06:25 PM

No, the "reserved area" is a "BIOS" thing , it is "unmappable memory", see this thread where the matter is discussed:

http://reboot.pro/to...2bit-35gb-25gb/

 

The Fix128 (or similar) patch (be aware that there are a few versions around, some coming form Russia, some coming from China, some a mishmash by some demented kids that made a mess of them) is a completely different thing (it is about using PAE to access memory over the 4 GB limit), and it restores to XP what the good MS guys intentionally removed in SP2, see:

http://reboot.pro/to...e-3#entry188778

http://reboot.pro/to...n-winxp-32-bit/

 

Check also here for some "understandable" details and ways to apply the "right" patches:

https://msfn.org/boa...n-4gb-with-pae/

BUT read some of the history (reasons why it was removed):

https://msfn.org/boa...comment=1093089

https://msfn.org/boa...comment=1125316

 

BOTH are however a hit and miss game, if your motherboard (or its BIOS) does make a large chunk of RAM "unmappable", there are no solutions (if not changing the motherboard/BIOS) whilst the PAE patch (or using the XP SP1 kernel files) will either work just fine or crash with a BSOD, either "regularly" or "randomly", depending on a number of factors, including (again) the way the motherboard and other hardware components behave, but much more than that the actual "other" drivers in use and *needed* on the specific machine.

 

 

:duff:

Wonko



#9 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 23 July 2018 - 06:19 AM

those links were all very interesting reading. since it is so iffy as to if or not the patching works, I will wait for a cold, rainy day to experiment with this. Gavotte RRamdisk seems to be much more predictable for success using the extra RAM a different way so I will try this first but it also seems complicated if you want to boot XP in RAM above 4GB while also getting a ramdisk to be available with the RAM'd XP. I will have to do some more reading and see if I can find anything about this.

#10 SoItIs

SoItIs
  • Members
  • 9 posts
  •  
    United States

Posted 02 August 2018 - 08:50 PM

it has been rainy but not cold so I experimented a little. can get XPsp3 to see the extra RAM but when it does, I only have one processor core available instead of the two. I will go review those threads again to see if I missed anything. any suggestions about how to get both cores working just in case I didnt mis anything?







Also tagged with one or more of these keywords: xp, ram booting

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users