hi~
I try to mount a drive, make up of 2GB splited vmdks.
I can create new empty drive by using vbox:
vboxmanage createmedium --filename d:test.vmdk --format vmdk --size 1000000 --variant standard,split2g
the resulting 1TB drive (500x 2G vmdk) could be mounted.
but it FAIL if the size is over a total of 1TB. i.e. if the above is 1100000 then it will fail.
the symptom is: after selected the 1st .vmdk file,
then the size is not shown inside imdisk.
(if in the 1TB case, doing so will immediately show the drive size of 9xxGB)
a less important thing is that the vmdk's name seems need to be 9 alphabets,
larger than that it cant mount.
Anyway imdisk is useful to me at the moment.
hope it can improve.
thanks
info:
win10, 64b, 1903v. latest imdisk tookit.
ps: sorry to be posted also in the discussion board.
As I already use VirtualBox, I tried your command with 1100000 as value. I get several files, up to "test-s538.vmdk".
Then I mount test.vmdk with Mountlmg. The size is properly displayed (1.05 TB) and I can format it and use it normally.
I don't understand what you mean about the vmdk's name. Could you please give an example?
hi~ thx for reply.
Finally I found that there is TWO abnormal things.
From the attachments, those are the commands I used.
And then: (all on drive f:)
vmdk-file-name, size, status
teste, 1000 GB, ok
testf, 1100GB, ok (not shown)
testg, 1200GB, failed
testtestabcd, 1000GB, failed
when it fail, it just simply dont even show the size, even I waited for 3mins.
abnormal 1: filenames >9 are not ok (the exact limit need to be confirmed later).
abnormal 2: with files names <9, size of 1000GB, 1100GB are ok,
but NOT with 1200GB
thank you for reply.
ps: the version of the imdisk are also shown.
I have only tested on a win10, 64bit, indeep a 1809 ver.
virtualbox's media manager could identify the size of both 1000G and 1200G's vmdk, so I think the created split vmdk are valid.
OK thanks. These are in fact the same bug.
DiscUtilsDevio says:
"Invalid VMDK descriptor file, more than 20480 bytes in length"
This is an issue with the DiscUtils library. I will report that.
just use notepad to open the .vmdk,
seems it''s a list of filename.
so either increasing the path length OR increase the filename will result
in the size of the .vmdk which v77 stated have to be < 20KB.
indeep it suggest at the moment if one could name the .vmdk as a.vmdk,
then he/she can increase the max mounted size?
thanks
*old:
hi~
Just want to point out that indeed it seems the "path + filename"have to be short?
last time i use f:/teste.vmdk with size < 1100GB, it will be ok to mount,
seems I moved them to folder "partition1" and
now becomes f:/partition1/teste.vmdk and it will got the above error.
that will add some trouble as one cant organize by folder and with filename limited to < 9 alphabet.
thanks.*
Last edit: ccchan 2020-03-30
Yes exactly.
Be careful, the descriptor file does not include the full path. So you need to have all the files in the same folder. You cannot move only the descriptor file.
I investigated a similar problem a few months ago. If I recall correctly the conclusion was that when mounting multi-part vmdk files or other vmdk files where the metadata is in a separate file, DiscUtils library needs the metadata file and not the actual image file. The metadata file is usually a rather small file with references to the actual image data files. So, my suggestion here is to try to mount the small metadata file if there is such a one created together with the split vmdk files.
It's already what we are doing...
I just tried the following:
C:\Program Files\Oracle\VirtualBox> vboxmanage createmedium --filename D:\test.vmdk --format vmdk --size 1000000 --variant standard,split2g
C:\Program Files\Oracle\VirtualBox> discutilsdevio /name=test /filename=D:\test.vmdk
Opening image D:\test.vmdk
Image type class: DiscUtils.Vmdk.Disk
Unknown partition table format or partition table not found.
Image virtual size is 1048576000000 bytes
Image sector size is unknown
Partition table not found.
Using entire image file: D:\test.vmdk
Used size is 1048576000000 bytes
Read/write mode.
Opening image file...
Image file opened, waiting for incoming connections. Press Ctrl+C to exit.
So, it looks okay if I try to mount the metadata file D:\test.vmdk. However, it does not work if I try to mount D:\test-s001.vmdk in this case.
Yes, this is what I tried, and as I said above, it worked for me too.
And it works because test.vmdk is below 20KB.
If you increase either the number of files or the file name, test.vmdk become larger than 20KB and it creates this error.
Ah, sorry, I missed that part. I just remembered the conclusion from last time I investigated this problem and what solved the problems people had back then. I did not realize that this could also be an option. Maybe it would be safe to simply increase a bit the maximum size it accepts for descriptor metadata. Question is how much it would make sense to increase it. Or if there is any other safe way to detect valid descriptor data instead.
For now, in my opinion, 1MB might be a good limit.
But it still sounds a bit dirty... DiscUtils sould be able to process any size of metadata file. So, I think DiscUtils should scan the beginning of the file to check whether this is a metadata file or not. Hard to say more without the documentation of the VMDK format.
thank you both of you for the efforts.
Just some questions and comments from a layman.
The other split image format known to me is called "split raw image" ending in .00n, could be mount by OSFmount but I never heard which program could create it. [1] (I tried arsenal image mounter but the free version even cant mount splited vmdks...)
This is how I wanna use it:
my files
container of cppcryptfs (file level encryption)
2x2TB vmdk split into 2GB .vmdk (vmdk max is 2TB?)
plain text NTFS
4TB HDD
I am using 1TB vmdk due to the problem.
This usage is more suit for cloud than using a 4TB truecrypt/veracrypt volume.
Using TC/VC you cant practically UPDATE the copy on cloud, as uploading 4TB even using google drive need 6-7days (due to 750GB/day limit).
But using the above structure, say I only changed a 1MB .txt, and it only modify one 2GB .vmdk,
and it could easily be updated.
Thank you for you time.
Take care.
ref
[1]
OSFMount - Mount Disk Images & Create RAM Driveswww.osforensics.com › tools › mount-disk-images
The free OSFMount tool mounts raw disk image files in mulitple formats. You can also create RAM drives. ... Split Raw Image (.00n). Nero Burning ROM Image (.
Last edit: ccchan 2020-03-25
Arsenal Image Mounter can mount split vmdk normally, but in this case you will run into the same problem because it uses the same DiscUtils code for accessing vmdk images. I will make a small change in my fork of DiscUtils and publish versions of ImDisk/DiscUtilsDevio and Arsenal Image Mounter with this modification.
Forgot to comment on it, but Arsenal Image Mounter supports mounting split raw images too. Just mount the first .001 file and then it finds the following files and use them automatically.
hi,
should I name the split raw images starting as .001 then .002 or start as .000 then .001?
AIM seems by default ask for .001 files, while some others start from .000,
does it matter?
thank you
btw, AIM seems dont have a locking mechanism,
even my image is mounted, i can click in AIM and dismount it,
without any warning to the user, this seems less prefered to me.
Thanks Olof. Please let me know when you are done.
By the way, I think you should update your "ImDiskNet.7z": it is a bit outdated... ;)
Yes, thanks! I will do that at the same time.
agree with you that AIM should also mount split vmdk,
i haven't tried becoz seems the discutils didn't come together by default?
so I cant mount it yet.
"split raw image"? Creating one is not a big issue: you can create a small file, and then duplicate it several times by changing its name.
But yes, it seems that it's currently impossible to mount this kind of thing with ImDisk Toolkit.
It would require to develop a proxy dedicated to this format. Not very difficult, but still quite some work.
What would be the advantage of this format for you?
hi~ thx for reply.
I just ask ask and compare to vmdk format, not important.
will a split raw image be more "open source friendly"? will it be more easily
repaired/rescued if some parts got corrupted? as above you mentioned
the vmdk spec seems not clear?
"Hard to say more without the documentation of the VMDK format."
Even thru in wiki it say vmdk is a open standard.
could split raw image not bound by VMDK's 2TB limit?
wiki say vsphere 5.1.5? later could have vmdk of 62TB max,
not sure vbox implemented it or not, or the library/driver
used by imdisk?
And btw, anyway to make a splited raw image as easy and clean
as the vbox command?
I will use imdisk /w 1TB .vmdk at the moment to put
all my files onto google drive, encrypted at file level by cppcryptfs.
thank you.
The documentation? Ah yes, I just found it. :p
In fact, as I am not the author of DiscUtils, I never needed it... And as I thought, there is a lot to read.
In case of data corruption, a RAW format could help for instance to directly look into your data (with a hex editor), or easily produce a non-splitted image in order to use other tools...
That said, my personal policy is backup, backup, backup... And put directly to trash any faulty hard drive.
And because I am paranoid with that, I created Whirlpool File Cheker.
The current true size limit for VMDK seems to be 62TB. Of course, if it is partitionned, MBR will no longer work, you must use GPT.
If you mount it with ImDisk just after it is created, it may be not partitionned, so you are not concerned with that.
About making a splitted RAW image, I don't know any easy way to do that.
finally i knew how to create empty split raw images.
in windows one can install cygwin (signed with a .sig),
dd and split are included by default.
simply create by:
dd if=/dev/zero of=(output filename) bs=1G count=1000 | split -d -b 1G test.img
1Gx1000 = 1TB,
one can choose the split size after -b
the output files will have strange name endings,
i.e. for a 1000 files, it dont produce .000 to .999,
starting .90 it changes into .901 etc.
need a file renamer.
i then mounted with AIM.
cppcryptfs crash /w AIM seems,
it report DPC watchdog error and give me BSOD.
but veracrypt works /w AIM.
so far I tried 450GB using GPT is working fine.
I will try making a 4TB raw split image later.
thanks everyone for the efforts.