Windows 11でLimaを使ってみる
What's?
Limaについて見ていたら、wingetで出てきたので少し触ってみることにしました。
Lima
LimaのWebサイトはこちらです。
lima-vm.io
GitHubリポジトリはこちらです。
lima-vm/lima
Limaは自動的なファイル共有とポートフォワーディング機能を備えたLinux仮想マシンを起動するツールです。
WSL 2と似たもの、とされています。
ドキュメントはこちらです。
lima-vm.io
ドキュメントのトップページに機能が書いてあります。
- 自動ファイル共有
- 自動ポートフォワーディング
- containerdのサポート
- 様々なアーキテクチャのサポート
- Intel on Intel
- ARM on ARM
- Intel on ARM
- 様々なLinuxディストリビューションをゲストとしてサポート
- AlmaLinux
- Alpine
- Arch Linux
- Debian
- Fedora
- openSUSE
- Oracle Linux
- Rocky
- Ubuntu
- Linux以外のゲストOSの実験的サポート
- macOS
- FreeBSD
- Windows
Limaの名前を見るのは、macOSで仮想マシンを扱うツールに関する時ですね。
サポートしているホストOSは、macOS、Linux、NetBSD、DragonFlyBSD、Windowsのようです。
基本的にはmacOSのようですね。
lima-vm.io
ゲストOSについては、こちらにもう少し詳しく書かれています。
lima-vm.io
Linuxの場合はUbuntu Linuxがデフォルトになるようです。
各OSで、仮想マシンを動かすバックエンドはこちらに書かれています。
lima-vm.io
- macOS
- VZ(Virtualization.Framework)
- デフォルト
- QEMU
- Linux
- QEMU
- Windows
- WSL2
- QEMU(載っていませんが)
なんと、Windowsの場合はWSLです。
それならもはやWSLでいいのではないかという気はしますが、 ひとまず動かしてみましょう。
※動かしてみると、実際のデフォルトのバックエンドはWSLではなかったことがわかります
環境
今回の環境はこちらです。
PS > [System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 10.0.26200.0 Microsoft Windows NT 10.0.26200.0
PS > wsl --version
WSL バージョン: 3.0.3.0
カーネル バージョン: 6.18.54.1-1
WSLg バージョン: 1.0.79
MSRDC バージョン: 1.2.7391
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.9711
Limaをインストールする
Limaのインストール方法はこちらにありますが、Windows向けのインストール方法は明確には書かれていません。
lima-vm.io
このあたりからも、Windowsはサポートが薄いことが読めますね。
実際のところは、GitHubのReleasesからダウンロードしてインストールすることになるでしょう。
github.com/lima-vm/lima/releases
で、wingetでLimaを探してみます。
PS > winget search lima
名前 ID バージョン 一致 ソース
------------------------------------------------------------------------------------------------
Lima Lima.Lima 2.2.0 winget
AliMail Alibaba.AliMail 2.15.2 winget
Twine ChrisKlimas.Twine 2.12.1 winget
MD to DOCX Converter by Jair Lima JairLima.MD2DOCX 3.5 winget
MDWord by Jair Lima JairLima.MDWord 0.1.2 winget
Total Image Converter Softplicity.TotalImageConverter 8.5.0.359 winget
BiliMaku WJZ_P.BiliMaku 1.0.4 winget
UWPHook brianlima.uwphook 2.14.3 winget
Claude Primer limaronaldo.claude-primer 1.9.0 winget
ENVI-met ENVI-met.ENVI-met 6.0.0 Tag: climate winget
Sideglass MoisesValero.Sideglass 0.2.35 Tag: clima winget
Lima.Limaという名前でありました。
wingetにLimaが追加されたのは、2026年4月のことのようです。
winget-pkgs#356038
割と最近ですね。
ではインストールしてみます。
PS > winget install Lima.Lima
表示された依存関係を見て、おや…?と思いましたが。
このパッケージには次の依存関係が必要です:
- パッケージ
SoftwareFreedomConservancy.QEMU
MSYS2.MSYS2
QEMU?WSLではなくて?
実際、インストールが行われました。
(1/2) 見つかりました MSYS2 Installer [MSYS2.MSYS2] バージョン 20260927
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://github.com/msys2/msys2-installer/releases/download/2026-09-27/msys2-x86_64-20260927.exe
██████████████████████████████ 81.1 MB / 81.1 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
(2/2) 見つかりました QEMU [SoftwareFreedomConservancy.QEMU] バージョン 11.1.0
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://qemu.weilnetz.de/w64/2026/qemu-w64-setup-20260811.exe
██████████████████████████████ 197 MB / 197 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
個人的には、QEMUにWindows版があったことを知らなかったので驚いています。
qemu.org
qemu.org
Windows Hypervisor Platformというものを使って動くようです。
learn.microsoft.com
…話を戻して。
Limaがインストールされました。
ダウンロード中 https://github.com/lima-vm/lima/releases/download/v2.2.0/lima-2.2.0-Windows-AMD64.zip
██████████████████████████████ 23.2 MB / 23.2 MB
インストーラーハッシュが正常に検証されました
アーカイブを展開しています...
アーカイブが正常に展開されました
パッケージのインストールを開始しています...
パス環境変数が変更されました; 新しい値を使用するにはシェルを再起動してください。
コマンド ライン エイリアスが追加されました: "limactl"
インストールが完了しました
メモ: To permanently configure your Lima environment, copy and paste this entire block into PowerShell and press Enter:
$userPath = [Environment]::GetEnvironmentVariable("PATH", "User")
[Environment]::SetEnvironmentVariable("PATH", "C:\Program Files\qemu;$userPath", "User")
[Environment]::SetEnvironmentVariable("MSYS2_ENV_CONV_EXCL", "HOME_HOST;HOME_GUEST;_LIMA_WINDOWS_EXTRA_PATH", "User")
[Environment]::SetEnvironmentVariable("_LIMA_WINDOWS_EXTRA_PATH", "C:\msys64\usr\bin", "User")
Restart your terminal completely to apply these changes.
表示されているように、QEMUへパスを通したり環境変数の設定が必要です。
自分は$PROFILEにこう書いておきました。
$Env:Path="C:\Program Files\qemu;"+$Env:Path
[Environment]::SetEnvironmentVariable("MSYS2_ENV_CONV_EXCL", "HOME_HOST;HOME_GUEST;_LIMA_WINDOWS_EXTRA_PATH", "User")
[Environment]::SetEnvironmentVariable("_LIMA_WINDOWS_EXTRA_PATH", "C:\msys64\usr\bin", "User")
PowerShellを新しく起動すると、Limaを認識しています。
PS > limactl --version
limactl version 2.2.0
使ってみる
それでは、Limaを使ってみましょう。
lima-vm.io
起動。
PS > limactl start
対話でデフォルトインスタンスの作成について求められます。
? Creating an instance `default` [Use arrows to move, type to filter]
> Proceed with the current configuration
Open an editor to review or modify the current configuration
Choose another template (docker, podman, archlinux, fedora, ...)
Exit
今回は「Proceed with the current configuration」を選択して、そのままデフォルトで作成。
? Creating an instance `default` Proceed with the current configuration
time="2026-10-25T16:48:44+09:00" level=warning msg="local username `server\\user` is not a valid Linux username (must match `^[a-z_][a-z0-9_-]*$`); using `lima` instead"
time="2026-10-25T16:48:44+09:00" level=warning msg="local uid `S-1-5-21-2259783356-226121573-1438326373-1001` is not a valid Linux uid (must be integer); using 1000 uid instead"
time="2026-10-25T16:48:44+09:00" level=warning msg="local gid `S-1-5-21-2259783356-226121573-1438326373-513` is not a valid Linux gid (must be integer); using 1000 gid instead"
time="2026-10-25T16:48:44+09:00" level=info msg="Starting the instance `default` with internal VM driver `qemu`"
time="2026-10-25T16:48:44+09:00" level=info msg="Attempting to download the image" arch=x86_64 digest="sha256:117816726abbdefc5ef3e38902e81a76f1c76c3610e709999d0885f9d5d9b477" location="https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img"
Downloading the image (ubuntu-26.04-server-cloudimg-amd64.img)
71.47 MiB / 820.15 MiB [--->__________________________________] 8.71% 2.55 MiB/s
Ubuntu Linuxのクラウドイメージのダウンロードが始まりました…。
ちなみにこんな感じで失敗した場合は、QEMUにパスを通すのを忘れています。
time="2026-10-25T16:52:53+09:00" level=info msg="Downloaded the image from `https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img`"
time="2026-10-25T16:52:53+09:00" level=fatal msg="failed to get the information of `C:\\Users\\user\\.lima\\default\\image`: failed to run [qemu-img info --output=json --force-share C:\\Users\\user\\.lima\\default\\image]: stdout=``, stderr=``: exec: \"qemu-img\": executable file not found in %PATH%"
まあまあ時間がかかりましたが、仮想マシンが起動しました。
time="2026-10-25T16:58:21+09:00" level=info msg="[hostagent] Starting QEMU (hint: to watch the boot progress, see `C:\\Users\\user\\.lima\\default\\serial*.log`)"
time="2026-10-25T16:58:21+09:00" level=info msg="SSH Local Port: 62696"
time="2026-10-25T16:58:21+09:00" level=info msg="[hostagent] Waiting for the essential requirement 1 of 4: `ssh`"
time="2026-10-25T16:59:46+09:00" level=info msg="[hostagent] The essential requirement 1 of 4 is satisfied"
time="2026-10-25T16:59:46+09:00" level=info msg="[hostagent] Waiting for the essential requirement 2 of 4: `user session is ready for ssh`"
time="2026-10-25T16:59:54+09:00" level=info msg="[hostagent] The essential requirement 2 of 4 is satisfied"
time="2026-10-25T16:59:54+09:00" level=info msg="[hostagent] Waiting for the essential requirement 3 of 4: `sshfs binary to be installed`"
time="2026-10-25T17:00:37+09:00" level=info msg="[hostagent] The essential requirement 3 of 4 is satisfied"
time="2026-10-25T17:00:37+09:00" level=info msg="[hostagent] Waiting for the essential requirement 4 of 4: `fuse to allow_other as user`"
time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] The essential requirement 4 of 4 is satisfied"
time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Mounting `C:\\Users\\user` on `/c/Users/user`"
time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Accepting \"/c/Users/user\" Unix path, assuming Cygwin/msys2 OpenSSH"
time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Converted path for native Windows OpenSSH: \"C:\\\\Users\\\\user\""
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] fusermount3: mount failed: Permission denied"
time="2026-10-25T17:01:23+09:00" level=warning msg="[hostagent] failed to confirm whether /c/Users/user [remote] is successfully mounted" error="failed to execute script \"wait-for-remote-ready\": stdout=\"\", stderr=\"sshfs does not seem to be mounted on /c/Users/user\\n\": exit status 1"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Waiting for the optional requirement 1 of 2: `systemd must be available`"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Guest agent is running"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Time sync: guest agent is alive, starting time synchronization"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 127.0.0.54:53"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 0.0.0.0:22"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 127.0.0.53:53"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP [::]:22"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from 127.0.0.1:323 to 127.0.0.1:323"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from 0.0.0.0:5353 to 127.0.0.1:5353"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 127.0.0.54:53"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 127.0.0.53:53"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 192.168.5.15:68"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from [::1]:323 to 127.0.0.1:323"
time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from [::]:5353 to 127.0.0.1:5353"
time="2026-10-25T17:01:28+09:00" level=info msg="[hostagent] The optional requirement 1 of 2 is satisfied"
time="2026-10-25T17:01:28+09:00" level=info msg="[hostagent] Waiting for the optional requirement 2 of 2: `containerd binaries to be installed`"
time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] The optional requirement 2 of 2 is satisfied"
time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] Waiting for the guest agent to be running"
time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] Waiting for the final requirement 1 of 1: `boot scripts must have finished`"
time="2026-10-25T17:01:43+09:00" level=info msg="[hostagent] Forwarding TCP from 127.0.0.1:46115 to 127.0.0.1:46115"
time="2026-10-25T17:01:58+09:00" level=info msg="[hostagent] The final requirement 1 of 1 is satisfied"
time="2026-10-25T17:01:58+09:00" level=info msg="READY. Run `lima` to open the shell."
コマンドを実行してみます。
PS > limactl shell default echo hello
hello
今回構築したインスタンスは「default」という名前です。
この名前の場合はlimaというコマンドでもよいようです。
PS > lima echo hello
hello
ゲストOSに入ってみます。
PS > limactl shell default
OSの情報を確認。
$ lsb_release
No LSB modules are available.
lima@lima-default:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
$ uname -srvmpio
Linux 7.0.0-28-generic #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026 x86_64 unknown unknown GNU/Linu
あれ?カーネルのバージョンがWSLと違いますね。
インスタンスの情報を見ると、どうやらQEMUで動いているようです。
PS > limactl list
NAME STATUS SSH VMTYPE ARCH CPUS MEMORY DISK DIR
default Running 127.0.0.1:49981 qemu x86_64 4 4GiB 100GiB ~\.lima\default
ドキュメントとは違いますね?
ひとまず現在のインスタンスを停止。
PS > limactl stop
他のゲストOSを使ってみる
デフォルトではUbuntu Linux 26.04 LTSが使われましたが、それ以外のゲストOSを使う場合はテンプレートから選択します。
lima-vm.io
…と思ったのですが、Rocky Linux 10とAlma Linux 10を使ってみた結果、SSHの起動待ちで一向に進まなかったのでやめました…。
time="2026-10-25T17:38:43+09:00" level=info msg="[hostagent] Waiting for the essential requirement 1 of 4: `ssh`"
WSLで起動してみる
デフォルトインスタンスをWSLで起動してみましょう。
最初に作成したデフォルトインスタンスを1度削除。
PS > limactl delete default
--vm-type wsl2を指定して起動。
PS > limactl start --vm-type wsl2
なんとこれだけでは起動しません。
time="2026-10-25T18:08:09+09:00" level=fatal msg="failed to create driver instance: unsupported image type for wsl2: \"https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img\". wsl2 only supports importing tar archive root filesystems, not standard VM disk images"
ドキュメントを見て、オプションを並べてみても起動しません。
PS > limactl start --vm-type=wsl2 --mount-type=wsl2 --containerd=system
面倒になったので、あきらめました…。
まあ、WSLをバックエンドにする理由はないというか、それならWSLを直接使えばいいと思うのでこの構成にはあまり興味はないのですけどね…。
いつからWSLからQEMUになったのか?
2026年の7月からみたいですね。Lima 2.2.0からの変更のようです。
github.com/lima-vm/lima/commit/ee19ab64b60f51d4ca…
というわけで
ちょっといろいろと微妙な結果になったのですが、WSLではなくQEMUで起動することに個人的には興味を持ちました。
更新はチェックしておきたいですね。
Mentions
Lima v2.3.0-rc.0 highlights: 🪟Experimentally support HCS driver (Windows hosts) 🍎Attach host block devices to VZ guests (macOS hosts) 🐧Experimentally support shared/host/bridged networks (Linux hosts) 🖥️limactl menu: a menu UI GA next week! 🟢 github.com/lima-vm/lima/releases/tag/v2.3.0-rc.0 t.co
@TheLimaProject Posted! Here it is: lima#5684 Thanks again for the invitation.
@andregrueter Nice! Would you like to introduce your work in our GitHub Discussions? github.com/lima-vm/lima/discussions/categories/sh…
@Yukimitsu_Izawa Nice! Would you like to introduce your work in our GitHub Discussions? github.com/lima-vm/lima/discussions/categories/sh…
Windows 11でLimaを使ってみる What's? Limaについて見ていたら、wingetで出てきたので少し触ってみることにしました。 Lima LimaのWebサイトはこちらです。 lima-vm.io GitHubリポジトリはこちらです。 lima-vm/lima Limaは自動的なファイル共有とポートフォワーディング機能を備えたLinux仮想マシンを起動するツールです。 WSL 2と似たもの、とされています。 ドキュメントはこちらです。 lima-vm.io ドキュメントのトップページに機能が書いてあります。 - 自動ファイル共有 - 自動ポートフォワーディング - containerdのサポート - 様々なアーキテクチャのサポート - Intel on Intel - ARM on ARM - Intel on ARM - 様々なLinuxディストリビューションをゲストとしてサポート - AlmaLinux - Alpine - Arch Linux - Debian - Fedora - openSUSE - Oracle Linux - Rocky - Ubuntu - Linux以外のゲストOSの実験的サポート - macOS - FreeBSD - Windows Limaの名前を見るのは、macOSで仮想マシンを扱うツールに関する時ですね。 サポートしているホストOSは、macOS、Linux、NetBSD、DragonFlyBSD、Windowsのようです。 基本的にはmacOSのようですね。 lima-vm.io ゲストOSについては、こちらにもう少し詳しく書かれています。 lima-vm.io Linuxの場合はUbuntu Linuxがデフォルトになるようです。 各OSで、仮想マシンを動かすバックエンドはこちらに書かれています。 lima-vm.io - macOS - VZ(Virtualization.Framework) - デフォルト - QEMU - Linux - QEMU - Windows - WSL2 - QEMU(載っていませんが) なんと、Windowsの場合はWSLです。 それならもはやWSLでいいのではないかという気はしますが、 ひとまず動かしてみましょう。 ※動かしてみると、実際のデフォルトのバックエンドはWSLではなかったことがわかります 環境 今回の環境はこちらです。 PS > [System.Environment]::OSVersion Platform ServicePack Version VersionString -------- ----------- ------- ------------- Win32NT 10.0.26200.0 Microsoft Windows NT 10.0.26200.0 PS > wsl --version WSL バージョン: 3.0.3.0 カーネル バージョン: 6.18.54.1-1 WSLg バージョン: 1.0.79 MSRDC バージョン: 1.2.7391 Direct3D バージョン: 1.611.1-81528511 DXCore バージョン: 10.0.26100.1-240331-1435.ge-release Windows バージョン: 10.0.26200.9711 Limaをインストールする Limaのインストール方法はこちらにありますが、Windows向けのインストール方法は明確には書かれていません。 lima-vm.io このあたりからも、Windowsはサポートが薄いことが読めますね。 実際のところは、GitHubのReleasesからダウンロードしてインストールすることになるでしょう。 github.com/lima-vm/lima/releases で、wingetでLimaを探してみます。 PS > winget search lima 名前 ID バージョン 一致 ソース ------------------------------------------------------------------------------------------------ Lima Lima.Lima 2.2.0 winget AliMail Alibaba.AliMail 2.15.2 winget Twine ChrisKlimas.Twine 2.12.1 winget MD to DOCX Converter by Jair Lima JairLima.MD2DOCX 3.5 winget MDWord by Jair Lima JairLima.MDWord 0.1.2 winget Total Image Converter Softplicity.TotalImageConverter 8.5.0.359 winget BiliMaku WJZ_P.BiliMaku 1.0.4 winget UWPHook brianlima.uwphook 2.14.3 winget Claude Primer limaronaldo.claude-primer 1.9.0 winget ENVI-met ENVI-met.ENVI-met 6.0.0 Tag: climate winget Sideglass MoisesValero.Sideglass 0.2.35 Tag: clima winget Lima.Limaという名前でありました。 wingetにLimaが追加されたのは、2026年4月のことのようです。 winget-pkgs#356038 割と最近ですね。 ではインストールしてみます。 PS > winget install Lima.Lima 表示された依存関係を見て、おや…?と思いましたが。 このパッケージには次の依存関係が必要です: - パッケージ SoftwareFreedomConservancy.QEMU MSYS2.MSYS2 QEMU?WSLではなくて? 実際、インストールが行われました。 (1/2) 見つかりました MSYS2 Installer [MSYS2.MSYS2] バージョン 20260927 このアプリケーションは所有者からライセンス供与されます。 Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。 ダウンロード中 https://github.com/msys2/msys2-installer/releases/download/2026-09-27/msys2-x86_64-20260927.exe ██████████████████████████████ 81.1 MB / 81.1 MB インストーラーハッシュが正常に検証されました パッケージのインストールを開始しています... インストールが完了しました (2/2) 見つかりました QEMU [SoftwareFreedomConservancy.QEMU] バージョン 11.1.0 このアプリケーションは所有者からライセンス供与されます。 Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。 ダウンロード中 https://qemu.weilnetz.de/w64/2026/qemu-w64-setup-20260811.exe ██████████████████████████████ 197 MB / 197 MB インストーラーハッシュが正常に検証されました パッケージのインストールを開始しています... インストールが完了しました 個人的には、QEMUにWindows版があったことを知らなかったので驚いています。 qemu.org qemu.org Windows Hypervisor Platformというものを使って動くようです。 learn.microsoft.com …話を戻して。 Limaがインストールされました。 ダウンロード中 https://github.com/lima-vm/lima/releases/download/v2.2.0/lima-2.2.0-Windows-AMD64.zip ██████████████████████████████ 23.2 MB / 23.2 MB インストーラーハッシュが正常に検証されました アーカイブを展開しています... アーカイブが正常に展開されました パッケージのインストールを開始しています... パス環境変数が変更されました; 新しい値を使用するにはシェルを再起動してください。 コマンド ライン エイリアスが追加されました: "limactl" インストールが完了しました メモ: To permanently configure your Lima environment, copy and paste this entire block into PowerShell and press Enter: $userPath = [Environment]::GetEnvironmentVariable("PATH", "User") [Environment]::SetEnvironmentVariable("PATH", "C:\Program Files\qemu;$userPath", "User") [Environment]::SetEnvironmentVariable("MSYS2_ENV_CONV_EXCL", "HOME_HOST;HOME_GUEST;_LIMA_WINDOWS_EXTRA_PATH", "User") [Environment]::SetEnvironmentVariable("_LIMA_WINDOWS_EXTRA_PATH", "C:\msys64\usr\bin", "User") Restart your terminal completely to apply these changes. 表示されているように、QEMUへパスを通したり環境変数の設定が必要です。 自分は$PROFILEにこう書いておきました。 $Env:Path="C:\Program Files\qemu;"+$Env:Path [Environment]::SetEnvironmentVariable("MSYS2_ENV_CONV_EXCL", "HOME_HOST;HOME_GUEST;_LIMA_WINDOWS_EXTRA_PATH", "User") [Environment]::SetEnvironmentVariable("_LIMA_WINDOWS_EXTRA_PATH", "C:\msys64\usr\bin", "User") PowerShellを新しく起動すると、Limaを認識しています。 PS > limactl --version limactl version 2.2.0 使ってみる それでは、Limaを使ってみましょう。 lima-vm.io 起動。 PS > limactl start 対話でデフォルトインスタンスの作成について求められます。 ? Creating an instance `default` [Use arrows to move, type to filter] > Proceed with the current configuration Open an editor to review or modify the current configuration Choose another template (docker, podman, archlinux, fedora, ...) Exit 今回は「Proceed with the current configuration」を選択して、そのままデフォルトで作成。 ? Creating an instance `default` Proceed with the current configuration time="2026-10-25T16:48:44+09:00" level=warning msg="local username `server\\user` is not a valid Linux username (must match `^[a-z_][a-z0-9_-]*$`); using `lima` instead" time="2026-10-25T16:48:44+09:00" level=warning msg="local uid `S-1-5-21-2259783356-226121573-1438326373-1001` is not a valid Linux uid (must be integer); using 1000 uid instead" time="2026-10-25T16:48:44+09:00" level=warning msg="local gid `S-1-5-21-2259783356-226121573-1438326373-513` is not a valid Linux gid (must be integer); using 1000 gid instead" time="2026-10-25T16:48:44+09:00" level=info msg="Starting the instance `default` with internal VM driver `qemu`" time="2026-10-25T16:48:44+09:00" level=info msg="Attempting to download the image" arch=x86_64 digest="sha256:117816726abbdefc5ef3e38902e81a76f1c76c3610e709999d0885f9d5d9b477" location="https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img" Downloading the image (ubuntu-26.04-server-cloudimg-amd64.img) 71.47 MiB / 820.15 MiB [--->__________________________________] 8.71% 2.55 MiB/s Ubuntu Linuxのクラウドイメージのダウンロードが始まりました…。 ちなみにこんな感じで失敗した場合は、QEMUにパスを通すのを忘れています。 time="2026-10-25T16:52:53+09:00" level=info msg="Downloaded the image from `https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img`" time="2026-10-25T16:52:53+09:00" level=fatal msg="failed to get the information of `C:\\Users\\user\\.lima\\default\\image`: failed to run [qemu-img info --output=json --force-share C:\\Users\\user\\.lima\\default\\image]: stdout=``, stderr=``: exec: \"qemu-img\": executable file not found in %PATH%" まあまあ時間がかかりましたが、仮想マシンが起動しました。 time="2026-10-25T16:58:21+09:00" level=info msg="[hostagent] Starting QEMU (hint: to watch the boot progress, see `C:\\Users\\user\\.lima\\default\\serial*.log`)" time="2026-10-25T16:58:21+09:00" level=info msg="SSH Local Port: 62696" time="2026-10-25T16:58:21+09:00" level=info msg="[hostagent] Waiting for the essential requirement 1 of 4: `ssh`" time="2026-10-25T16:59:46+09:00" level=info msg="[hostagent] The essential requirement 1 of 4 is satisfied" time="2026-10-25T16:59:46+09:00" level=info msg="[hostagent] Waiting for the essential requirement 2 of 4: `user session is ready for ssh`" time="2026-10-25T16:59:54+09:00" level=info msg="[hostagent] The essential requirement 2 of 4 is satisfied" time="2026-10-25T16:59:54+09:00" level=info msg="[hostagent] Waiting for the essential requirement 3 of 4: `sshfs binary to be installed`" time="2026-10-25T17:00:37+09:00" level=info msg="[hostagent] The essential requirement 3 of 4 is satisfied" time="2026-10-25T17:00:37+09:00" level=info msg="[hostagent] Waiting for the essential requirement 4 of 4: `fuse to allow_other as user`" time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] The essential requirement 4 of 4 is satisfied" time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Mounting `C:\\Users\\user` on `/c/Users/user`" time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Accepting \"/c/Users/user\" Unix path, assuming Cygwin/msys2 OpenSSH" time="2026-10-25T17:00:49+09:00" level=info msg="[hostagent] Converted path for native Windows OpenSSH: \"C:\\\\Users\\\\user\"" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] fusermount3: mount failed: Permission denied" time="2026-10-25T17:01:23+09:00" level=warning msg="[hostagent] failed to confirm whether /c/Users/user [remote] is successfully mounted" error="failed to execute script \"wait-for-remote-ready\": stdout=\"\", stderr=\"sshfs does not seem to be mounted on /c/Users/user\\n\": exit status 1" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Waiting for the optional requirement 1 of 2: `systemd must be available`" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Guest agent is running" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Time sync: guest agent is alive, starting time synchronization" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 127.0.0.54:53" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 0.0.0.0:22" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP 127.0.0.53:53" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding TCP [::]:22" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from 127.0.0.1:323 to 127.0.0.1:323" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from 0.0.0.0:5353 to 127.0.0.1:5353" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 127.0.0.54:53" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 127.0.0.53:53" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Not forwarding UDP 192.168.5.15:68" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from [::1]:323 to 127.0.0.1:323" time="2026-10-25T17:01:23+09:00" level=info msg="[hostagent] Forwarding UDP from [::]:5353 to 127.0.0.1:5353" time="2026-10-25T17:01:28+09:00" level=info msg="[hostagent] The optional requirement 1 of 2 is satisfied" time="2026-10-25T17:01:28+09:00" level=info msg="[hostagent] Waiting for the optional requirement 2 of 2: `containerd binaries to be installed`" time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] The optional requirement 2 of 2 is satisfied" time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] Waiting for the guest agent to be running" time="2026-10-25T17:01:29+09:00" level=info msg="[hostagent] Waiting for the final requirement 1 of 1: `boot scripts must have finished`" time="2026-10-25T17:01:43+09:00" level=info msg="[hostagent] Forwarding TCP from 127.0.0.1:46115 to 127.0.0.1:46115" time="2026-10-25T17:01:58+09:00" level=info msg="[hostagent] The final requirement 1 of 1 is satisfied" time="2026-10-25T17:01:58+09:00" level=info msg="READY. Run `lima` to open the shell." コマンドを実行してみます。 PS > limactl shell default echo hello hello 今回構築したインスタンスは「default」という名前です。 この名前の場合はlimaというコマンドでもよいようです。 PS > lima echo hello hello ゲストOSに入ってみます。 PS > limactl shell default OSの情報を確認。 $ lsb_release No LSB modules are available. lima@lima-default:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 26.04 LTS Release: 26.04 Codename: resolute $ uname -srvmpio Linux 7.0.0-28-generic #28-Ubuntu SMP PREEMPT_DYNAMIC Sun Jun 21 01:01:36 UTC 2026 x86_64 unknown unknown GNU/Linu あれ?カーネルのバージョンがWSLと違いますね。 インスタンスの情報を見ると、どうやらQEMUで動いているようです。 PS > limactl list NAME STATUS SSH VMTYPE ARCH CPUS MEMORY DISK DIR default Running 127.0.0.1:49981 qemu x86_64 4 4GiB 100GiB ~\.lima\default ドキュメントとは違いますね? ひとまず現在のインスタンスを停止。 PS > limactl stop 他のゲストOSを使ってみる デフォルトではUbuntu Linux 26.04 LTSが使われましたが、それ以外のゲストOSを使う場合はテンプレートから選択します。 lima-vm.io …と思ったのですが、Rocky Linux 10とAlma Linux 10を使ってみた結果、SSHの起動待ちで一向に進まなかったのでやめました…。 time="2026-10-25T17:38:43+09:00" level=info msg="[hostagent] Waiting for the essential requirement 1 of 4: `ssh`" WSLで起動してみる デフォルトインスタンスをWSLで起動してみましょう。 最初に作成したデフォルトインスタンスを1度削除。 PS > limactl delete default --vm-type wsl2を指定して起動。 PS > limactl start --vm-type wsl2 なんとこれだけでは起動しません。 time="2026-10-25T18:08:09+09:00" level=fatal msg="failed to create driver instance: unsupported image type for wsl2: \"https://cloud-images.ubuntu.com/releases/resolute/release-20260720/ubuntu-26.04-server-cloudimg-amd64.img\". wsl2 only supports importing tar archive root filesystems, not standard VM disk images" ドキュメントを見て、オプションを並べてみても起動しません。 PS > limactl start --vm-type=wsl2 --mount-type=wsl2 --containerd=system 面倒になったので、あきらめました…。 まあ、WSLをバックエンドにする理由はないというか、それならWSLを直接使えばいいと思うのでこの構成にはあまり興味はないのですけどね…。 いつからWSLからQEMUになったのか? 2026年の7月からみたいですね。Lima 2.2.0からの変更のようです。 github.com/lima-vm/lima/commit/ee19ab64b60f51d4ca… というわけで ちょっといろいろと微妙な結果になったのですが、WSLではなくQEMUで起動することに個人的には興味を持ちました。 更新はチェックしておきたいですね。
@the_og_karan I'm using lima-vm/lima to run a VM, with many containers. t.co
> colima also simplifies linux VMs lima does, not colima (well it does because it's lima under the hood) lima-vm/lima