在 Mac 上打开 VMDK、VDI 或 VHD 文件
虚拟机把自己整块磁盘装在一个文件里。这个文件你可以在 Mac 上打开,从里面取东西出来,而完全不用启动那台虚拟机。
磁盘映像是什么
你运行一台虚拟机的时候,那台机器的硬盘就是放在你 Mac 上的一个普通文件。它的操作系统、它的程序、里面的每一份文稿,全都装在这一个文件里。
每个程序写这个文件的方式都不一样。VMware 用 VMDK,VirtualBox 用 VDI,Hyper-V 用 VHD 和 VHDX,QEMU 和 UTM 用 qcow2。原始映像通常以 .img 结尾,就是把一块磁盘照原样拷下来,外面什么都没包。
为什么从里面取一个文件出来这么麻烦
平常的做法是启动虚拟机,等它开起来,在里面找到文件再拷出来。这就要求那台机器还跑得起来,跑它的那个程序也还装着。
访达在这里也帮不上忙。双击一个 VMDK 什么也不会发生,因为 macOS 不知道里面装的是什么。
Lukotta 是怎么打开它的
Lukotta 直接读这个映像。它弄清文件是哪种格式,找到里面那块磁盘,再在后台运行的那套小小的 Linux 系统里把它打开。里面的东西随后就以普通磁盘的样子出现在访达里。
虚拟机一直是关着的。VMware 和 VirtualBox 不必装着,打开这个文件也不会改动它。
Lukotta 打得开哪些文件
- qcow2,来自 QEMU 和 UTM。
- VMDK,来自 VMware。
- VDI,来自 VirtualBox。
- VHD 和 VHDX,来自 Hyper-V。
- 原始映像,通常以 .img 结尾。
打开一个
- 选“文件”,再选“打开磁盘映像”,然后找到那个文件。
- 要是里面那块磁盘是加密的,输入密码或密码短语。
- 内容就出现在访达的“位置”下面。
一个文件里常常装着好几块驱动器
一个磁盘映像里通常不止一个分区:一个小的启动分区、装着所有东西的主分区,有时还有一个恢复分区。Lukotta 会把它们列出来,你挑需要的那个打开,跟挑驱动器一样。
把文件拷进映像里
qcow2 是按常规方式写的,往里写很安全。
VMDK、VDI 和 VHD 也能写,但写入支持是新功能,用的时间还不够长,不足以托付你丢不起的东西。把文件拷一份,在副本上做事,或者以只读方式打开,只把文件取出来。
VHDX 只能以只读方式打开,OVA 文件里装的那种 VMDK 也一样。那种是一口气写通的,之后没法在原地改动。
打不开的文件
映像只有本身完整时才能打开。
VMware 的快照链把机器眼下的状态摊在一个原始文件和一串更小的文件上,那些小文件记着它之后有什么变化。拆分磁盘把一个映像切成许多块。Hyper-V 的差异磁盘只装着跟另一个文件之间的差别。
这几种情形里,你手上的那个文件都只是一整套里的一份,而 Lukotta 一次只打开一个文件。
下载 Lukotta
下载和使用都是免费的。
brew install --cask clementrahula/tap/lukotta
版本 1.22.21 · Apple Silicon · macOS 15 Sequoia 或更新