I downloaded some iso and tried to mount it but Windows 8.1 refused.

Then I found this post that advises to copy the .iso. Yes and it works.

People who commented said that it should be possible to Unblock the iso.

Unfortunately there isn't such option in Properties for some reason.

I noticed that the original file has listed in Details -> Attributes: AP and the copy that can be mounted: Details -> Attributes: A.

What is the meaning of this P attribute that I cannot find anything about?

What would be the proper way to mount such iso files in Windows 8.1?

  • You don't see the unblock option in properties? Can you screenshot this? – Wutnaut Sep 29 '14 at 15:42
  • I don't see it. – Zingam Sep 29 '14 at 15:47
  • 2
    Files that have already been unblocked won't have the "unblock" area in properties. What exactly does windows do when it "refuses" to mount? – Wutnaut Sep 29 '14 at 15:50
  • 1
    why not try using an alternative iso manager, like daemon tools or something? – fullmooninu Sep 29 '14 at 16:12
  • 1
    Currently a score of -3. Why is question this being voted negative? – KalEl Oct 21 '14 at 12:20
up vote 6 down vote accepted

Here is how it's done easily: Change sparse attribute from an .iso file on Windows 8.1 Also DavidPosthill's answer helped me identify the problem and find an alternative solution.

From an elevated command prompt (administrator) use this utility:

fsutil Performs tasks that are related to file allocation table (FAT) and NTFS file systems, such as managing reparse points, managing sparse files, or dismounting a volume. If it is used without parameters, fsutil displays a list of supported subcommands.

Example

Setting sparse flag to 0 will set the file to NOT spare and then you can mount it.

fsutil sparse setflag <filename> 0|1

This will query the flag

fsutil sparse queryflag <filename>

What is the meaning of this P attribute?

extended attributes:

E Encrypted

C Compressed (128:read-only)

I Not content-indexed

L Symbolic link/Junction (64:read-only)

N Normal (0: cannot be used for file selection)

O Offline

P Sparse file

T Temporary

Source attrib - Display or change file attributes.


Windows 8 refuses to mount .iso image because image is 'sparse'

Windows .iso mounting does not like 'sparse' files. I had used Acronis backup to backup my original .iso files and this DOES use sparse files. You can check if a file is 'sparsed' by looking at the files details in properties. The 'P' in the attributes represents a sparse file. See the screenshot below.

The result? When I restored my .iso images I could no longer mount them.

The simplest solution I have found is to just copy the .iso to a new file - this seems to create the new file without the sparse flag set.

Source Windows 8 refuses to mount .iso image because image is 'sparse'


ISO Mount error on Windows 8 & Windows 2012

The issue behind failing to mount ISO files is, it has got a sparse flag set. You can read more about this particular file attribute at this MSDN page(http://msdn.microsoft.com/en-us/library/windows/desktop/aa365564%28v=vs.85%29.aspx). In a nutshell, this sparse flag is facility supported in NTFS file system that enables efficient use of disk space by not writing zeros in a data stream. Instead it maintains an internal list containing the location zeros in file.

So the solution is to remove that sparse flag to mount the ISO. At this moment, I am not clear why the mounting will not work if this flag is set. May be because CDFS file system cannot understand this flag and hence the errors.

There are two ways you can remove the sparse flag:

  1. Just by simple copy & paste: You can copy & paste the ISO file into same folder or different folder. The sparse flag will be removed when a copy of this file is made. You can use the copied file to mount as CD/DVD drive
  2. Remove the sparse flag programmatically: You can use below approach to remove the sparse flag on one of multiple files.
function Remove-SparseFlag {            
[cmdletbinding()]            
param(            
[string]$FileName            
)            
    if(!(Test-Path $FileName)) {             
        Write-Host "$FileName No such filename present"            
        return            
    }            

    $Attribs = [System.IO.File]::GetAttributes($FileName)            
    if($Attribs.HasFlag([System.IO.FileAttributes]::SparseFile)) {            
        Invoke-Expression -Command "fsutil sparse setflag '$FileName' 0"            
        if($LASTEXITCODE -ne 0) {            
            Write-host "Failed to remove sparse flag on $FileName"            
        } else {            
            Write-Host "Successfully removed the sparse flag on $FileName"            
        }            
    } else {            
        Write-Host "$FileName has no sparse flag set"            
    }            
}

Source ISO Mount error on Windows 8 & Windows 2012


Further Reading

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.