How does this compare to Olof's Arsenal Image Mounter ? How have things changed in the past 3 years?
virtual storage driver
#51
Posted 08 September 2014 - 07:38 AM
#52
Posted 08 September 2014 - 09:25 AM
How does this compare to Olof's Arsenal Image Mounter ? How have things changed in the past 3 years?
Try it and you will see.
It compares rather fairly (on supported OS's, like XP, as it seems, but none of the kids ever properly tested/confirmed it that the later Windows 7 version has some "quirks"), The good thing is that you even have a "notification popup" on the taskbar for "new hardware found" and AFAICR it was the first and only driver with this kind of behaviour.
Did you miss this?
http://reboot.pro/to...river/?p=129901
Wonko
#53
Posted 17 April 2015 - 05:56 PM
where can I download virtualstorage.sys?
What do you think the FIRST post of this thread contains IF NOT a link to where you can get it?
This is an example of a VSS hardware provider. Vsssampleprovider along with the virtual storage driver (virtualstorage.sys) and virtual storage controller (vstorcontrol.exe) located in the "C:\Program Files\Microsoft\VSSSDK72\TestApps\hwprovst\bin" directory can be used to emulate the functionality of a hardware provider.
You will first need to download the VSS SDK.
Install it and play with it.
Wonko
#54
Posted 17 April 2015 - 06:40 PM
but this is not the 64 bit version.
The generic idea is that you FIRST read (attentively) a thread, THEN IF the piece of info you need is MISSING, you ask about it.
What do you think these posts contain?
http://reboot.pro/to...e-2#entry129891
http://reboot.pro/to...river/?p=130114
Wonko
#55
Posted 15 September 2015 - 03:31 PM
Someone asked about a 64-bit version...
From the Windows 7 SDK:
GRMSDK_EN_DVD.iso 594,841,600 bytes
cde254e83677c34c8fd509d6b733c32002fe3572
Use MSI Unpacker from jsware.net to extract the files from the relevant MSI (I don't recall offhand which one that is). The 64-bit version will be extracted to <path>\Microsoft SDKs\Windows\v7.1\Bin\x64\vsstools.
The .inf file does not target any OS version(s), so hopefully it works under any 64-bit NT. The SDK has a 32-bit version of same.
I was looking for a driver to emulate a physical drive that would appear as such to the operating system and applications when found this thread. I already had the SDK on my computer and found the files but haven't fiddled with them yet. Is this worth exploring or are there better alternatives (non-commercial) to go to first? (I've used VDK).
32-bit: GRMSDK_EN_DVD\Setup\WinSDKWin32Tools\WinSDKWin32Tools_x86.msi
install path: %ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\vsstools
version 6.1.7600.16385
I don't have currently running 64-bit OS to check for 64-bit
#56
Posted 07 February 2017 - 11:44 PM
Cheers Wonko - this is a very interesting piece of software.
As my current system is 64-bit and running in UEFI mode I decided to give the 64-bit version a try - thanks for the link and instructions in post #43.
Installed successfully on 64-bit Windows 8.1 Update 1 by running command - "vstorcontrol install -inf virtualstorage.inf"
Appears to run without any issues - just some quick tests mounting and writing to an image so far. 10 GB RAW image created using fsutil.exe as vstorcontrol does not allow image creation of files larger than 512 MB - DiskPart then used to partition and format.
Also installed the driver successfully in Windows PE (I think version 5.1) and mounted and wrote to an image without any problems.
Can you expand on the following please?
...none of the kids ever properly tested/confirmed it that the later Windows 7 version has some "quirks"...
Regards
Misty
P.s. I'm adding this to my list of must have tools. Whilst I like Olof's Arsenal Image Mounter , I do not like the .NET 4.0 dependency. For my limited needs (mounting RAW disk images with Disk Management integration) the Virtual Storage driver gets a great big
#57
Posted 08 February 2017 - 08:44 AM
Output from running command - "vstorcontrol create fixeddisk -image d:\vhd_sparse_text.vhd" -
Virtual Storage v6.1.7600.16385 Creating drive backed by d:\vhd_sparse_text.vhd ... Waiting for drive initialization............... Drive : \\.\PhysicalDrive2 Drive ID : {CD77020B-EDCE-11E6-971F-001CBF6EF40D} Type : Fixed Disk Size : 0MB No volumes on the driveNote the Size is (incorrectly?) reported as 0MB.
And in diskpart.
DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 55 GB 0 B Disk 1 Online 28 GB 0 B Disk 2 Online 3072 MB 3072 MBIdentified virtual disk as Disk 2 based on disk size -
DISKPART> sel disk 2 Disk 2 is now the selected disk..
DISKPART> detail disk Disk ID: 00000000 Type : Unknown Status : Online Path : 0 Target : 0 LUN ID : 0 Location Path : UNAVAILABLE Current Read-only State : No Read-only : No Boot Disk : No Pagefile Disk : No Hibernation File Disk : No Crashdump Disk : No Clustered Disk : No There are no volumes..
DISKPART> create partition primary DiskPart succeeded in creating the specified partition..
DISKPART> format fs=ntfs label=VSS 100 percent completed DiskPart successfully formatted the volume..
DISKPART> assign DiskPart successfully assigned the drive letter or mount point..
DISKPART> detail partition Partition 1 Type : 07 Hidden: No Active: No Offset in Bytes: 65536 Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- * Volume 3 F VSS NTFS Partition 3070 MB HealthyWrote some files to the virtual disk.
Dismounted the virtual disk using command - "vstorcontrol remove \\.\PhysicalDrive2"
Virtual Storage v6.1.7600.16385 Removing... Drive : \\.\PhysicalDrive2 Drive ID : {CD77020B-EDCE-11E6-971F-001CBF6EF40D} Type : Fixed Disk Size : 3072MBRemounted disk with command - "vstorcontrol create fixeddisk -image d:\vhd_sparse_text.vhd" -
Virtual Storage v6.1.7600.16385 Creating drive backed by d:\vhd_sparse_text.vhd ... Waiting for drive initialization............... Drive : \\.\PhysicalDrive2 Drive ID : {CD770245-EDCE-11E6-971F-001CBF6EF40D} Type : Fixed Disk Size : 3072MB 1 volume(s) on this drive: \\?\Volume{cd770220-edce-11e6-971f-001cbf6ef40d}\ F:\Note the Size is now correctly reported as 3072MB.
Checked the file properties for d:\vhd_sparse_text.vhd after dismounted the virtual disk. The sparse file was no longer sparse. File was reported as 3GB for both size and size on disk!!!!!
Regards,
Misty
P.s. The test was completed on a 32-bit Windows 8.1 Update 1 system.
#58
Posted 08 February 2017 - 08:47 AM
#59
Posted 08 February 2017 - 08:53 AM
P.s. I'm adding this to my list of must have tools. Whilst I like Olof's Arsenal Image Mounter , I do not like the .NET 4.0 dependency. For my limited needs (mounting RAW disk images with Disk Management integration) the Virtual Storage driver gets a great big
There is no real *need* of .Net for Arsenal Image Mounter driver in itself, it is the "accompanying" tools/features that *need* it, including - like with IMDISK - the "connection" to Discutils...
Having a 512 Mb filesize limit in creation is already a quirk in itself, but of course, as you just did, easily workable around.
BTW, are you really sure abut that limit?
The note/doubt was more about any possible conflict (on post XP) with things like Windows Search automatically creating System Volume info, or limiting access to MBR or PBR, this kind of things...
Also, do the (good ol') little batches I posted here:
http://reboot.pro/to...driver/?p=78283
work in 64 bit?
BTW (EDIT) Try the test again with the 3 Gb Sparse using Format quick (you should know about this ), but is that a SPARSE file or an EXPANDABLE VHD? (they are not exactly-exactly the same thing)
Wonko
#60
Posted 08 February 2017 - 09:05 AM
Quick test of your batches - working in Windows 8.1 with the Windows 7 driver.
Unmount command output...
d:\vhd_sparse_text.vhd = \\.\PhysicalDrive2 Image : "d:\vhd_sparse_text.vhd" will be removed together with \\.\PhysicalDrive2...reference to the backing disk being "removed" was a bit worrying. I took a chance!!!!
Off to work so my experiments thus end for the day.
Will check in later having just noticed your EDIT. It is\was an EXPANDABLE vhd. Excuse my ignorance - I thought these were SPARSE type files? Also forgot to add the QUICK to the FORMAT command. Will try again later.
Misty
#61
Posted 08 February 2017 - 09:17 AM
Under Vista and later a "quick" format (through the format.com /q switch) only creates the filesystem structures (like it does format .com without switches in XP and earlier without any switch) while without the /q switch it writes 00's to each and every sector of the volume besides writing the filesystem structures.
There is no reason why the corresponding Diskpart command should work differently.
The net effect of not using /q or "quick" being of course that a sparse file will have 00's actually written to it and thus will expand.
An expandable .VHD (which I don't or very rarely use BTW) is AFAICR different from a sparse file, in the sense that the sparse character of it is "internal" to the disk the image represents, as opposed to a "normal" sparse RAW image that is sparse for everyone/every tool.
Any idea to replace "removed" ?
Maybe "detached"?
Wonko
#62
Posted 08 February 2017 - 03:45 PM
I used to know about the Format behaviour....but forgot....thanks for the reminder. I'm getting old(er) and struggling with my memory. In fact I believe that I have now forgotten more than I now know about booting and disk images!!!!! It's one of the reasons for my guides - they're for my own use when I return to a topic after my frequent long absences. That's absences from the Forum and my experiments - not an absence in terms of awareness - perhaps both though!!!
In regards to sparse files and expandable VHD files - you are correct as usual - they are different, but share some characteristics that I shall refer to as SPARSENESS. The good news is that both are handled by the Virtual Storage Driver and retain their respective SPARSENESS.
After (QUICK) formatting two different images (both 1GB (maximum) size - one SPARSE file created by fsutil and one EXPANDABLE VHD) and copying a few files, file properties report after dismounting the image -
VHD
Size: - 28 MB
Size on Disk: - 28 MB
Sparse File
Size: - 1 GB
Size on Disk: - 19.6 MB
What about something like -Any idea to replace "removed" ?
d:\vhd_sparse_text.vhd = \\.\PhysicalDrive2 Dismount Virtual Disk : \\.\PhysicalDrive2 Backed by file : "d:\vhd_sparse_text.vhd"Misty
#63
Posted 09 February 2017 - 12:57 AM
P.s. I'm adding this to my list of must have tools. Whilst I like Olof's Arsenal Image Mounter , I do not like the .NET 4.0 dependency. For my limited needs (mounting RAW disk images with Disk Management integration) the Virtual Storage driver gets a great big
Like Wonko also writes, there is actually no .NET 4.0 dependencies in Arsenal Image Mounter itself. There are GUI and command line tools with DiscUtils library integration that require .NET 4.0, but you do not need to use them to just mount raw image files.
This file describes what requirements each component has: https://github.com/A...y_structure.txt
Specifically, to mount raw images you can use aim_ll.exe which does not require .NET:
https://github.com/A...ne applications
The syntax is very similar to imdisk.exe.
aim_ll -a -f C:\imagefile.imgWould be very interesting if someone could compare performance, features, compatibility with PE environments etc!
- misty likes this
#64
Posted 09 February 2017 - 07:13 AM
Thanks for the information and links. I can't believe that I failed to notice the none .NET dependency versions for the driver installer and aim_ll.exe when I last played around with AIM (well over a year ago!).
I'm due to go on a family holiday tomorrow but rest assured I will be checking aim_ll.exe out as soon as I return.
Did a quick test this AM on a 64-bit Windows 8.1 Update 1 system - mount of an existing image was fast - and appeared faster than the Virtual Storage Driver referred to in this thread.
Sparse RAW disk supported.
Was able to run winhex on the mounted virtual disk without it crashing - a Virtual Storage Driver mounted disk BSOD'd on be yesterday when the same operation was attempted.
Misty
#65
Posted 09 February 2017 - 05:21 PM
@Did a quick test this AM on a 64-bit Windows 8.1 Update 1 system - mount of an existing image was fast - and appeared faster than the Virtual Storage Driver referred to in this thread.
Thanks for testing!
I will try a few things with this Virtual Storage Driver too as soon as I get some time. Just a quick browse through their features made me think about a few features in Arsenal Image Mounter that do not seem to implemented, at least not in a similar way in Virtual Storage Driver.
For example, AIM has a feature with sparse image files like this:
aim_ll -a -o sparse -s 10G -f C:\imagefile.img -p "/fs:ntfs /q /y"
This will create and mount a 10 GB sparse image file. If C:\imagefile.img is created as a sparse file on an NTFS volume and the operating system is Windows 8 or later, it will also automatically unallocate ranges of the image file when files are deleted from the mounted virtual disk. This is done by translating TRIM requests (SCSI UNMAP operations) sent to the AIM driver and send them through as "file level trim" requests to the image file. This has been useful to me in many cases.
There are also ways to use this in Windows 7 with a filter driver for the disk level that sends through trim requests as SCSI UNMAP down to the storage driver. This happens automatically in Windows 8 and later but is pretty easy to implement in Windows 7 too, many high-end SSD (SAS connected etc) vendors have filter drivers available for this for example.
#66
Posted 09 February 2017 - 06:08 PM
I'm happy to help when my diary clears up a bit. Your previous post mentions -
...compare performance, features, compatibility with PE environments etc!
It sounds like an interesting experiment and something that I will enjoy doing. I can initially think of the following software and hardware to compare performance with, including -
* Microsofts Virtual Storage Driver
* VHD capabilities natively supported by Windows NT 6.* +
* Physical hard disk
* Networked physical hard disk
Any test/comparisons are going to be limited by the backing disk used to host the virtual disk file (unless memory backed storage is used) - perhaps a seperate test for memory backed if supported.
But how to test?
Sparse files?, fixed?, both!
As long as any test environments and conditions are consistent between the different drivers any test would hopefully would have some validity.
I can think of two real world tests as a starting point - these being copying a large file to fill a virtual disk and a subsequent test using small files to fill the disk. Also might be worth running some disk benchmarking software. Any other suggestions for benchmarks/comparisons/tests?
Hardware and disk space is going to impose a number of limitations too.
Misty
#67
Posted 09 February 2017 - 06:49 PM
Working on the following WinPE versions -
* 5.1 (64-bit - MistyPE build using Windows 8.1 Update 1 Install.wim as core)
* 3.1 (32-bit - MistyPE build using Windows 7 SP1 Install.wim as core)
* 10 (32-bit - MistyPE build using Windows 10 LTSB 2016 Install.wim as core)
These are all pretty minimal WinPE environments.
Great work Olof
- Olof Lagerkvist likes this
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users