Jump to content

Stream boot Windows 7 into RAM (volatile)


xpboy24

Recommended Posts

Hi everyone, I have an unusual method I'm trying to figure out on how to boot Windows 7 and I hope you can help me :)

Setup : Hard Drive that has a full Windows 7 installation already on that's pre-configured with specific settings (BASE)

Required Result : Boot the BASE Win 7, but make it so that all requested files are loaded into RAM and stay there.

Basically I'm trying to OS Stream Win 7, but into RAM so that any and all changes made stay in RAM and the Hard Drive is used as nothing more than a read-only file repository containing all of the necessary files. These changes should be visible while the PC is on, but should reset when it is turned off (Volatile).

I've tried iSCSI boot, VHD Boot, and iSCSI VHD Boot, but none of them make it volatile (all changes are written directly back to the Hard Drive). I've also tried setting the permissions on the vhd file to read only, but apparently that has absolutely no effect when the OS boots into it.

I've read up on possibly WIM booting Win 7 directly, but from what I understand WIM booting is not a stream boot, but a full RAM boot. This means I'll most likely need a HUGE amount of RAM to get it to work.

One thing I thought of that MIGHT work is to use VHD differencing boot so that the parent stays the same and all changes are made to the differencing only; but in order for this to work, I would require some kind of script that would be able to automatically create the differencing vhds (not too difficult), but then be able to boot into that VHD WITHOUT restarting the PC. It would have to be some sort of weird Win PE situation that is able to immediately initiate a boot without a restart...

There are OS Streaming products from companies like Citrix and HP that sort of does what I want, but I'm currently looking for an Open Source or MS Built-in method to accomplish what those products do. I personally don't require the amount of control and fine tuning those offer.

Has anyone been able to successfully accomplish a deployment such as the one I've described?

Thanks :)

Edited by xpboy24
Link to comment
Share on other sites


To make this work, you will need a file redirector / filter to force those writes to RAM. Citrix PVS can do that, as can Double-Take Flex. I do not know of any other way to do this. Redirecting writes to RAM can pose a lot of issues - I've seen them a lot over the last 5 years of doing diskless boot of Windows....basically, unless you have an obscene amount of RAM, you will consume all of your RAM quite quickly and lock up your system. There are 3rd party utils that can be used to flush RAM, but I am not aware of the consequences of using a tool like that in this case.

Are you looking for the peformance that a RAM cache will offer? or more focused on obtaining a read-only hard drive that returns to pristine state at every reboot? Open source (diskless) iSCSI boot or ATA boot is not there yet (via gPXE) - that is, there are no pieces on the storage side there to facilitate RAM or read-only VHD boot. One other commercial option to check - ccboot - seems like it can do this.

Steve Marfisi

Double-Take Software

Hi everyone, I have an unusual method I'm trying to figure out on how to boot Windows 7 and I hope you can help me :)

Setup : Hard Drive that has a full Windows 7 installation already on that's pre-configured with specific settings (BASE)

Required Result : Boot the BASE Win 7, but make it so that all requested files are loaded into RAM and stay there.

Basically I'm trying to OS Stream Win 7, but into RAM so that any and all changes made stay in RAM and the Hard Drive is used as nothing more than a read-only file repository containing all of the necessary files. These changes should be visible while the PC is on, but should reset when it is turned off (Volatile).

I've tried iSCSI boot, VHD Boot, and iSCSI VHD Boot, but none of them make it volatile (all changes are written directly back to the Hard Drive). I've also tried setting the permissions on the vhd file to read only, but apparently that has absolutely no effect when the OS boots into it.

I've read up on possibly WIM booting Win 7 directly, but from what I understand WIM booting is not a stream boot, but a full RAM boot. This means I'll most likely need a HUGE amount of RAM to get it to work.

One thing I thought of that MIGHT work is to use VHD differencing boot so that the parent stays the same and all changes are made to the differencing only; but in order for this to work, I would require some kind of script that would be able to automatically create the differencing vhds (not too difficult), but then be able to boot into that VHD WITHOUT restarting the PC. It would have to be some sort of weird Win PE situation that is able to immediately initiate a boot without a restart...

There are OS Streaming products from companies like Citrix and HP that sort of does what I want, but I'm currently looking for an Open Source or MS Built-in method to accomplish what those products do. I personally don't require the amount of control and fine tuning those offer.

Has anyone been able to successfully accomplish a deployment such as the one I've described?

Thanks :)

Link to comment
Share on other sites

hi Steve, thanks for the reply :)

What I'm ultimately trying to accomplish is a diskless one-to-many boot scenario that does NOT replicate the master image. All clients diskless boot from the "read-only" master, and things like IP addresses and computer name are stored in RAM to be wiped. I don't mind if a unique copy needs to be retained, but it still has to be diskless and without too much management overhead. The issue with iSCSI that i've run into is the simple fact that given an ~300 client deployment, LUN management is going to be an ultimate nightmare. Differencing VHD boot can solve this, but then there has to be a way to make a specific client boot to a specific BCD store all within the gPXE sanboot sequence.

