Loading and unloading ISO files in Windows 8
Is Windows 8 creating a new drive for every ISO? Or does it have one virtual drive to load all ISOs in?
Others have already answered this - Windows will create a new virtual drive to load each ISO you open simultaneously. What this means is, the second ISO you load (without ejecting the first one) will not replace the one already loaded, but will instead be assigned a different drive letter.
Some PCs use UltraISO to open ISOs. If I just enter the ISO name in DOS, it is loading in UltraISO. How can I load the ISO only in Windows 8 on all PCs, whether they have UltraISO or not?
Interesting question. I actually tried explorer.exe Filename.iso
with different ISO handlers/viewers/editors installed, and found that depending on the level of integration with the OS, the command either bypasses the associated program or doesn't. I'm still looking for a way to reliably open ISOs always using Windows itself, irrespective of any associated programs installed. Will be sure to update my answer if/when I figure it out.
How can I unload ISOs?
Still need to figure this out; will probably happen in conjunction with figuring out a reliable loading command as mentioned above.
Meanwhile you can try one of the following:
nircmdc cdrom open [drive:]
or
wizmo open=[drive:]
How can I know if a file is really an ISO?
I'm addressing this last because technically, it's the most difficult to achieve. Reliably identifying whether a badly named disc image (or any file for that matter) is actually an ISO or not is surprisingly hard to do. The closest I could get was by using the TrID File Identifier. If you download the Win32 version and the latest TrIDDefs package, extract them to the same folder and run the following command:
trid -ns -r:1 File.iso
you will see output like this:
TrID/32 - File Identifier v2.10 - (C) 2003-11 By M.Pontello
Definitions found: 4903
Analyzing...
Collecting data from file: File.iso
49.4% (.NRG) Nero BurningROM CDImage (2048000/1)
Unfortunately, it seems for some reason ISOs are either identified by TrID as "null bytes" (if you remove the -ns
switch), or as "Nero BurningROM CDImage" if you specify the switch. I don't know about the former, but the latter is possibly because NRG disc images are quite similar to ISOs. If so, it would be difficult (or maybe even impossible) to distinguish between badly named NRGs and true ISOs (although if Windows 8 can load NRGs renamed as ISOs, it won't even matter). In any case, the following batch file will print out whether a file specified as an argument is an NRG/ISO or not:
@echo off
if [%1]==[] goto :EOF
for /f %%v in ('trid -ns -r:1 "%1" ^| find /c "(.NRG)"') do (
if [%%v]==[0] echo "%1" is not an NRG/ISO & goto :EOF
echo "%1" is an NRG/ISO
)
Alternately, what you can do is look at this problem from the opposite direction. Since Windows 8 can only load ISOs and VHDs, it would be a fairly reasonable assumption to make that any file not loaded doesn't fit the bill. Thus what you could do is try and load the supposed ISO (command for that still pending of course), then search for a known file in all disc drives (real and virtual, since I don't know how to distinguish between the two). Provided a file by that same name doesn't exist on a real disc that happens to be inserted at the same time, if the file search succeeds you can conclude that the ISO was successfully loaded and thus is either a true ISO or a badly named VHD. The code to search all disc drives for a specific file can be found in my answer here. (Phew, hope that makes sense!)
Finally, I would like to say that since there are probably new APIs in Windows 8 to load/eject ISOs and these may be exposed via .NET/PowerShell, it might be easier to accomplish all that you want via PowerShell. I can't help you out there since I'm no PS expect, but you should definitely look into it if using batch files is not an absolute necessity.
Is Windows 8 creating a new drive for every ISO? Or does it have one fake drive to load all ISOS in?
Yes Windows 8 will make a virtual drive itself for the every ISO file but only if you try to open the more than one ISO file at the same time.
How can I know if a file is really an ISO inside?
Just right click on the image and select the properties you will see the file type. Or it has a default icon in the Windows 8.
Some PCs use UltraISO to open ISOs. If I just enter the ISO name in DOS, it is loading in UltraISO. How can I load the ISO only in Windows 8 on all PCs, whether they have UltraISO or not?
Yes you can open it using the Open With option or set the default program to it.
How can I unload ISOs?
Just right click on it and select the option Eject.
Edit: You can run the ISO
fire through the command line just type the command like below
C:\>explorer.exe D:\DiskImage\imagefile.iso
Note: Here D:\diskimage\imagefile.iso
is the path of the ISO
file you have to change it with your path.
Now you will see that now ISO
image is mounted in the the explorer
and you can see it under "My Computer" section. If you want to more than one ISO
at the same time then you can run the same command with the desired image file name to open it.
Now if you want to dismount the ISO
image form command line then type the following command and hit Enter:
c:\>powershell dismount-diskimage -devicepath \\.\D:
here D:
is referring the drive letter of your virtual drive it may be differ according to your partition letters.
One more Edit: After Googling a bit more I found the thread on SU by @r.tanner.f who find the way for mount the multiple ISOs through the power-shell. He overcome on this after reading this thread.
Is Windows 8 creating a new drive for every ISO? Or does it have one fake drive to load all ISOS in?
When you open an ISO with Windows Explorer for the first time, it automatically makes a new virtual drive for it ('mounts' it). If you open multiple ISOs, you will have multiple virtual drives.
How can I know if a file is really an ISO inside?
I'm not sure I follow. It appears as a virtual CD/DVD drive. You can check the properties of the drive for the File System used, I suppose.
Some PCs use UltraISO to open ISOs. If I just enter the ISO name in DOS, it is loading in UltraISO. How can I load the ISO only in Windows 8 on all PCs, whether they have UltraISO or not?
You can run explorer YourISOName.iso
from a command prompt to open the ISO in Windows Explorer. If it's not mounted already, it will be, and you'll be taken there in Explorer.
How can I unload ISOs?
From Explorer you can right-click and 'Eject' them, just like any other external drive type in Windows.
This, it turns out, is how you can natively let Windows/explorer mount/unmount iso images regardless of the content type association.
Mounting an image:
$ powershell Mount-DiskImage -ImagePath d:\path\to\image.iso
Unmounting or DisMounting if you prefer:
$ powershell DisMount-DiskImage -ImagePath d:\path\to\image.iso
nJoy!