#author("2021-06-20T10:55:10+09:00","default:ryuichi","ryuichi")
#author("2021-06-20T10:55:57+09:00","default:ryuichi","ryuichi")
* VHDXファイルを別ドライブに移動する [#p259596e]

** 目的 [#p5b431ed]

- WSL2の仮想ハードディスクファイルであるVHDXファイルをデフォルトのCドライブから別ドライブに移動する
- VHDXファイルを数10GB以上になるので、Cドライブのディスクスペースを節約できる
- ここではUbuntu-20.04を対象とする

** 1. WSLを終了する [#a20ba005]

#shell(){{
> wsl -l -v
    NAME            STATE           VERSION
  * Debian          Stopped         1
    Ubuntu-20.04    Running         2
> wsl --shutdown Ubutu-20.04
> wsl -l -v
    NAME            STATE           VERSION
  * Debian          Stopped         1
    Ubuntu-20.04    Stopped         2
}}

- wslコマンドでディストリビューションを確認してから終了する

** 2. 既存のVHDXファイルをバックアップする [#kbd125d6]

#shell(){{
> cd $env:LOCALAPPDATA
> dir -name *ubuntu*
  CanonicalGroupLimited.Ubuntu20.04onWindows_...
> cd CanonicalGroupLimited.Ubuntu20.04onWindows_...\LocalState
> cp .\ext4.vhdx D:\tmp\ext4.vhdx
}}

- デフォルトでは%LOCALAPPDATA%以下にある
- ディストリビューションのパッケージ名は上のようにして探す
- '''<パッケージ名>\LocalState\ext4.vhdx'''が目的のファイルで、それを適当な場所(ここではD:\tmp\ext4.vhdx)にコピーしてバックアップする

** 3. 既存のUbuntu-20.04をアンインストールする [#k6be7440]

#shell(){{
> wsl --unregister Ubuntu-20.04
  登録を解除しています...
}}

- wslコマンドでunregisterする(が、する必要ないかも)
- 設定アプリを起動して、Ubuntu-20.04をアンインストールする

** 4. Ubuntu-20.04をインストールしなおす [#ze410480]

- MSストアでUbuntu-20.04をインストールする
- Ubuntu-20.04を起動して、ユーザー名、パスワードなどを設定する
- Ubuntu-20.04を終了する

** 5. バックアップしたVHDXファイルに戻す [#e8f9c515]

#shell(){{
> mkdir D:\WSL                                                   # (1)
> cd D:\WSL
> mkdir Ubuntu-20.04
> cd D:\WSL\Ubuntu-20.04
> wsl --shutdown Ubuntu-20.04                                    # (2)
> wsl --export Ubuntu-20.04 D:\tmp\wsl.tar                       # (3)
> wsl --unregister Ubuntu-20.04                                  # (4)
> wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\tmp\wsl.tar   # (5)
> cp D:\tmp\ext4.vhdx D:\WSL\Ubuntu-20.04\ext4.vhdx              # (6)
> ubuntu2004.exe config --default-user < username >              # (7)
> ubuntu2004.exe config --default-user [username]                # (7)
}}

- (1) Dドライブに新しいVHDXファイルの置き場所'''D:\WSL\Ubunutu-20.04'''を作成する
- (2) Ubunutu-20.04をいったん終了する
- (3) Ubunutu-20.04をExportしてwsl.tarとして保存する
- (4) Ubunutu-20.04を登録解除する
- (5) Exportしたwsl.tarをImportする
- (6) ext4.vhdxファイルを最初にバックアップしたファイルで上書きする(ファイルサイズが大きいので時間が掛かる)
- (7) デフォルトユーザーを設定する
- (7) デフォルトユーザーを設定する(usernameは以前と同じものにする)

** 参考 [#n6773ba4]

https://github.com/MicrosoftDocs/WSL/issues/412


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS