systemctl fails in WSL? Check PID 1 and systemd
- Published: 2026.10.23
- Updated: 2026.10.23
- Infrastructure Windows
Diagnose systemctl PID 1 and bus errors in WSL by checking the WSL version, Linux init process, wsl.conf, and individual service state.
Practical notes for developers and system engineers
Diagnose systemctl PID 1 and bus errors in WSL by checking the WSL version, Linux init process, wsl.conf, and individual service state.
Read Linux df and du values alongside VHDX file length and Windows free space before considering WSL disk-space reclamation.
Check the storage location and DrvFs metadata when chmod seems ineffective in WSL, then compare permission changes using a new test file.
Compare Resolve-DnsName, getent, and curl results to separate WSL name lookup failures from HTTPS errors before changing VPN or DNS settings.
Inspect carriage returns with GNU sed, compare Bash and direct execution, create an LF copy without replacing the original, and check Git line-ending attributes.
Choose where to keep a WSL project by checking where its tools run, comparing Linux storage with mounted Windows drives, and testing a small working copy.
Export a WSL distribution to tar, restore it under a different name, and check its files and Linux user while keeping the original Ubuntu environment.
Check a WSL web app from Linux through TCP and HTTP on Windows, using a loopback-only test server to narrow down localhost connection failures.
Build a small image with wslc, mount a dedicated Windows folder and keep the output after a temporary container exits.
Resolve CharacterStringTooLong by keeping quoted DKIM chunks in one Route 53 TXT value, rather than creating separate values on new lines.