Page 1 of 1

VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 03:06
by Technologov
A new feature recently popped up in VirtualBox, yet I cannot find it anywhere in the changelogs.
Since v6.0 or before ?

Quite useful thing.
It allows me to easily share files with VM even before GA/Shared Folders are installed. (or specific guests, that don't have GA in existence, like Mac OS X and Android)

UPDATE: yes, VISO was added only in v6.0. It didn't exist in v5.2.22. Worth adding to the changelog, as a major feature. (as we don't have many...)

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 10:41
by mpack
Interesting.

Sounds like a niche feature, useful for DOS based OS. I bet Michal had a hand in it. :) Anyway if the devs don't mention a new feature that usually AFAIK means that it's incomplete.

Actually, perhaps this feature would also have security uses, since the media would be read-only I assume. So if one was paranoid about allowing write access to any host folder...

I'm not sure how dynamic media changes would be handled. I.e. what happens if you copy a file into the host folder while the VM is running? ISTR that forcing a CD media change event has been a long running problem in VirtualBox, so perhaps it's still not solved.

I wonder if you could boot from the virtual ISO? Could the virtual ISO be in the cloud?

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 11:18
by Technologov
1. Virtual ISO is always read-only. So only one-way host-to-guest copy or read is possible. Because ISO9660 CD File system is read-only, by design.
2. Virtual ISO is not bootable, at least with the GUI (I didn't try to use command line to create such), because the image is created without boot sector.
3. Not sure about dynamic data changes. Needs test.
4. It's maybe useful for DOS, Windows 95/98, Mac OS X and Android guests, and maybe for future Unattended OS Installs, so it will be easier to implement.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 13:59
by mpack
Technologov wrote:1. Because ISO9660 CD File system is read-only, by design.

Well, not quite. CD burners exist, including multi-session types that allow incremental burning. But AFAIK VirtualBox to date has no write support in its simulation. In the past writing was only available if passthrough mode was enabled, and that presumably won't apply to a virtual ISO.

Technologov wrote:2. Virtual ISO is not bootable, at least with the GUI (I didn't try to use command line to create such), because the image is created without boot sector.

It would be easy to add support for a boot sector file. This may be a way to allow booting from USB (i.e. the virtual ISO folder could be on a USB drive).

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 14:24
by Technologov
mpack wrote:
Technologov wrote:1. Because ISO9660 CD File system is read-only, by design.

Well, not quite. CD burners exist, including multi-session types that allow incremental burning. But AFAIK VirtualBox to date has no write support in its simulation. In the past writing was only available if passthrough mode was enabled, and that presumably won't apply to a virtual ISO.


Multi-session is a special writing mode in CD-burners. But ISO9660 filesystem is quite limited. I.e. the format itself (*.iso) -- disallows people to simulate multi-session CDs and Audio CDs. Only single-session CDs with ISO filesystem on them. Because Audio CDs, in fact are all multi-track, and lack a filesystem, so without files inside, the ISO9660 is incapable of simulating even a single-track audio CD. ISO9660 filesystem and ISO format allows only single-session disc with a read-only filesystem inside.
1. A full simulation of the physical CD drive is not possible within ISO format.
2. A full simulation of the physical CD drive is not possible within VirtualBox.
3. Multi-session discs require proprietary formats like Nero Image (*.nrg). There are no open formats for multi-session CD simulation.
4. Multi-session, Mount Rainer, DVD+-RW are all special writing modes on physical CD/DVD burners. And almost all simulators don't support it. (Nero being one of the few exceptions...)

It would be easy to add support for a boot sector file. This may be a way to allow booting from USB (i.e. the virtual ISO folder could be on a USB drive).

Yes, adding support for bootable VISO may be doable.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 29. Nov 2018, 15:56
by mpack
I'm aware of all of that, in fact I'm quite conversant with most common filesystems. It would be hard to write CloneVDI otherwise.

Obviously you can't simulate a CD with ISO 9660 because that would be back to front. ISO 9660 and later derivatives are just filesystems (like FAT or NTFS or EXT), not a hardware specification.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 12:00
by mpack
You know, I've been thinking about this feature, and I find myself puzzled.

What is it for? If you're going to implement a virtual storage format (in the sense of treating a host folder as a disk drive without having to install GAs or enable networking), then why not do VUSB before VISO? After all, the VUSB storage class already existed in 5.x, surely it would be relatively easy to have that use a folder as media.

Ok, maybe the fact that ISO media is read-only was attractive. So why not have an option in the settings of VUSB drives to make them read-only, and make that the default?

I'm thinking here particularly about OS X guests, and other guests where you may simply have some reason not to install the GAs. VUSB would effectively provide an experience similar to GA shared folders: quick and convenient setup is in the VM settings, no need to enable host network sharing.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 12:19
by Martin
Probably because it was needed for an OS which knows CD-ROM but not USB. ;)

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 14:35
by mpack
That had crossed my mind, but part of the reason I was spurred to post was a discussion I was having in another thread in which I mentioned Win98SE's USB flash drive support. I didn't get into it there (because the Q was actually about Win95), but I know that it's possible to install third party generic USB mass storage drivers in Win98SE (so no longer needing custom drivers). So, it's possible to go back at least as far as Win98SE before you meet a likely guest OS that doesn't have USB mass storage support.

I'm not sure what options are available for NT4, or Win2K. Basically you have to go back a long way to find a mainstream OS where CD-R was the only useful media.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 15:01
by Martin
DOS :mrgreen:

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 16:02
by mpack
Yes certainly, but are the devs really investing development time, in 2018, on DOS? I guess maybe if someone donated the code that would explain it.

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 16:08
by Martin
We will never know about special feature requests from big paying customers... ;)

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 17:16
by socratis
mpack wrote:are the devs really investing development time, in 2018, on DOS?

If you try to create a new Windows VM, you'll notice a brand new entry in VirtualBox 6.0.0: "Windows NT 3.x" ;)

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 3. Dec 2018, 23:45
by bird
Just FYI, it was there in 5.2.0. There it was even mentioned in the user manual. However, there was no GUI hack for accessing the feature, you had to edit the .viso files manually. The origin of the feature was remastering of ISOs during unattended installation.
-bird

Re: VISO - Virtual ISO (DVD image) - a new feature?

PostPosted: 4. Dec 2018, 11:04
by mpack
bird wrote:Just FYI, it was there in 5.2.0. There it was even mentioned in the user manual.

So it is, section 9.35, tucked away in the "Advanced Topics" section of the manual. And it isn't similar to shared folders after all (though it could be), a VISO seems to consist of a list of potentially scattered files or other ISOs to be included in the virtual ISO. Ok, now I see what it was for.