So my best hope was a fully volatile environment. The clients will not have a lot of write activity or changes; most likely the only "change" will be some minor configurations such as dhcp IP and registry to launch a single app. Given they'll be in a workgroup, I'm not too worried about name or SID conflicts at this time.

So it's not for RAM cache performance as it is more of trying to accomplish a true one-to-many scenario.

To make this work, you will need a file redirector / filter to force those writes to RAM. Citrix PVS can do that, as can Double-Take Flex. I do not know of any other way to do this. Redirecting writes to RAM can pose a lot of issues - I've seen them a lot over the last 5 years of doing diskless boot of Windows....basically, unless you have an obscene amount of RAM, you will consume all of your RAM quite quickly and lock up your system. There are 3rd party utils that can be used to flush RAM, but I am not aware of the consequences of using a tool like that in this case.

Are you looking for the peformance that a RAM cache will offer? or more focused on obtaining a read-only hard drive that returns to pristine state at every reboot? Open source (diskless) iSCSI boot or ATA boot is not there yet (via gPXE) - that is, there are no pieces on the storage side there to facilitate RAM or read-only VHD boot. One other commercial option to check - ccboot - seems like it can do this.

Steve Marfisi

Double-Take Software

Hi everyone, I have an unusual method I'm trying to figure out on how to boot Windows 7 and I hope you can help me :)

Setup : Hard Drive that has a full Windows 7 installation already on that's pre-configured with specific settings (BASE)

Required Result : Boot the BASE Win 7, but make it so that all requested files are loaded into RAM and stay there.

Basically I'm trying to OS Stream Win 7, but into RAM so that any and all changes made stay in RAM and the Hard Drive is used as nothing more than a read-only file repository containing all of the necessary files. These changes should be visible while the PC is on, but should reset when it is turned off (Volatile).

I've tried iSCSI boot, VHD Boot, and iSCSI VHD Boot, but none of them make it volatile (all changes are written directly back to the Hard Drive). I've also tried setting the permissions on the vhd file to read only, but apparently that has absolutely no effect when the OS boots into it.

I've read up on possibly WIM booting Win 7 directly, but from what I understand WIM booting is not a stream boot, but a full RAM boot. This means I'll most likely need a HUGE amount of RAM to get it to work.

One thing I thought of that MIGHT work is to use VHD differencing boot so that the parent stays the same and all changes are made to the differencing only; but in order for this to work, I would require some kind of script that would be able to automatically create the differencing vhds (not too difficult), but then be able to boot into that VHD WITHOUT restarting the PC. It would have to be some sort of weird Win PE situation that is able to immediately initiate a boot without a restart...

There are OS Streaming products from companies like Citrix and HP that sort of does what I want, but I'm currently looking for an Open Source or MS Built-in method to accomplish what those products do. I personally don't require the amount of control and fine tuning those offer.

Has anyone been able to successfully accomplish a deployment such as the one I've described?

Thanks :)

Link to comment
Share on other sites

I'm not sure how successful this can be using the regular OS. There is a WinPE portable OS build that can work as a Thin Client, as seen here:

As far as official support goes, you do have the ability to create a thin client using Windows 7 Embedded. The WES Trial contains documentation on how to do this.

Link to comment
Share on other sites

hi Trip, I took a look at WES 7 and was able to make it so that all writes went to RAM. But I still can't multiboot off of it. I'm currently using iSCSI booting of WES 7, but when I bring a 2nd machine online with identical hardware, it BSODs with 0xc0000034. I shutdown the other machine and reboot 2nd machine and it boots fine. I think it still somehow locks all the files and prevents them from being accessed by another computer.

Is there anything i can change to prevent that from happening?

I'm not sure how successful this can be using the regular OS. There is a WinPE portable OS build that can work as a Thin Client, as seen here:

As far as official support goes, you do have the ability to create a thin client using Windows 7 Embedded. The WES Trial contains documentation on how to do this.

Link to comment
Share on other sites

You mentioned you are using iSCSI boot....most iSCSI targets only allow exclusive mode access (one initiator to one LUN) to their targets. The only ways around this:

1. Some iSCSI targets allow multiple initiator (anonymous) access to their targets.

2. Ensure that the 2nd boot client is passing in the same initiator name as that of the first.

Steve

hi Trip, I took a look at WES 7 and was able to make it so that all writes went to RAM. But I still can't multiboot off of it. I'm currently using iSCSI booting of WES 7, but when I bring a 2nd machine online with identical hardware, it BSODs with 0xc0000034. I shutdown the other machine and reboot 2nd machine and it boots fine. I think it still somehow locks all the files and prevents them from being accessed by another computer.

Is there anything i can change to prevent that from happening?

I'm not sure how successful this can be using the regular OS. There is a WinPE portable OS build that can work as a Thin Client, as seen here:

As far as official support goes, you do have the ability to create a thin client using Windows 7 Embedded. The WES Trial contains documentation on how to do this.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...