The easy - and free - way to create and use a RAMdisk

Discussion in 'Software' started by Bad_Machine, Feb 13, 2012.

  1. Bad_Machine

    Bad_Machine Guest

    RAM nowadays seems to be one of the most underused parts of our systems. An average system today has at least 4GB to 6GB of RAM installed, and with the advent of new chipsets - and with RAM dropping in price - higher configurations are becoming more common.

    Still, the average computer user hardly makes full use of their RAM. Far from it. Unless you're running highly demanding games or other specialized applications, you will most probably never push your ample RAM to its full capacity and potential. That's where a RAMdisk comes in handy and trust me, once you start using one you'll never look back.

    I have tested some of the most popular RAMdisk applications out there and the numbers surely tell a story. So far Primo RAMdisk by Romex Software has produced some of the fastest results but it is a commercial solution. For the purposes of this mini tutorial I have used another excellent program, ImDisk Virtual Disk Driver.

    ImDisk doesn't have the sheer speed and wealth of options that a commercial app like Primo offers but it's speeds are definitely decent; in fact ImDisk is faster than a lot of its commercial competition out there. Actually RAMdisks are so fast that most users wouldn't notice much difference between Primo and ImDisk in day to day use and without using benchmarks, (unless of course they constantly move files from/to the RAMdisk, in which case the speed differences will eventually become evident). ImDisk is fast, but it is also FREE! I like this word and I'm sure you'll like it too when you get to transform most of your underused RAM into a superfast drive for no extra dosh.

    On with the show. First download and install ImDisk from here:

    Tools and utilities for Windows

    Installation is dead-simple and there's nothing to configure. The program will create a Control Panel applet which you can use to manually create a RAMdisk of your choice. This however, is not necessary. During this guide we will easily configure a start-up task which will automatically create a RAMdisk of the size and file system of your choice, on every Windows startup. In this case we will create a 25000MB exFAT RAMdisk (exFAT in my benchmarks has produced the fastest results). We will also auto-label it as RAMDISK and will auto-create a TEMP folder in it on every start-up. You can change this to any size or label you like, for as long as you have enough RAM left for the system.

    If you use a swap/page file then you should leave at the very least 3GB of RAM free for the system . If you have disabled your swap file, then leave at least 4GB to 5GB for the system to avoid out of memory errors. You can then assign the rest of your RAM to the RAMdisk.


    So, on with the task creation. To Run Task Scheduler:
    • Click the Start button.
    • Click Control Panel.
    • Click System and Maintenance.
    • Click Administrative Tools.
    • Double-click Task Scheduler.
    (A quicker way to get there is to type Task at the search bar of your START button and the shorcut to the scheduler will appear on top).

    Run it and click Task Scheduler Library on the left pane. Don't select any of the subfolders under that name, just click the name itself. Right-click on the right pane and select "Create Task". Make it look like the screenshot below and click OK - don't forget to change the number 25000 to whatever RAMdisk size in megabytes you are configuring for your own system, and to also enter a description if you want to.

    NOTE: Your own user name will be next to the Author field, and also next to the Change User Or Group button. I have erased my own details from the screenie below to avoid confusion:


    Select the Triggers tab next and click New. Make it like the following screenie, and click OK:


    Select the Actions tab next and click New. Make it like the following screenie. Not all arguments are visible in the above picture, so I am supplying examples below:


    On the Add Arguments (optional) field, paste the command structure as it is on the two examples below. The 25000 number should be changed to your desired RAMdisk size, which should be a number lower or equal to the total size of your RAM minus 3GB. This will ensure that Windows has 3GB left to use. For example, if you only have 4GB of RAM then you should create a RAMdisk of around 1000MB. In this case just change the 25000M parameter to 1000M. You can also choose a different file system, and also change the letter assigned to your new RAMdisk (make sure you don't specify a letter that is already in use by Windows for another device).

    For example, for a 1000MB RAMdisk using the exFAT file system and having the letter R assigned to it:
    -a -s 1000M -m R: -p "/fs:exFAT /q /y"

    Or, for a 1000MB RAMdisk using NTFS and having the letter Z assigned to it:
    -a -s 1000M -m Z: -p "/fs:NTFS /q /y"


    After defining your desired arguments as described above, leave Task Scheduler open. Just miminize its window, we'll get back to it in a minute. At this point you have to make sure that your computer is configured to show file extensions. If it is not then go to the Control Panel, first, run the Folder Options applet, and under the View tab make sure to remove the tick from the Hide extensions for known file types box. Apply and OK the change, then close Control Panel and run Windows Explorer. Navigate to the root of your C: drive, create an empty notepad text file there, and name it ImDisk TEMP FOLDER.txt. Open it and paste the following lines in it:

    @echo off
    mkdir TEMP
    label R: RAMDISK

    On the above lines you can change the drive letter; just make sure it is the same letter as the one you used earlier in Task Scheduler, and of course you can also change the label to a different one, again making sure that the label you choose is short.

    Save the text file, close it, and change its extension to .bat. Windows will warn you about changing the extension, you can ignore this and proceed with the change. Now you should have a file called ImDisk TEMP FOLDER.bat at the root of your C: partition.

    Go back to the Task Scheduler (which you had left open and minimized before), and under Actions click New once more. This time make it look like this:


    Also make sure that the RAMdisk creation action that we created earlier is on top, with the .bat action under it.

    The last two tabs should look like this:



    Click OK and you're done! Now a RAMdisk with the size, file system, drive letter and label of your choice will be automatically initialized every time you start your computer, and a TEMP folder will also be auto-created in it. REMEMBER, ANYTHING RESIDING IN YOUR RAMDISK WILL BE LOST WHEN YOU REBOOT; SO YOU SHOULD NEVER STORE ANY IMPORTANT DATA ON THE RAMDISK THAT YOU HAVEN'T ALSO SAVED ELSEWHERE. You can also configure an image file to be saved/loaded at each shutdown/restart but this can seriously increase your system's startup and shutdown times; so I recommend saving/loading an image manually, and only when it is really needed. You can save an image file from the ImDisk applet in the Control Panel, or just by right-clicking on the RAMdisk itself.


    You can now change the default TEMP folder that Windows uses to the RAMdisk TEMP folder. If you do this program installations will fly, and you will be saving your C: drive from a lot of unnecessary hits. To do this right-click on My Computer icon and select Properties. On the top left of the next window click Advanced System Settings and click the Environment Variables button at the bottom. Change both top variables to R:\TEMP as shown in the picture below:


    Remember to scroll down the lower pane under System Variables and find the TEMP and TMP variables again, make sure those two are set to R:\TEMP as well.

    You can also specify your web browser's temporary folders to reside in the RAMdisk. You have to go to your browser's options and change the location of its temporary folder accordingly. If you choose to do this just make sure you don't try to download any files larger than the capacity of your RAMdisk.

    A user can also create simple batch files to automate the creation of specific folders on the RAMdisk, and also the copying of files or folders to the RAMdisk on every startup. The syntax is very simple. In this example I just create a copy of my Skyrim game folder from drive D: to the RAMdisk (assuming that the letter has been assigned to the RAMdisk):

    TIMEOUT 30
    MD "R:\The Elder Scrolls V - Skyrim"
    xCOPY "D:\##\The Elder Scrolls V - Skyrim" "R:\The Elder Scrolls V - Skyrim" /K /E /H /O /F

    I have set this batch file to delay execution of its commands for 30 seconds after it is ran using the TIMEOUT command. The reason for this is that we don't want this batch file to run before the Scheduled Task that creates the RAMdisk itself. I left 30 seconds to elapse which is more than sufficient for my system, change that value to what is best for your own system. You can interrupt the timer and execute the commands immediately by pressing a key. Or, instead of specifying a command for the delay on the batch file you could create a new Scheduled Task for this batch file and set the new task to run with a delay. Use the MD command and supply the paths for the folders you want to create, then use xCOPY to copy your files/folders over. Save it as a batch file and make a shortcut for it at C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup in order for it to auto-execute with every reboot.


    RAMdisk speeds will vary drastically from system to system, depending on its generation, hardware configuration, RAMdisk software used, as well as the size of the RAMdisk itself. Here's some ImDisk benches on my X79 system:

    exFAT 50.jpg exFAT 100.jpg exFAT 500.jpg exFAT 1000.jpg exFAT 2000.jpg exFAT 4000.jpg exFAT ATTO.jpg

    Finally, here is an updated showdown between Primo and ImDisk:

    Last edited by a moderator: Oct 22, 2012
  2. renosablast

    renosablast Guest

    Will the presence of software such as FanchyCache (disabled) have any effect on being able to create a RAMdisk, or do I need to remove this software enitrely first?
  3. The SSD Guy

    The SSD Guy Administrator Staff Member

    Likes Received:
    Trophy Points:
    Stickied...and thanks. I will try this at some point.
  4. renosablast

    renosablast Guest

    Trying to get RAMDisk set up and hit a sticking point -- when I try to change the IMDisk TEMP FOLDER extenstion to ".bat" I get a warning window that I do not have permission to save to this location. Thought I was set as full admin with total control privileges. Can this be fixed through a regedit setting modification? Suggestions?
  5. OS-Wiz

    OS-Wiz Guest

    Is there a version of ramdisk that saves what was on the ramdisk at shutdown and restores it at boot up? This would seem to be a key feature, would it not?
  6. Bad_Machine

    Bad_Machine Guest

    There is a way to load an image, have a look at the first post here:

    FAQs and How-Tos -

    It's a shame that Olof, (the author of this software) hasn't added more options to it as it has a lot of potential. A wizard to guide users into creating a RAMdisk and saving/loading an image would have been nice, but hey, it's free, so I'm not complaining. I haven't used the image functionality myself as I have no need for it. Other users have asked the same thing as Wiz and the author responded. Apparently there is a way to auto-load and auto-save an image but it's not so straightforward. Look here:

    More ImDisk commands here:

    BTW, Primo allows you to save and load an image file automatically, but then again it can't create an exFAT RAMdisk - with Primo it had to be FAT32 or NTFS - and it is not free either. I don't know if Romex have included exFAT in the latest version as I haven't tried it yet. The problem I have had with Primo is its activation process which may be OK for most users who will just install it once, activate it and leave it at that, but not for me, not the way I use my computer. I never include any 3rd party software on my basic clean backup, so everytime I restore it and install Primo again I will have to go online to activate. I don't want to have to do this since at that point my computer has no firewall or antivirus software installed, but even if I do how many times they will allow me to do this with a single license??? If I try to activate again and again on a fresh Primo install on the same restored system, I'm pretty sure it will not be accepted.

    Romex can provide you with an offline activation file, but this is specific to a single install only. No good for me when I switch between disk snapshots and backups all the time. Every time I restore my backup or revert to a pre-Primo snapshot and want to install the latest Primo version I will have to contact them again (from another PC if I have no firewall/AV installed at that point) and give them the specific installation code which varies with each install, then wait a few days for them to send me the new activation file. Not good. Also, how many times will they allow me to activate my single PC license? I just wish their activation process was less cumbersome and that it allowed users the ability to install multiple times on the same machine after multiple system restores. One activation file that would work for that specific hardware configuration regardless how many times you install the thing. It can't be that hard to implement. The fact that you need a new activation file every single time because it is valid for a single install only is a major pain for me. It's far too much hassle, so I have now switched to ImDisk.
    Last edited by a moderator: Feb 14, 2012
  7. Sean

    Sean Guest

    If you just need a RAM Disk up to 4GB, the Dataram RAMDisk utility offers this load/save ability in its freeware version:


    For over 4GB, the utility costs $15. As far as I can tell, it does not require online activation, e.g. going by its FAQ, it just requires the license file to be placed in its installation directory to unlock the 4GB limit.
  8. The SSD Guy

    The SSD Guy Administrator Staff Member

    Likes Received:
    Trophy Points:
    What I want is this speed in a bootable system...
  9. FiftyOne

    FiftyOne Guest

    One way to do it would be run a sync script with a hdd or something. It really only needs to mirror every now & again (I use goodsync & set the interval however I like) then set it to restore on restart
  10. Buckeye

    Buckeye Guest

    I wonder if it would be possible to create RAM disk on boot then install Win 7 into the RAM disk and have it image so you can actually run Win 7 from RAM.
    With SB-E systems I just finished a system with 32gb RAM which would be more then enough to install Win 7. Then put your apps on SSD etc.

    I think that might be some what limiting tho. Wait until Dual CPU systems come out where you can double that RAM or have even more.
  11. Sean

    Sean Guest

    In theory, this should be possible if someone created a boot-loader that automatically loads the disk image in RAM prior to starting the boot process. It could then monitor any any writes to the RAMDisk, so they are automatically written to the disk image file.

    The main catch I see is the duration it takes to load this image into RAM during boot. For example, if the SSD can sustain 400MB/s and the RAMDisk image is 24GB, then it would take just over 60 seconds to load this in RAM before the OS can start to boot. So while the OS will fly when booted, the user will be faced with a HDD-like boot time.

    Another thing I wonder is just how much faster the OS itself will run on a RAMDisk than with the SSD. Once Windows has booted, only a handful of system files are accessed during use, such as Windows updates, loading certain DLL files when an application launches, etc.

    So in my opinion, I think it would be better to run the OS from SSD, but install frequently used applications to the RAMDisk, especially disk-intensive applications that would further benefit from RAM as well as move the Temp, Temporary Internet files, etc. directories to the RAM disk as explained earlier in this post.
  12. Bad_Machine

    Bad_Machine Guest

    I have also benched Dataram RAMdisk a while ago, it is a good app but not as fast as Primo or ImDisk. Primo's Direct IO access driver is the fastest so far with ImDisk a very close second, but in truth you probably won't notice the difference unless you time the tranfer of very large files
  13. renosablast

    renosablast Guest

    Got this set up and running now. Moved temp files to the RAMDisk, and web pages are loading VERY fast now. Only problem I am noticing so far is that Windows Media Player is unable to paly wmv files attached to e-mails.

    ---------- Post added at 03:22 AM ---------- Previous post was at 02:22 AM ----------

    Got the Windows Media Player thing fixed. Had nothing to do with the RAMdisk; merely coincidental timing. Was a failed Realtek Audio driver update.
  14. Bad_Machine

    Bad_Machine Guest

    I thought about this myself in the past, a boot sector resident driver that can load and save a Windows image in RAM. But as you said Sean the benefits would be questionable once Windows has loaded, and frankly most people wouldn't really notice the difference between an app loading from a fast SSD or from RAM.

    ---------- Post added at 09:02 AM ---------- Previous post was at 09:02 AM ----------

    Gald you got it working Renos. Have you found what was causing the problem?
  15. renosablast

    renosablast Guest

    Bad: Once I created the <.txt> notepad file under 'run as administrator', you cannont get back into it as administrator to change the exrtension. I simply saved it as <.bat> file immediately after creation under 'run as administrator' and everything went a-ok. Apparently, under older versions of Windows, this had to be done in two separate steps; but under Windows7 it can be combined as one step.
  16. Atom333

    Atom333 Guest

    Thanks fro a concise writeup on ImDisk. However, I'm curious as to why you chose exFat over the others. I'm sure you have your reasons and I just want to learn more about it.
  17. Bad_Machine

    Bad_Machine Guest

    Welcome to the forum Atom333! I've ran benchmarks with both NTFS and exFAT. On my machine numbers were improved by an average of 8% to 10% when exFAT was used.
  18. Sean

    Sean Guest

    The extra overhead with NTFS likely has an effect also. Every time a read/write is made with an NTFS volume, the OS needs to check if the user has the appropriate permissions to do so, which includes inherited permissions from parent directories and whether auditing needs to be carried out also. Like FAT32, exFAT does not support permissions, which means that read/write operations are not delayed by these checks.
  19. Bad_Machine

    Bad_Machine Guest

    I'm very pleased to say that I have posted a link to this guide at the ImDisk forum, and I got very good comments from Olof Lagerkvist, the writer of ImDisk. He will now link this guide to the programs' official page and also at the FAQ of their forum.

    Here's the link:
    Last edited by a moderator: Jul 20, 2012
  20. OS-Wiz

    OS-Wiz Guest

    Well, seems you do very good work Mr Bad. Congrats!

Share This Page