[{"data":1,"prerenderedAt":948},["ShallowReactive",2],{"page-/post/wsl/new-experience-in-windows-with-wsl2-debian":3,"surrounding-page":939},{"id":4,"title":5,"author":6,"body":7,"date":929,"description":930,"extension":931,"group":6,"lastmod":932,"meta":933,"navigation":92,"path":934,"rawbody":935,"seo":936,"showTitle":6,"stem":937,"tags":6,"versions":6,"__hash__":938},"content/post/wsl/new-experience-in-windows-with-wsl2-debian.md","在 windows 上使用 wsl2 + debian 进行前端开发",null,{"type":8,"value":9,"toc":918},"minimark",[10,19,43,49,52,57,62,165,169,230,234,355,359,462,466,548,552,585,589,596,914],[11,12,13,14,18],"p",{},"时隔多年，开发机准备切换到 ",[15,16,17],"strong",{},"windows"," 环境下！",[11,20,21,22,26,27,30,31,34,35,38,39,42],{},"三年前 ",[23,24,25],"code",{},"1w3"," 的 ",[23,28,29],{},"mac m2 air"," 现在大概只值 ",[23,32,33],{},"4k"," 。因为新的 ",[23,36,37],{},"m4 air"," 才 ",[23,40,41],{},"7k+","。",[11,44,45],{},[46,47,48],"em",{},"这篇文章先占个坑，用来记录最近的 WSL2 配置，还没有真正进入开发状态",[50,51],"hr",{},[53,54,56],"h2",{"id":55},"wsl-相关","WSL 相关",[58,59,61],"h3",{"id":60},"_1-启动-关闭-重启命令","1. 启动 / 关闭 / 重启命令",[63,64,69],"pre",{"className":65,"code":66,"language":67,"meta":68,"style":68},"language-shell shiki shiki-themes github-light","# 启动默认发行版\nwsl\n\n# 启动指定发行版（名字用 wsl -l -v 看）\nwsl -d Ubuntu-22.04\n\n# 立即关机（所有发行版全部停掉，内存瞬间归还）\nwsl --shutdown\n\n# 重启某个发行版（先停再启）\nwsl -t Ubuntu-22.04 && wsl -d Ubuntu-22.04\n","shell","",[23,70,71,80,87,94,100,114,119,125,133,138,144],{"__ignoreMap":68},[72,73,76],"span",{"class":74,"line":75},"line",1,[72,77,79],{"class":78},"sAwPA","# 启动默认发行版\n",[72,81,83],{"class":74,"line":82},2,[72,84,86],{"class":85},"s7eDp","wsl\n",[72,88,90],{"class":74,"line":89},3,[72,91,93],{"emptyLinePlaceholder":92},true,"\n",[72,95,97],{"class":74,"line":96},4,[72,98,99],{"class":78},"# 启动指定发行版（名字用 wsl -l -v 看）\n",[72,101,103,106,110],{"class":74,"line":102},5,[72,104,105],{"class":85},"wsl",[72,107,109],{"class":108},"sYu0t"," -d",[72,111,113],{"class":112},"sYBdl"," Ubuntu-22.04\n",[72,115,117],{"class":74,"line":116},6,[72,118,93],{"emptyLinePlaceholder":92},[72,120,122],{"class":74,"line":121},7,[72,123,124],{"class":78},"# 立即关机（所有发行版全部停掉，内存瞬间归还）\n",[72,126,128,130],{"class":74,"line":127},8,[72,129,105],{"class":85},[72,131,132],{"class":108}," --shutdown\n",[72,134,136],{"class":74,"line":135},9,[72,137,93],{"emptyLinePlaceholder":92},[72,139,141],{"class":74,"line":140},10,[72,142,143],{"class":78},"# 重启某个发行版（先停再启）\n",[72,145,147,149,152,155,159,161,163],{"class":74,"line":146},11,[72,148,105],{"class":85},[72,150,151],{"class":108}," -t",[72,153,154],{"class":112}," Ubuntu-22.04",[72,156,158],{"class":157},"sgsFI"," && ",[72,160,105],{"class":85},[72,162,109],{"class":108},[72,164,113],{"class":112},[58,166,168],{"id":167},"_2-状态与列表","2. 状态与列表",[63,170,172],{"className":65,"code":171,"language":67,"meta":68,"style":68},"# 看装了哪些发行版 + 当前状态（Running/Stopped）\nwsl -l -v\n# 简写：wsl -l -v\n\n# 只看正在跑的实例\nwsl -l --running\n\n# 查看当前默认发行版\nwsl -l --quiet\n",[23,173,174,179,189,194,198,203,212,216,221],{"__ignoreMap":68},[72,175,176],{"class":74,"line":75},[72,177,178],{"class":78},"# 看装了哪些发行版 + 当前状态（Running/Stopped）\n",[72,180,181,183,186],{"class":74,"line":82},[72,182,105],{"class":85},[72,184,185],{"class":108}," -l",[72,187,188],{"class":108}," -v\n",[72,190,191],{"class":74,"line":89},[72,192,193],{"class":78},"# 简写：wsl -l -v\n",[72,195,196],{"class":74,"line":96},[72,197,93],{"emptyLinePlaceholder":92},[72,199,200],{"class":74,"line":102},[72,201,202],{"class":78},"# 只看正在跑的实例\n",[72,204,205,207,209],{"class":74,"line":116},[72,206,105],{"class":85},[72,208,185],{"class":108},[72,210,211],{"class":108}," --running\n",[72,213,214],{"class":74,"line":121},[72,215,93],{"emptyLinePlaceholder":92},[72,217,218],{"class":74,"line":127},[72,219,220],{"class":78},"# 查看当前默认发行版\n",[72,222,223,225,227],{"class":74,"line":135},[72,224,105],{"class":85},[72,226,185],{"class":108},[72,228,229],{"class":108}," --quiet\n",[58,231,233],{"id":232},"_3-资源占用cpu-内存-磁盘","3. 资源占用（CPU / 内存 / 磁盘）",[63,235,237],{"className":65,"code":236,"language":67,"meta":68,"style":68},"# 实时看虚拟内存占用（任务管理器里叫 VmmemWSL）\nget-process -Name \"vmmemWSL\" | Select-Object CPU, WorkingSet, PagedMemorySize\n\n# 更详细：用 Windows 性能计数器（每秒刷新）\ntypeperf \"\\Process(vmmemWSL)\\Working Set\" -si 1\n\n# 查 WSL2 虚拟磁盘实际大小\nwsl -d Ubuntu-22.04 -e du -h /mnt/wslg/distro\n# 或直接进入 ext4.vhdx 所在目录\nGet-ChildItem \"$env:LOCALAPPDATA\\Packages\\CanonicalGroupLimited.UbuntuonWindows_*\\LocalState\\ext4.vhdx\" | Select-Object Name, Length, LastWriteTime\n",[23,238,239,244,271,275,280,294,298,303,323,328],{"__ignoreMap":68},[72,240,241],{"class":74,"line":75},[72,242,243],{"class":78},"# 实时看虚拟内存占用（任务管理器里叫 VmmemWSL）\n",[72,245,246,249,252,255,259,262,265,268],{"class":74,"line":82},[72,247,248],{"class":85},"get-process",[72,250,251],{"class":108}," -Name",[72,253,254],{"class":112}," \"vmmemWSL\"",[72,256,258],{"class":257},"sD7c4"," |",[72,260,261],{"class":85}," Select-Object",[72,263,264],{"class":112}," CPU,",[72,266,267],{"class":112}," WorkingSet,",[72,269,270],{"class":112}," PagedMemorySize\n",[72,272,273],{"class":74,"line":89},[72,274,93],{"emptyLinePlaceholder":92},[72,276,277],{"class":74,"line":96},[72,278,279],{"class":78},"# 更详细：用 Windows 性能计数器（每秒刷新）\n",[72,281,282,285,288,291],{"class":74,"line":102},[72,283,284],{"class":85},"typeperf",[72,286,287],{"class":112}," \"\\Process(vmmemWSL)\\Working Set\"",[72,289,290],{"class":108}," -si",[72,292,293],{"class":108}," 1\n",[72,295,296],{"class":74,"line":116},[72,297,93],{"emptyLinePlaceholder":92},[72,299,300],{"class":74,"line":121},[72,301,302],{"class":78},"# 查 WSL2 虚拟磁盘实际大小\n",[72,304,305,307,309,311,314,317,320],{"class":74,"line":127},[72,306,105],{"class":85},[72,308,109],{"class":108},[72,310,154],{"class":112},[72,312,313],{"class":108}," -e",[72,315,316],{"class":112}," du",[72,318,319],{"class":108}," -h",[72,321,322],{"class":112}," /mnt/wslg/distro\n",[72,324,325],{"class":74,"line":135},[72,326,327],{"class":78},"# 或直接进入 ext4.vhdx 所在目录\n",[72,329,330,333,336,339,342,344,346,349,352],{"class":74,"line":140},[72,331,332],{"class":85},"Get-ChildItem",[72,334,335],{"class":112}," \"",[72,337,338],{"class":157},"$env",[72,340,341],{"class":112},":LOCALAPPDATA\\Packages\\CanonicalGroupLimited.UbuntuonWindows_*\\LocalState\\ext4.vhdx\"",[72,343,258],{"class":257},[72,345,261],{"class":85},[72,347,348],{"class":112}," Name,",[72,350,351],{"class":112}," Length,",[72,353,354],{"class":112}," LastWriteTime\n",[58,356,358],{"id":357},"_4-导出-导入-备份整机镜像","4. 导出 / 导入 / 备份（整机镜像）",[63,360,362],{"className":65,"code":361,"language":67,"meta":68,"style":68},"# 备份整个发行版为 tar（系统重装前用）\nwsl --export Ubuntu-22.04 D:\\backup\\ubuntu2204.tar\n\n# 以后在新机器还原\nwsl --import Ubuntu-2204-New D:\\WSL\\Ubuntu2204-New D:\\backup\\ubuntu2204.tar --version 2\n\n# 把导入的实例设为默认（可选）\nwsl --set-default Ubuntu-2204-New\n",[23,363,364,369,393,397,402,443,447,452],{"__ignoreMap":68},[72,365,366],{"class":74,"line":75},[72,367,368],{"class":78},"# 备份整个发行版为 tar（系统重装前用）\n",[72,370,371,373,376,378,381,384,387,390],{"class":74,"line":82},[72,372,105],{"class":85},[72,374,375],{"class":108}," --export",[72,377,154],{"class":112},[72,379,380],{"class":112}," D:",[72,382,383],{"class":108},"\\b",[72,385,386],{"class":112},"ackup",[72,388,389],{"class":108},"\\u",[72,391,392],{"class":112},"buntu2204.tar\n",[72,394,395],{"class":74,"line":89},[72,396,93],{"emptyLinePlaceholder":92},[72,398,399],{"class":74,"line":96},[72,400,401],{"class":78},"# 以后在新机器还原\n",[72,403,404,406,409,412,414,417,420,423,426,428,430,432,434,437,440],{"class":74,"line":102},[72,405,105],{"class":85},[72,407,408],{"class":108}," --import",[72,410,411],{"class":112}," Ubuntu-2204-New",[72,413,380],{"class":112},[72,415,416],{"class":108},"\\W",[72,418,419],{"class":112},"SL",[72,421,422],{"class":108},"\\U",[72,424,425],{"class":112},"buntu2204-New",[72,427,380],{"class":112},[72,429,383],{"class":108},[72,431,386],{"class":112},[72,433,389],{"class":108},[72,435,436],{"class":112},"buntu2204.tar",[72,438,439],{"class":108}," --version",[72,441,442],{"class":108}," 2\n",[72,444,445],{"class":74,"line":116},[72,446,93],{"emptyLinePlaceholder":92},[72,448,449],{"class":74,"line":121},[72,450,451],{"class":78},"# 把导入的实例设为默认（可选）\n",[72,453,454,456,459],{"class":74,"line":127},[72,455,105],{"class":85},[72,457,458],{"class":108}," --set-default",[72,460,461],{"class":112}," Ubuntu-2204-New\n",[58,463,465],{"id":464},"_5-内存-处理器上限控制","5. 内存 & 处理器上限控制",[63,467,469],{"className":65,"code":468,"language":67,"meta":68,"style":68},"# 在用户目录新建/编辑 .wslconfig（全局生效）\nnotepad \"$env:USERPROFILE\\.wslconfig\"\n# 示例内容：\n[wsl2]\nmemory=4GB          # 最大内存\nprocessors=2        # 逻辑核数\nswap=1GB            # 交换文件大小\nlocalhostForwarding=true\n",[23,470,471,476,488,493,498,512,525,538],{"__ignoreMap":68},[72,472,473],{"class":74,"line":75},[72,474,475],{"class":78},"# 在用户目录新建/编辑 .wslconfig（全局生效）\n",[72,477,478,481,483,485],{"class":74,"line":82},[72,479,480],{"class":85},"notepad",[72,482,335],{"class":112},[72,484,338],{"class":157},[72,486,487],{"class":112},":USERPROFILE\\.wslconfig\"\n",[72,489,490],{"class":74,"line":89},[72,491,492],{"class":78},"# 示例内容：\n",[72,494,495],{"class":74,"line":96},[72,496,497],{"class":157},"[wsl2]\n",[72,499,500,503,506,509],{"class":74,"line":102},[72,501,502],{"class":157},"memory",[72,504,505],{"class":257},"=",[72,507,508],{"class":112},"4GB",[72,510,511],{"class":78},"          # 最大内存\n",[72,513,514,517,519,522],{"class":74,"line":116},[72,515,516],{"class":157},"processors",[72,518,505],{"class":257},[72,520,521],{"class":112},"2",[72,523,524],{"class":78},"        # 逻辑核数\n",[72,526,527,530,532,535],{"class":74,"line":121},[72,528,529],{"class":157},"swap",[72,531,505],{"class":257},[72,533,534],{"class":112},"1GB",[72,536,537],{"class":78},"            # 交换文件大小\n",[72,539,540,543,545],{"class":74,"line":127},[72,541,542],{"class":157},"localhostForwarding",[72,544,505],{"class":257},[72,546,547],{"class":112},"true\n",[58,549,551],{"id":550},"_6-升级","6. 升级",[63,553,555],{"className":65,"code":554,"language":67,"meta":68,"style":68},"# 升级 WSL 内核和 GUI 支持（需管理员）\nwsl --update\n\n# 查看当前内核版本\nwsl --version\n",[23,556,557,562,569,573,578],{"__ignoreMap":68},[72,558,559],{"class":74,"line":75},[72,560,561],{"class":78},"# 升级 WSL 内核和 GUI 支持（需管理员）\n",[72,563,564,566],{"class":74,"line":82},[72,565,105],{"class":85},[72,567,568],{"class":108}," --update\n",[72,570,571],{"class":74,"line":89},[72,572,93],{"emptyLinePlaceholder":92},[72,574,575],{"class":74,"line":96},[72,576,577],{"class":78},"# 查看当前内核版本\n",[72,579,580,582],{"class":74,"line":102},[72,581,105],{"class":85},[72,583,584],{"class":108}," --version\n",[53,586,588],{"id":587},"安装docker","安装Docker",[11,590,591,592,595],{},"安装 ",[23,593,594],{},"docker engine"," (在公司开发，不符合 Docker Desktop的许可证要求，所以这里只用纯命令行)",[63,597,599],{"className":65,"code":598,"language":67,"meta":68,"style":68},"# 1. 卸载旧版本（若之前装过 docker-ce 或 docker.io）\nsudo apt-get remove -y docker.io docker-doc docker-compose podman-docker containerd runc\n\n# 2. 装依赖\nsudo apt-get update\nsudo apt-get install -y ca-certificates curl gnupg lsb-release\n\n# 3. 添加 Docker 官方 GPG key & 仓库（Debian 12 bookworm）\nsudo install -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://download.docker.com/linux/debian/gpg | \\\n  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \\\n  https://download.docker.com/linux/debian \\\n  $(lsb_release -cs) stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n\n# 4. 安装最新版 Engine + CLI + containerd + compose 插件\nsudo apt-get update\nsudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\n# 5. 把当前用户加入 docker 组，免 sudo\nsudo usermod -aG docker $USER\nnewgrp docker\n\n# 6. 验证\ndocker run hello-world\n",[23,600,601,606,638,642,647,656,679,683,688,705,721,738,746,764,772,791,808,813,819,828,854,859,865,882,891,896,902],{"__ignoreMap":68},[72,602,603],{"class":74,"line":75},[72,604,605],{"class":78},"# 1. 卸载旧版本（若之前装过 docker-ce 或 docker.io）\n",[72,607,608,611,614,617,620,623,626,629,632,635],{"class":74,"line":82},[72,609,610],{"class":85},"sudo",[72,612,613],{"class":112}," apt-get",[72,615,616],{"class":112}," remove",[72,618,619],{"class":108}," -y",[72,621,622],{"class":112}," docker.io",[72,624,625],{"class":112}," docker-doc",[72,627,628],{"class":112}," docker-compose",[72,630,631],{"class":112}," podman-docker",[72,633,634],{"class":112}," containerd",[72,636,637],{"class":112}," runc\n",[72,639,640],{"class":74,"line":89},[72,641,93],{"emptyLinePlaceholder":92},[72,643,644],{"class":74,"line":96},[72,645,646],{"class":78},"# 2. 装依赖\n",[72,648,649,651,653],{"class":74,"line":102},[72,650,610],{"class":85},[72,652,613],{"class":112},[72,654,655],{"class":112}," update\n",[72,657,658,660,662,665,667,670,673,676],{"class":74,"line":116},[72,659,610],{"class":85},[72,661,613],{"class":112},[72,663,664],{"class":112}," install",[72,666,619],{"class":108},[72,668,669],{"class":112}," ca-certificates",[72,671,672],{"class":112}," curl",[72,674,675],{"class":112}," gnupg",[72,677,678],{"class":112}," lsb-release\n",[72,680,681],{"class":74,"line":121},[72,682,93],{"emptyLinePlaceholder":92},[72,684,685],{"class":74,"line":127},[72,686,687],{"class":78},"# 3. 添加 Docker 官方 GPG key & 仓库（Debian 12 bookworm）\n",[72,689,690,692,694,697,700,702],{"class":74,"line":135},[72,691,610],{"class":85},[72,693,664],{"class":112},[72,695,696],{"class":108}," -m",[72,698,699],{"class":108}," 0755",[72,701,109],{"class":108},[72,703,704],{"class":112}," /etc/apt/keyrings\n",[72,706,707,710,713,716,718],{"class":74,"line":140},[72,708,709],{"class":85},"curl",[72,711,712],{"class":108}," -fsSL",[72,714,715],{"class":112}," https://download.docker.com/linux/debian/gpg",[72,717,258],{"class":257},[72,719,720],{"class":108}," \\\n",[72,722,723,726,729,732,735],{"class":74,"line":146},[72,724,725],{"class":85},"  sudo",[72,727,728],{"class":112}," gpg",[72,730,731],{"class":108}," --dearmor",[72,733,734],{"class":108}," -o",[72,736,737],{"class":112}," /etc/apt/keyrings/docker.gpg\n",[72,739,741,744],{"class":74,"line":740},12,[72,742,743],{"class":108},"echo",[72,745,720],{"class":108},[72,747,749,752,755,758,761],{"class":74,"line":748},13,[72,750,751],{"class":112},"  \"deb [arch=$(",[72,753,754],{"class":85},"dpkg",[72,756,757],{"class":108}," --print-architecture",[72,759,760],{"class":112},") signed-by=/etc/apt/keyrings/docker.gpg] ",[72,762,763],{"class":108},"\\\n",[72,765,767,770],{"class":74,"line":766},14,[72,768,769],{"class":112},"  https://download.docker.com/linux/debian ",[72,771,763],{"class":108},[72,773,775,778,781,784,787,789],{"class":74,"line":774},15,[72,776,777],{"class":112},"  $(",[72,779,780],{"class":85},"lsb_release",[72,782,783],{"class":108}," -cs",[72,785,786],{"class":112},") stable\"",[72,788,258],{"class":257},[72,790,720],{"class":108},[72,792,794,796,799,802,805],{"class":74,"line":793},16,[72,795,725],{"class":85},[72,797,798],{"class":112}," tee",[72,800,801],{"class":112}," /etc/apt/sources.list.d/docker.list",[72,803,804],{"class":257}," >",[72,806,807],{"class":112}," /dev/null\n",[72,809,811],{"class":74,"line":810},17,[72,812,93],{"emptyLinePlaceholder":92},[72,814,816],{"class":74,"line":815},18,[72,817,818],{"class":78},"# 4. 安装最新版 Engine + CLI + containerd + compose 插件\n",[72,820,822,824,826],{"class":74,"line":821},19,[72,823,610],{"class":85},[72,825,613],{"class":112},[72,827,655],{"class":112},[72,829,831,833,835,837,839,842,845,848,851],{"class":74,"line":830},20,[72,832,610],{"class":85},[72,834,613],{"class":112},[72,836,664],{"class":112},[72,838,619],{"class":108},[72,840,841],{"class":112}," docker-ce",[72,843,844],{"class":112}," docker-ce-cli",[72,846,847],{"class":112}," containerd.io",[72,849,850],{"class":112}," docker-buildx-plugin",[72,852,853],{"class":112}," docker-compose-plugin\n",[72,855,857],{"class":74,"line":856},21,[72,858,93],{"emptyLinePlaceholder":92},[72,860,862],{"class":74,"line":861},22,[72,863,864],{"class":78},"# 5. 把当前用户加入 docker 组，免 sudo\n",[72,866,868,870,873,876,879],{"class":74,"line":867},23,[72,869,610],{"class":85},[72,871,872],{"class":112}," usermod",[72,874,875],{"class":108}," -aG",[72,877,878],{"class":112}," docker",[72,880,881],{"class":157}," $USER\n",[72,883,885,888],{"class":74,"line":884},24,[72,886,887],{"class":85},"newgrp",[72,889,890],{"class":112}," docker\n",[72,892,894],{"class":74,"line":893},25,[72,895,93],{"emptyLinePlaceholder":92},[72,897,899],{"class":74,"line":898},26,[72,900,901],{"class":78},"# 6. 验证\n",[72,903,905,908,911],{"class":74,"line":904},27,[72,906,907],{"class":85},"docker",[72,909,910],{"class":112}," run",[72,912,913],{"class":112}," hello-world\n",[915,916,917],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s7eDp, html code.shiki .s7eDp{--shiki-default:#6F42C1}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sD7c4, html code.shiki .sD7c4{--shiki-default:#D73A49}",{"title":68,"searchDepth":82,"depth":82,"links":919},[920,928],{"id":55,"depth":82,"text":56,"children":921},[922,923,924,925,926,927],{"id":60,"depth":89,"text":61},{"id":167,"depth":89,"text":168},{"id":232,"depth":89,"text":233},{"id":357,"depth":89,"text":358},{"id":464,"depth":89,"text":465},{"id":550,"depth":89,"text":551},{"id":587,"depth":82,"text":588},"2025-11-04T00:00:00.000Z","时隔多年，开发机准备切换到 windows 环境下！","md","2025-11-05T00:00:00.000Z",{},"/post/wsl/new-experience-in-windows-with-wsl2-debian","---\ntitle: 在 windows 上使用 wsl2 + debian 进行前端开发\ndate: 2025-11-04\nlastmod: 2025-11-05\n---\n\n时隔多年，开发机准备切换到 **windows** 环境下！\n\n三年前 `1w3` 的 `mac m2 air` 现在大概只值 `4k` 。因为新的 `m4 air` 才 `7k+`。\n\n_这篇文章先占个坑，用来记录最近的 WSL2 配置，还没有真正进入开发状态_\n\n----\n\n## WSL 相关\n\n### 1. 启动 / 关闭 / 重启命令\n\n```shell\n# 启动默认发行版\nwsl\n\n# 启动指定发行版（名字用 wsl -l -v 看）\nwsl -d Ubuntu-22.04\n\n# 立即关机（所有发行版全部停掉，内存瞬间归还）\nwsl --shutdown\n\n# 重启某个发行版（先停再启）\nwsl -t Ubuntu-22.04 && wsl -d Ubuntu-22.04\n```\n\n### 2. 状态与列表\n\n```shell\n# 看装了哪些发行版 + 当前状态（Running/Stopped）\nwsl -l -v\n# 简写：wsl -l -v\n\n# 只看正在跑的实例\nwsl -l --running\n\n# 查看当前默认发行版\nwsl -l --quiet\n```\n\n### 3. 资源占用（CPU / 内存 / 磁盘）\n\n```shell\n# 实时看虚拟内存占用（任务管理器里叫 VmmemWSL）\nget-process -Name \"vmmemWSL\" | Select-Object CPU, WorkingSet, PagedMemorySize\n\n# 更详细：用 Windows 性能计数器（每秒刷新）\ntypeperf \"\\Process(vmmemWSL)\\Working Set\" -si 1\n\n# 查 WSL2 虚拟磁盘实际大小\nwsl -d Ubuntu-22.04 -e du -h /mnt/wslg/distro\n# 或直接进入 ext4.vhdx 所在目录\nGet-ChildItem \"$env:LOCALAPPDATA\\Packages\\CanonicalGroupLimited.UbuntuonWindows_*\\LocalState\\ext4.vhdx\" | Select-Object Name, Length, LastWriteTime\n```\n\n### 4. 导出 / 导入 / 备份（整机镜像）\n\n```shell\n# 备份整个发行版为 tar（系统重装前用）\nwsl --export Ubuntu-22.04 D:\\backup\\ubuntu2204.tar\n\n# 以后在新机器还原\nwsl --import Ubuntu-2204-New D:\\WSL\\Ubuntu2204-New D:\\backup\\ubuntu2204.tar --version 2\n\n# 把导入的实例设为默认（可选）\nwsl --set-default Ubuntu-2204-New\n```\n\n### 5. 内存 & 处理器上限控制\n\n```shell\n# 在用户目录新建/编辑 .wslconfig（全局生效）\nnotepad \"$env:USERPROFILE\\.wslconfig\"\n# 示例内容：\n[wsl2]\nmemory=4GB          # 最大内存\nprocessors=2        # 逻辑核数\nswap=1GB            # 交换文件大小\nlocalhostForwarding=true\n```\n\n### 6. 升级\n\n```shell\n# 升级 WSL 内核和 GUI 支持（需管理员）\nwsl --update\n\n# 查看当前内核版本\nwsl --version\n```\n\n## 安装Docker\n\n安装 `docker engine` (在公司开发，不符合 Docker Desktop的许可证要求，所以这里只用纯命令行)\n\n```shell\n# 1. 卸载旧版本（若之前装过 docker-ce 或 docker.io）\nsudo apt-get remove -y docker.io docker-doc docker-compose podman-docker containerd runc\n\n# 2. 装依赖\nsudo apt-get update\nsudo apt-get install -y ca-certificates curl gnupg lsb-release\n\n# 3. 添加 Docker 官方 GPG key & 仓库（Debian 12 bookworm）\nsudo install -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://download.docker.com/linux/debian/gpg | \\\n  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg\necho \\\n  \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \\\n  https://download.docker.com/linux/debian \\\n  $(lsb_release -cs) stable\" | \\\n  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null\n\n# 4. 安装最新版 Engine + CLI + containerd + compose 插件\nsudo apt-get update\nsudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\n# 5. 把当前用户加入 docker 组，免 sudo\nsudo usermod -aG docker $USER\nnewgrp docker\n\n# 6. 验证\ndocker run hello-world\n```",{"title":5,"description":930},"post/wsl/new-experience-in-windows-with-wsl2-debian","mLoh5er9yBBjqZ1yI6MD8uf1Ik4-ZuziW4IRcuLwbhQ",[940,944],{"title":941,"path":942,"stem":943},"OpenClaw 安装入门（Windows）","/post/zzao/openclaw/openclaw-install-windows","post/zzao/openclaw/openclaw-install-windows",{"title":945,"path":946,"stem":947},"假设你是AI，你的Skill应该是什么样的","/post/zzao/ai-skill-structure","post/zzao/ai-skill-structure",1779005085303]