答案1
从命令提示符挂载 ISO(仅限 Windows 8/2012 及更高版本)
如果您在命令提示符下并且需要挂载 ISO,请运行以下命令:
PowerShell Mount-DiskImage
这将调用 PowerShell cmdlet。系统将提示您输入要挂载的 ISO 的路径。完成后,将最后一个留空并按下Enter。
好了!安装好了:
卸载 ISO
要从 PowerShell 卸载 ISO,请运行Dismount-DiskImage
并按照提示操作。如果您只知道驱动器号,而不知道映像路径,请使用以下命令:
Get-Volume [Drive Letter] | Get-DiskImage | Dismount-DiskImage
此命令将抓取您指定的驱动器,找到磁盘映像并将其卸载。
挂载多个 ISO 并显示驱动器号
您还可以使用该-PassThru
标志来存储传递给命令的数据。让我们挂载几个 ISO,显示它们的驱动器号,在其中一个驱动器上执行文件,然后卸载所有 ISO。
挂载 ISO
$MountedISOs=Mount-DiskImage -PassThru D:\Downloads\Ubuntu.iso,D:\Downloads\Windows8.iso,D:\Downloads\Server2012.iso
foreach
使用循环显示每个安装的 ISO 的卷信息
foreach($iso in $MountedISOs){Get-Volume -DiskImage $iso}
列表 J 驱动器
ls J:\
打开文件
start wubi.exe
要卸载 ISO,请使用以下命令:
Dismount-DiskImage $MountedISOs.ImagePath
测试 ISO
为了构建一个简单的脚本来检查 ISO 是否已附加并且实际上是 ISO(而不是 VHD),我喜欢使用-PassThru
它来临时存储对象,并使用命令Get-DiskImage
来更新 DiskImage 对象的状态。这将更新属性Attached
。该StorageType
属性将根据文件扩展名告诉您文件是 ISO 还是 VHD。
VHD 的值为StorageType
2,而 ISO 将返回 1。以下是 的输出$UbuntuISO
:
$temp
这是挂载 VHD 后的输出:(Mount-DiskImage
也可以挂载 VHD!)
请注意,尽管命令运行顺利,但Attached
上面的属性是。False
Mount-DiskImage
答案2
通常,如果您想通过命令行执行此操作,则需要一种非交互式方法。您将需要使用开关-ImagePath
来执行此操作。
因此,正确的命令是:
PowerShell Mount-DiskImage -ImagePath "C:\AbsolutePathTo\Image.iso"
请记住,如果引用绝对路径(包含空格和其他特殊字符),则需要转义引号。
要卸载 iso 映像,请记住引用它:
PowerShell "Get-Volume G | Get-DiskImage | Dismount-DiskImage"
请注意,在第一种情况下我们不必引用命令,但在第二种情况下我们必须引用,因为管道|
将使命令行认为它是在命令行上下文中,而不是附加参数PowerShell
(PowerShell 会自动将其连接成单个命令)。
还要确保拼写Dismount-DiskImage
正确(k
Dismount 中的“否”)。