Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Another crazy mod: RAM booting XP (no, not EWF)

  1. #1
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365

    Another crazy mod: RAM booting XP (no, not EWF)

    Okay, I was bored so I started playing around with XPe's RAM booting. It's either used for booting over a network (the image is downloaded from a server by the network card) or from local storage (like a USB disk or other storage device). It does this with the XPe NTLDR and the RAMDISK driver. The whole OS is loaded into RAM and runs from there. There's some special things you need to do though, most importantly is use nLite to make as small an image as possible. Between nLite and mpattonm's scripts (I think he's trying to make XP boot only in kernel mode or something, that guy is nuts, nuts, nuts!!! )

    Basically you install XP like you normally do and once you've got things exactly like you want them you transfer the OS over to an SDI Disk (included in XPe Tools). Then you use a script to transfer the partition to an SDI file. I'll post full instructions tonight. I've only tested it on VirtualPC so far. It's obviously very limited. For one, however big your image is, that's how much RAM is being used up. I booted a 320MB OS on a VPC system with 512MB RAM. I don't think this may be useful for the CarPC world, but it's still interesting I think. It could be useful for booting network appliances in the home maybe? Or a super boot disk on a USB key (for a specific hardware config though)? The image is based off whatever hardware you originally used so I don't think you could just plug it into any PC and expect it to boot. Boot times depend all on how fast NTLDR can read in the image, so the faster your device and the smaller your image the faster it'll boot. Once the image is loaded into RAM it's pretty fast.

    There's actually another little project I need to start on and that is how to get around the whole USB boot problem with XP. XP reinitializes the USB controller when it boots so it causes the boot loader to "lose" the boot drive. If anyone has ever tried to boot XP off an external USB drive you know what I mean. That would obviously be more useful than loading up the whole OS into RAM, but just in case at least we've got this. There's some discussion about the USB problem on the newsgroups so I'll be tackling that next using info I've found there. It's just a matter of moving some registry values around and others have already done a lot of research into it with XPe.

  2. #2
    Raw Wave rando's Avatar
    Join Date
    Mar 2004
    Location
    Redondo Beach, CA
    Posts
    1,973
    Quote Originally Posted by SFiorito
    There's actually another little project I need to start on and that is how to get around the whole USB boot problem with XP. XP reinitializes the USB controller when it boots so it causes the boot loader to "lose" the boot drive. If anyone has ever tried to boot XP off an external USB drive you know what I mean. That would obviously be more useful than loading up the whole OS into RAM, but just in case at least we've got this. There's some discussion about the USB problem on the newsgroups so I'll be tackling that next using info I've found there. It's just a matter of moving some registry values around and others have already done a lot of research into it with XPe.
    Right, this is the problem I had and my theory was that you needed to install a USB miniport driver for XP so that it knows about the special interface to the boot device similar to what it does for SCSI (and presumably SATA/PATA these days too). It's kind of funny that someone hasn't made a driver for this already.

  3. #3
    Newbie
    Join Date
    Sep 2005
    Posts
    51
    I'm very interested in booting XP into a ramdisk, specifically PXE booting to ramdisk. Have you had any luck with your method? Did you post your instructions? What "specific things" do you need to do? I assume it is a similar method to stripping the EWF and minlogon from XPe for use in XP, meaning files need to be retreived and registry settings need to be changed.

    ramdisk.sys-->where does it go, what reg settings?
    ntldr
    what else? boot.ini??
    How does the windows boot image server fit in? I know that it can provide a boot file (startrom.com) for pxe booting XPe into ramdisk.
    Thanks

    I've had success PXE booting DOS, Win98, but my application requires 2000/XP os. I also don't want to deal with XPe 120 day limit, nor do I want to purchase hardware for CF boot since I already have a computer to serve up the images and an EPIA mb that can PXE boot...

  4. #4
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365
    see my post here: http://www.xpefiles.com/viewtopic.php?p=419#419

    basically you create your nLited XP image and include the XPe ramdisk driver (not sure if it has to be the XPe driver or if the XP driver is fine). I'll have to go back and look at my notes to see if I have an INF for the XPe Ramdisk driver handy. After your nLited XP system is running on a regular hard drive just as you want it and all your software installed, you just follow the instructions I have in that page. I haven't tried PXE booting, but I imagine it'll be a variation of what I posted there. There are a few limitations such as the SDI size (max is 530MB I think).

  5. #5
    Newbie
    Join Date
    Sep 2005
    Posts
    51

    I'm almost there...almost.

    Ok, so I nlited my xp install down to 350MB
    I copied the ramdisk.sys and .inf from the latest (sp2) XPe repository. For lack of a better way to install it, I copied it to the root directory of my target and right clicked on .inf and clicked install. Sorry, I'm dumb here but did this install the ramdisk driver properly??
    I created the SDI image per the help instructions included with XPe for deploying SDI image for remote boot. The SDI disk was partitioned in FAT format, copied my target files to the sdi disk, in the command prompt created new sdi file, read from sdi partition, done.
    Copied the sdi file to my server. setup and configured MS Remote Boot Service (part of XPe) to serve the sdi image and proper startrom/ntldr/etc. Since my serve is W2K I needed a DHCP server, so I I installed DHCP Turbo, finally figured out how to configure it (option 60 = PXEClient), oh and turn off the firewall on the server (or just open the right ports for DHCP communication)
    startup my client, set BIOS for PXE boot, it acquires IP, and downloads the sdi, i get "loading RAMDISK image..." with the status bar. when the status bar hits 100%, it reboots...damnit.
    I suspect I didn't install the ramdisk driver properly on my sdi image? I'm not sure of another method to do this.
    Or I made some other mistake? any ideas?
    thanks, I can't wait to get this working.

  6. #6
    Newbie
    Join Date
    Sep 2005
    Posts
    51
    I figured out how to install the ramdisk driver via add new hardware wizard. I did this to my image, created a new .sdi, put it on my remote boot server, and...still the same problem. The client just resets after it completes loading the image into ramdisk.

    I will try putting the .sdi image on a hard drive to see if the image will boot into RAMdisk in the first place.

    any ideas?

  7. #7
    FLAC SFiorito's Avatar
    Join Date
    May 2004
    Posts
    1,365
    sorry, I haven't done a PXE boot before. you've read through MSFT's docs and examples for remote booting in XPe?

  8. #8
    lez
    lez is offline
    FLAC lez's Avatar
    Join Date
    Jan 2004
    Location
    UK
    Posts
    1,334
    Re: usb reset on xp boot losing boot image.

    If no patch exists for this like scsi/sata etc, while not move the image to a cheap CF card instead of a USB stick? then connect the CF card to the ide with with a ide/cf adapter?

  9. #9
    Newbie
    Join Date
    Sep 2005
    Posts
    51
    Quote Originally Posted by SFiorito
    sorry, I haven't done a PXE boot before. you've read through MSFT's docs and examples for remote booting in XPe?
    Yes, I've been through those. It's fairly straight forward, XPe's remote boot manager serves up the .sdi image and provides the proper boot.ini, startrom, etc. I'm pretty confident that I got past configuring dhcp server properly, setting up the client PXE configuration, successfully transfering the image via tftp, and all those obstacles. I've gotten windows 98 to PXE boot before, so I'm familiar with most of this. I'm thinking that there is something goofy with my image. I was hoping I would just follow what you did, but instead of putting the image on a CF card, I'd have it on my remote boot server. I wouldn't even need to worry about boot.ini, or supplying the correct startrom file since RBM takes care of this.

    Again, I am going to try putting my .sdi on a hard disk (I don't have a CF with IDE adapter) and follow your procedure to see if I can just get it to boot into ramdisk from the hard disk.

    To make sure I'm creating the .sdi image correctly: I used the XPe sdi utility to make a sdi partition, formated it as FAT. copied my files over from my prototype HD to the sdi partition. from the command line i create a new sdi file, then I perform the readpart operation to read from my sdi partition to the file. That's it right? I read about the pack command, but it seemed that it was unnecessary if I followed the thread correctly.
    my OS footprint is 350MB, I created a 360MB sdi image. Also tried 400MB to give it more room. This os only uses 80-90 MB memory when it's fired up so if my sdi is 360 and my os uses 90, that's 450. I've got 512MB RAM. Maybe I'm cutting it too close and it's choking from running out of memory?

  10. #10
    Newbie
    Join Date
    Sep 2005
    Posts
    51

    Still no luck.

    I added the paramerter /maxmem=485 in RBM, which is added to the boot.ini that it creates. I realized my on board graphics card was sharing RAM, leaving me with about 492 of my 512 if I set it to use the least amount. The maxmem switch limits the OS from using more than specified, now it no longer restarts after after it completes loading the RAMDISK, instead I get the missing/corrupt hal.dll error.

    I created the sdi image as specified in the post on the other forum
    create sdi disk (S,
    format it with mmc console (FAT),
    copy files from prototype into sdi disk S:,
    create sdi file from command line (xpfinal.sdi),
    readpartition from S:->xpfinal.sdi,
    copy xpfinal.sdi to remote boot server to serve up during PXE boot.

    i tried the pack command, nothing worked. I even tried adding the /rdimageoffset=4096 in remote boot manager (although as I understand it already does this).
    I don't need to deal with copying startrom or ntldr since RBM serves up the proper versions. Also don't need to create boot.ini since RBM supplies this also, however I can add parameters if needed through the RBM GUI, this is how I added the MAXMEM switch.

    Maybe I am not copying my files into the SDI disk properly? I'm just dragging and dropping (I have hidden and system files shown, so they should copy over), should I use another method?

Page 1 of 2 12 LastLast

Similar Threads

  1. Using EWF on regular WinXP
    By SFiorito in forum WinNT Based
    Replies: 203
    Last Post: 03-17-2009, 06:43 PM
  2. booting frodo with xp?
    By nappyjim in forum FrodoPlayer
    Replies: 30
    Last Post: 06-05-2005, 09:26 PM
  3. Active window upon booting xp
    By zx3chris in forum Software & Software Development
    Replies: 4
    Last Post: 09-30-2002, 10:02 PM
  4. Crazy Mod!
    By RaZor in forum Off Topic
    Replies: 7
    Last Post: 07-15-2002, 01:01 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •