I
I
Interface2015-01-18 21:44:28
Windows
Interface, 2015-01-18 21:44:28

File system emulation in windows (virtual file system)?

Hello.
The question is briefly as follows: is there software that allows a certain program to emulate a "small" ("virtual") file system? (to be honest, I don’t know how things are with the system registry, but it would also be great to emulate it :) )
Below I will describe what problems I would like to solve with it, so that it is clear what I want, why I need it, etc. .
1) restoring the functionality of programs after reinstalling the OS.
Reinstalling the OS is a rather drastic action, however, I would like to be able to restore the work of most programs after that without reinstalling them.
2) control of the "cleanliness" of the system, I really do not like it when any software climbs where I do not ask for it. Examples: the appearance of files in the root of the disk of the form "{chars-chars-chars-chars}". Cluttering AppData.
3) forced change of various kinds of temporary folders. For example, when installing a lot of software (Delphi XE5, MS Visual Studio Express edit.), there is a problem of the need for free space on C: (moreover, my user folder is located on D:), and it is there that 1-30 GB of space is occupied after installation. (maybe these are not temporary files of the installer - please enlighten if that :)). In addition, there is software in which various directories are rigidly linked (which of course makes you think about its quality and that not all settings have been passed several times).
4) the ability to transfer software. Those. in fact, all programs can be portable in this way.
As I see the result of the work of such a program:
the following hierarchy of directories is obtained (for example):

D
  \Soft
      \Photoshop
        \installation dir (например, директория куда установился ФШ)
            \...
        \VFS (виртуальная файловая система)
            \User (папка пользователя)
                  \AppData
...

As a result, all FSH attempts to access files outside of "D:\Soft\Photoshop\installation dir" must be directed to "D:\Soft\Photoshop\VFS". For example: FS wants to write its settings to %AppData%\PS\cfg.ini and everything that it will write will be written to D:\Soft\Photoshop\VFS\AppData\PS\cfg.ini (for example) and read from there .
The first clumsy solution that came to my mind (this part of the question can be safely skipped):

- we arm ourselves with VMWare (for example).
- for each program we create a virtual machine (with our installed windows and the program itself, of course)
- to run the program, we launch the VM in it
- ...
- Profit? ..
What does this crazy idea solve:
- isolated FS for each program
- portability
- no conflicts with other software
- .. etc.
Cons:
- eating up system resources:
--a) RAM, for each open program it will take from 2 GB of RAM
--b) Hard disk (the main problem), you will have to store + 20+ GB for each program, which is unforgivably much
- this is an extremely inconvenient solution, which is given here as an example of the fact that it is at least possible to do it somehow, it remains to find the optimal solution
. becomes not so bad and I even start to think that it can be used ...

If you are familiar with such software, please share information about it.
If you know how to do it using the OS, just great! :)
If you think that all this is nonsense and you don’t need to do this, please express your opinion and share your arguments.
If you know how to solve similar problems in another way, I will also be glad to hear.
Whether also interests there is a possibility of such on Linux'e.
Thank you for your attention :)

Answer the question

In order to leave comments, you need to log in

2 answer(s)
L
ldv, 2015-01-18
@ldvldv

Under linux there is Docker habrahabr.ru/company/infobox/blog/237405 , LXC, OpenVZ
Under Windows google finds WinJail www.winquota.com/wj/index.html

A
Armenian Radio, 2015-01-19
@gbg

The most reliable option in your case is to use a system disk stored as an image on the NAS and connected via iSCSI. In this case, there will be no layer between the program and the operating system (and no virtualization), and if you need to rollback, you just need to connect the previously saved image.
Store images on a copy-on-write file system. OCFS2 for example.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question