🚶

WSL2 の .vhdx を wsl コマンドで移動する

に公開

背景

WSL でローカル生成 AI の環境を作って動作に必要なファイルやモデルファイルなどをダウンロードするとすぐに .vhdx が肥大化してしまいます。
そこで、.vhdx を容量が大きい別のドライブに移したくなりましたので備忘録として残しておきます。

環境

  • Windows10 Home
  • Ubuntu 20.04(Microsoft Store よりインストール)
  • WSL2
  • WSL バージョン 2.4.13.0

準備(やらなくてもよい)

.vhdx ファイルの移動にかかる時間を短くするために、事前に可能な範囲でコンパクトにしておくと良いと思います。
ただし、これ自体にある程度時間がかかる(私の環境では 10 分程度)のでやらないのも手です。

https://zenn.dev/crimsontea/articles/6153e7f62001ff

方法

wsl が起動している場合、wsl --shutdown で停止しておきましょう。

.vhdx ファイルを移動するために、次のコマンドを利用します。

wsl --manage <ディストリビューション名> --move <移動先ディレクトリパス>

今回は Ubuntu-20.04 を移動するので、次のようなコマンドになりました。

# .vhdx の移動先ディレクトリにあらかじめ移動する
wsl --manage Ubuntu-20.04 --move ./

これを実行し、しばらく待ってコマンドが正常終了すれば .vhdx ファイルの移動は完了です。
私の環境では 20 分以上かかったと記憶しています。
(NVMe SSD から別の NVMe SSD への移動で .vhdx は 200GB 程度)

まとめ

wsl のコマンドで簡単に .vhdx ファイルを移動できます。

Discussion