macOS 13 Venturaでは最新のVirtualizationフレームワークにより、macOS/Linux VMでEFIブートローダやトラックパッド、ディレクトリ共有、Rosetta 2などがサポート。

macOS 13 VenturaでのVirtualizationフレームワーク macOS 13 Ventura
macOS 13 VenturaのVirtualizationフレームワークで追加/アップデートされる機能
記事内に広告が含まれています。
スポンサーリンク

 macOS 13 VenturaではVirtualizationフレームワークのアップデートにより、MetalやEFIブートローダー、MacのTrackpad、ディレクトリ共有などがmacOS/Linux VMで可能になるそうです。詳細は以下から。

Apple Silicon Virtualization

 Appleは2020年にリリースしたmacOS 11 Big Surで、IntelおよびApple Silicon搭載のMacでLinuxベースの仮想マシン(VM)の作成を簡単に行えるようVirtualizationフレームワークを導入し、2021年にリリースしたmacOS 12 Montereyでは、Apple Silicon MacでmacOSの仮想化[1, 2]も可能になりましたが、

macOS Big SurとApple Silicon製MacでParallels Desktop

macOS 11 Big Surでのデモ

現在開催されているWWDC22のセッション「Create macOS or Linux virtual machines」によると、今年リリース予定のmacOS 13 Venturaでは、このVirtualizationフレームワークが大幅にアップデートされるそうです。

macOS 13 VenturaでのVirtualizationフレームワーク

macOS 13 VenturaのVirtualizationフレームワークで追加/アップデートされる機能

macOS 13 Venturaでの仮想化

 AppleでVirtualzaiotnエンジニアを務めるBenjamin Poulainさんによると、macOS 13 Venturaでは、AppleがmacOS 11 Big Surで導入した仮想マシンの作成や管理を行うことができるハイレベルAPI「Virtualizationフレームワーク」がアップデートされ、

WWDC22: Create macOS or Linux virtual machinesより

The Virtualization framework provides high-level APIs for creating and managing virtual machines (VM) on Apple silicon and Intel-based Mac computers.[…]The framework supports the Virtual I/O Device (VIRTIO) specification, which defines standard interfaces for many device types, including network, socket, serial port, storage, entropy, and memory-balloon devices.

Virtualization – Apple Developer Documentation

まず、Apple Silicon Mac上でのmacOS VMではmacOS 12 MontereyでサポートされたMetalによるGPUアクセラレイションに加え、Macユーザーに人気のトラックパッドがmacOS VMでサポートされ、VZMacTrackpadConfigurationを利用することで、ユーザーはmacOS VM内でもトラックパッドを利用した回転やピンチなどのMulti-Touchジェスチャーを行うことが可能になります。

macOS 13 VenturaのmacOS仮想マシンで可能になるトラックパッドジェスチャー

macOS VMでのトラックパッドサポートは、最新のドライバを使用するため、ホストとゲストOS共にmacOS 13 Ventura以上である必要があるそうです。

 また、macOS 12 Montereyでは、ホストとゲストOS間でのディレクトリ共有が可能なVirtioファイルシステムをサポートしたことで、Linux VMとファイルを共有することが可能でしたが、macOS 13 VenturaではmacOS VMでもディレクトリ共有がサポートされ、macOS VM/ホストOSで行った変更変更が即座にホスト/macOS VMに反映されるようになります。

macOS 13 VenturaではゲストOSとのディレクトリ共有をサポート

Linux

 次に、Linux VMですが、macOS 13 Venturaでは業界標準のEFIブートローダがサポートされ、これにより、USBドライブにあるインストーラーを検出できるようになる他、Virtio GPU 2Dがサポートされ、Linuxがホスト(macOS)にディスプレイ・サーフェイスを提供することが可能になっています。

macOS 13 VenturaでサポートされるLinux VMのEFIブートローダーとVirtio GPU 2D

 そして、最後にLinux VMではAppleが開発するバイナリトランスレータ「Rosetta 2」サポートされ、macOS 13 Venturaを搭載したApple Silicon Mac上のARM Linux VMで、Linux x86-64バイナリが動作できるようになります。

macOS 13 VenturaのVirtualizationフレームワークがRosetta 2をサポート

Apple Silicon Mac上のARM Linux VMで、Rosetta 2を利用し変換したx86-64バイナリのPHPサーバーを実行するデモ。

 ARM Linux VMで、Rosetta2を利用しx86-64バイナリを動作させるには、Rosetta共有ディレクトリをマウントし、update-binfmtsコマンドでx86-64バイナリをarm64バイナリへ変換する必要があるそうですが、Dockerも昨年からVirtualizationフレームワークのサポートを実験的に行っているため、今後*様々な開発環境で応用が期待できそうです。

*x86-64用のDockerイメージがApple Silicon Macで動作するかは現在のところ不明です。

コメント

タイトルとURLをコピーしました