Windows 10 Pro・EnterpriseでWSL2のVHDファイルサイズを最適化する

WSL2上のLinux内のファイルコンテンツはWindows上の仮想ハードドライブ(VHDファイル)に格納されている。このドライブは可変サイズのため、Linux側のファイルが増えると自動的に拡張される。しかしLinux側のファイルを削除しても、この仮想ドライブのサイズは縮小されず、削除したファイルに割り当てられた領域は確保されたままとなるため、仮想ハードドライブのサイズは増加しつづける。 以下にWindows 10 Pro・Enterpriseで仮想ハードドライブのサイズを最適化する方法を示す。 VHDファイルのパスを探す。 wsl --shutdown Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName --- PackageFamilyName ----------------- CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc VHDファイルのパスは以下。 %USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx 以下のコマンドでVHDファイルを最適化する。 optimize-vhd -Mode full -Path "$($env:USERPROFILE)\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"

2021-09-08 Wed ·     "Masahiro Hiramori"

Windowsで使ってる開発向けツール

Windows環境で使っている開発向けツール。 リスト Windows Subsystem for Linux WindowsでLinuxを動かす互換レイヤ。 Windows Terminal モダンなターミナル。 Visual Studio Code コードエディタ。 QuickLook エクスプローラでファイルを選択中にスペースキーを押す、プレビューを表示してくれるツール。 WinMerge ファイル/フォルダの比較ツール。 WinDbg デバッグツール。 winget パッケージマネージャー。 Everything 検索ツール。

2021-02-06 Sat ·     "Masahiro Hiramori"

Windows/LinuxでプロセスIDをC/Pythonから取得する

Windows/LinuxでプロセスIDをC/Pythonから取得する方法。 Windows/C GetCurrentProcessId()を使う。 #include <stdio.h> #include <windows.h> int main(void) { printf("Process ID = %d\n", GetCurrentProcessId()); return 0; } Linux/C getpid()を使う。 #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { printf("Process ID = %d\n", getpid()); return 0; } Python os.getpid()を使う。 import os print("Process ID = ", os.getpid())

2020-07-08 Wed ·     "Masahiro Hiramori"