ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Windows 11 WSL2 手动导入 CentOS 开发环境实战

Windows 11 WSL2 手动导入 CentOS 开发环境实战 1. 为什么要在 Windows 11 上折腾 WSL 里的 CentOS我手里这台 Windows 11 的机器用了两年多最大的使用习惯变化就是——几乎不再开虚拟机跑 Linux 了。日常的编译、跑脚本、连测试环境做验证基本都在 WSL 里完成。WSL 全称 Windows Subsystem for Linux中文一般叫「适用于 Linux 的 Windows 子系统」在 Windows11 上它已经相当成熟装完直接用文件系统互通、网络互通、还能和 VSCode 深度集成比传统虚拟机省掉一大半内存和启动时间。用过一次之后你大概率回不去了。但这里有个长期被吐槽的尴尬点微软商店里能一键装的发行版只有 Ubuntu、Debian、Kali、openSUSE 这些搜 CentOS 是搜不到的。而国内相当多的老项目、运维脚本、内部中间件基线就是 CentOSyum的包名、systemctl的服务单元、甚至某些目录结构都跟 Ubuntu 的apt世界不一样。你要在 Ubuntu 上复刻一套 CentOS 的行为往往得手动改一堆东西最后还不一定对。所以「基于 Windows11 的 WSL 安装 CentOS」这个需求本质上是手动把 CentOS 的根文件系统导进 WSL而不是点一下安装按钮那么简单。这篇我打算把自己从零走一遍的完整过程写下来WSL 组件怎么装、wsl --install太慢怎么处理、CentOS 的 rootfs 镜像从哪来、wsl --import怎么用、导入之后用户和 systemd 怎么配、yum 源怎么换、磁盘怎么扩容回收以及一堆我踩过的坑。目标很明确——在干净的 Windows 11 上半小时左右拿到一个能正常yum、能装开发工具、能和 VSCode 打通的 CentOS 环境。适合手上只有 Windows、又需要 CentOS 行为一致性的开发者和运维同学看小白也能跟着做。2. 动手之前的准备Win11 环境与 WSL 组件2.1 系统版本、虚拟化和磁盘位置的核对先说硬件和系统层面的硬门槛这一步跳过后面会各种报错。WSL2 底层是轻量虚拟机需要 CPU 的虚拟化指令集Intel 平台叫 VT-xAMD 平台叫 SVM绝大多数近五年的机器都默认开启但少数品牌机、尤其是笔记本出厂时会被 BIOS 关掉。判断方法很简单任务管理器 → 性能 → CPU右下角看「虚拟化」是不是「已启用」。如果显示已禁用重启进 BIOS 找到Virtualization Technology之类的选项打开这条没有软件层面的替代方案。系统版本方面WSL2 要求 Windows 10 2004 及以上或任意 Windows 11 版本我们现在讨论的是 Win11所以基本都满足。真正要留意的是磁盘位置规划。WSL 发行版最终会以ext4.vhdx虚拟磁盘的形式落在某个目录里默认走 C 盘。如果你像我一样 C 盘只有 256G 又要装一堆编译器、SDK、CUDA 工具链那几百 G 很快就被吃掉。我的做法是提前在 D 盘建一个固定目录比如D:\WSL\后面所有发行版都往这里导备份、迁移、清理都集中在一个地方找起来清爽。还有个小细节值得提Windows 11 里如果之前装过 Docker Desktop 或者 Hyper-V、WSA安卓子系统它们和 WSL2 共用虚拟化平台正常情况能共存但偶尔会出现 Hyper-V 抢占了 WSL 网络的情况表现为网段异常。真遇到了把 Hyper-V 的虚拟交换机检查一下基本能定位。提示C 盘空间紧张的同学不要在装完系统后才想起来换盘。发行版一旦导入到 C 盘迁移需要导出再导入几百 G 的数据来回折腾非常痛苦。2.2 安装 WSL 的三种姿势和下载太慢的处理开启 WSL 目前有三条路我按省事程度排个序。第一条是命令行一把梭。用管理员身份打开 PowerShell 或 Windows Terminal执行wsl --install这一条命令会帮你启用「适用于 Linux 的 Windows 子系统」和「虚拟机平台」两个 Windows 功能拉取 WSL2 内核并把默认发行版 Ubuntu 装上。注意它默认装的是 Ubuntu跟我们要的 CentOS 没关系我们借它把底座搭好Ubuntu 留着或者后面wsl --unregister注销掉都行。第二条是图形界面点。控制面板 → 程序和功能 → 启用或关闭 Windows 功能勾选「适用于 Linux 的 Windows 子系统」和「虚拟机平台」确定后重启再手动装内核更新包。这条路适合命令行报奇奇怪怪错误的时候用 GUI 交叉验证。第三条是纯离线。有些内网机器、公司电脑禁了外部下载wsl --install会卡在「正在安装适用于 Linux 的 Windows 子系统」半天不动也就是大家常说的「wsl --install 太慢」。这时候两个办法一是加--web-download参数强制走网络下载而不是走本地缓存/商店通道命令是wsl --install --web-download二是干脆手动下载wsl_update_x64.msi这个内核更新包双击安装再把功能开关手动打开。wsl --update慢同样是这个原因换成wsl --update --web-download通常顺畅不少。注意启用「虚拟机平台」后系统会要求重启别偷懒跳过不重启的话后面的wsl --set-default-version 2会报「WSL2 需要更新内核组件」。2.3 内核更新、默认版本与自定义配置底座装完先确认版本号别急着导入。执行wsl --version能看到 WSL 版本、内核版本、WSLg 版本这些信息。WSL 的版本号很关键后面要不要开 systemd、能不能用--set-sparse压缩磁盘都取决于它。我建议至少升到 2.0 以上的版本功能完整度差很多。接着设置默认版本wsl --set-default-version 2这一步把新建的发行版默认成 WSL2。为什么强烈推荐 WSL2 而不是 WSL1简单说WSL1 是把 Linux 系统调用翻译成 Windows 调用文件跨系统访问快但内核不完整Docker、systemd、很多需要内核特性的工具都跑不起来WSL2 是真正的 Linux 内核跑在轻量虚拟机里兼容性接近原生代价是跨系统访问/mnt/c的文件会慢一些内存占用也高一截。跑 CentOS 这种需要完整包管理器和内核行为的场景WSL2 是唯一合理选择。再配一个全局资源限制文件位置在C:\Users\你的用户名\.wslconfig没有就新建[wsl2] memory8GB processors4 swap2GB localhostForwardingtrue这里memory是给所有 WSL 发行版共享的内存上限默认在旧版本里能吃到主机的 80%机器 16G 内存的话会被榨干设成 8GB 比较稳。swap别设太大2GB 够用设大了反而拖慢磁盘。改完这个文件要wsl --shutdown才生效记住这条命令后面会反复用到。3. 核心操作把 CentOS 根文件系统导进 WSL3.1 商店里为什么搜不到 CentOS先解释清楚这件事的来龙去脉不然你会一直纠结「是不是我搜错了」。WSL 在微软商店里分发的发行版都是发行版官方或社区跟微软合作打包的格式是一个特殊的install.tar.gz商店负责下载和注册。Ubuntu、Debian、SUSE 这些有长期合作所以能一键装。CentOS 的历史比较特殊Red Hat 体系的重心在企业级订阅社区版的维护策略这些年也变动频繁加上 CentOS 的 systemd 版本偏老、与 WSL 的集成测试成本高所以官方一直没有上架。但这不代表 WSL 不欢迎 CentOS。WSL 有一个通用的导入机制只要你有一个 Linux 根文件系统的 tar 包就能通过wsl --import注册成一个发行版。这个机制对所有 Linux 发行版一视同仁不挑食。所以我们要做的核心事情就三件搞到一个干净的 CentOS rootfs tar、放到 D 盘的规划目录、执行导入。理解了这个你会发现网上那些「WSL 装 CentOS」的教程翻来覆去其实就是这三步剩下的都是配置层面的细节。顺带说一句版本选择。CentOS 7 的软件包生态最成熟很多老项目依赖它但它的 systemd 是 219 版本非常老和 WSL 的现代特性配合起来会有点别扭CentOS Stream 9 相对新跟 WSL 的兼容性更好dnf也更快。如果只是想有个 CentOS 环境做日常开发我建议 Stream 9如果是为了对齐生产环境的老基线那就上 CentOS 7后面会讲怎么绕开它的坑。3.2 弄到一个干净的 CentOS rootfs 镜像这一步是整篇文章最关键、也是新手最容易卡住的地方。rootfs 从哪来我实测下来最靠谱的是借 Docker 的容器镜像导出。原理很简单Docker 官方仓库里的 CentOS 镜像本质就是一个精简到极致的 rootfs 打包正好符合 WSL 的要求。只要你能跑 DockerWindows 上装 Docker Desktop或者干脆在刚装好的 WSL Ubuntu 里装 Docker拉镜像再导出就行# 在 WSL 的 Ubuntu 里或任何有 Docker 的环境 docker pull centos:centos7 # 老基线 docker pull quay.io/centos/centos:stream9 # 新版 # 创建容器但不启动 docker create --name centos_tmp centos:centos7 # 导出成 tar docker export centos_tmp -o centos7.tar # 清理 docker rm centos_tmp导出的这个centos7.tar就是我们要的东西。注意docker export和docker save别搞混save保存的是镜像分层结构拿去 WSL 导入会失败export导出的才是扁平化的文件系统这才是 WSL 要的格式。拉镜像慢是常态解决办法是给 Docker 配镜像加速。在 Docker Desktop 的设置里或者在 Linux 下编辑/etc/docker/daemon.json{ registry-mirrors: [ https://mirror.ccs.tencentyun.com, https://docker.m.daocloud.io ] }换完之后systemctl restart docker或重启 Docker Desktop。这些镜像地址有时会失效多准备两三个轮流试。如果你完全不想碰 Docker也可以找现成的 CentOS rootfs tar 包一些高校镜像站和社区都有维护格式同样是 tar只要解压出来能看到bin、etc、usr、var这些标准目录就能用。判断标准就一条tar 包解压后根目录直接是标准 Linux 目录结构而不是一个套一层的文件夹。注意CentOS 7 已经进入生命周期尾声官方 yum 源已经迁移到 vault 归档地址所以导入后的第一件事必然是换源否则yum install全部报 404。这个坑后面单独讲。3.3 wsl --import 导入与目录规划拿到 tar 包放到规划好的目录比如D:\WSL\。然后打开 PowerShell执行导入命令这行命令的参数顺序不能错wsl --import CentOS7 D:\WSL\CentOS7 D:\WSL\centos7.tar --version 2逐个参数解释CentOS7是你给这个发行版起的名字后面wsl -d CentOS7就用它D:\WSL\CentOS7是 WSL 存放虚拟磁盘的目录必须是空目录WSL 会在这里生成ext4.vhdxD:\WSL\centos7.tar是刚才的 rootfs 包--version 2显式指定 WSL2。如果你想顺手把 Stream 9 也导进来换个名字和目录再跑一遍就行多个发行版可以共存。导入过程就是把 tar 解包写进 vhdx视包大小和磁盘速度几十秒到几分钟不等。完成后wsl -l -v应该能看到NAME STATE VERSION * Ubuntu Stopped 2 CentOS7 Stopped 2看到 VERSION 是 2、STATE 是 Stopped就说明注册成功了。这时候执行wsl -d CentOS7就能进去第一次进去默认是 root提示符会变成[root主机名 ~]#。有一点要提前说明--import导入的发行版不会自动创建普通用户也不会给你配好默认用户所有东西都是 root。这是很多人导入完觉得「怎么和商店装的 Ubuntu 不一样」的原因。商店装的发行版有个首次启动向导会问你用户名密码导入的没有全得自己来。3.4 第一次登录后必须做的用户和 sudo 配置长期用 root 跑东西不是好习惯权限太大、误操作代价高很多工具还会因为检测到 root 而改变行为比如某些编译脚本、npm的全局安装。所以第一件事是建普通用户并配好 sudo。进到 CentOS7 里依次执行# 建用户-m 创建家目录-s 指定 shell useradd -m -s /bin/bash dev passwd dev # 加入 wheel 组CentOS 里 wheel 相当于 sudo 组 usermod -aG wheel dev然后配置 sudo 权限。CentOS 的/etc/sudoers里默认有这一行只是被注释了# %wheel ALL(ALL) ALL用visudo编辑一定用 visudo别直接用 vim它会做语法检查改错了不会让你把系统锁死把这行的#去掉保存。或者更省事在/etc/sudoers.d/下新建一个文件echo dev ALL(ALL) NOPASSWD: ALL /etc/sudoers.d/dev chmod 440 /etc/sudoers.d/dev新文件权限必须是 440否则 sudo 会拒绝加载。NOPASSWD是免密码个人开发机图省事可以加涉及多人共用的机器就别加。配完还差最后一步——告诉 WSL 默认用dev登录这就轮到下一章的wsl.conf出场了。这一步不做的话你每次wsl -d CentOS7都还是 root前面白忙活。4. 导入之后让它变成一台能干活的 CentOS4.1 wsl.conf 配置与 systemd 的真实坑WSL 有个专门的配置文件/etc/wsl.conf注意是没有点前缀的这个不是/etc/wsl.conf之外的什么文件它是每个发行版独立的用来控制启动行为、用户、网络、Windows 路径继承等。我的常用配置长这样[boot] systemdtrue [user] defaultdev [interop] enabledtrue appendWindowsPathfalse [network] generateResolvConftrue逐条说人话。[boot] systemdtrue是让 WSL 启动时用 systemd 作为 init这样systemctl才能用那些依赖系统服务的工具比如 Docker、nginx、某些数据库才能正常起。[user] defaultdev就是刚才说的默认用户。[interop] appendWindowsPathfalse是个很实用的优化——默认情况下 WSL 会把 Windows 的 PATH 追加进来导致你在 Linux 里敲ls、find有时会命中 Windows 的同名程序速度慢还报错关掉之后清静很多。generateResolvConftrue保持默认让 WSL 自动写 DNS。重点来了systemd 在 CentOS 7 上是个真坑。WSL 的 systemd 集成对 systemd 版本有要求CentOS 7 用的是 219太老实测下来systemdtrue有时会导致启动卡很久、部分服务起不来甚至进不去 shell。如果你用的是 CentOS Stream 9systemd 250一切顺畅。所以我的建议是追求省心就上 Stream 9必须用 CentOS 7 的话先别急着开 systemd用传统方式手动起服务或者只在你确实需要的那次会话里临时处理。改完wsl.conf在 Windows 侧执行wsl --shutdown让它彻底重启新配置才生效。提示wsl --shutdown会关掉所有发行版不只是当前这个。如果你同时开着别的 WSL 任务先确认一下。4.2 yum 源替换与基础工具链安装CentOS 7 导入后的第一个坎就是 yum 报错因为官方源地址已经下线归档。必须换源阿里云、清华、中科大都有维护对应仓库。以阿里云为例# 备份原配置 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak # 换成 7 的镜像 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo # 清缓存重建 yum clean all yum makecachemakecache那一步会把所有仓库的元数据拉下来第一次跑要一两分钟。跑完不报错就说明源通了。Stream 9 用的是 dnf源本身还活着但速度一般可以整体替换域名sed -i s|mirror.stream.centos.org|mirrors.aliyun.com/centos-stream|g /etc/yum.repos.d/centos*.repo dnf clean all dnf makecache源通了之后装基础工具链。我一般会一次性装齐这些epel-release扩展包源很多常用工具在里面、git、vim、wget、curl、tar、unzip、gcc、make、python3、nodejs离线装或者用 nodesource 源、ssh客户端、net-tools。命令就是yum install -y git vim ...注意 CentOS 7 的默认 Python 是 2.7要 Python 3 得额外装python3或用 SCL 源这点和 Ubuntu 差别明显。装完大概几百兆第一次会比较久之后就快了。4.3 DNS、时间同步和网络连通性WSL2 的网络是 NAT 模式Windows 主机当网关所以有几个非常典型的问题。第一是 DNS。默认 WSL 会自动生成/etc/resolv.conf内容指向网关地址。这本来没问题但如果你公司的网络环境比较特殊或者 Windows 侧的网络配置变了WSL 里的 DNS 可能解析失败表现就是yum报「Could not resolve host」。应对方式有两个一是改成手动固定把wsl.conf里的generateResolvConf设成false然后自己写/etc/resolv.confnameserver 223.5.5.5 nameserver 119.29.29.29改完记得chattr i /etc/resolv.conf防止被覆盖要改回来时先-i。二是干脆信任自动只在出问题时临时排查。第二是时间。WSL2 虚拟机暂停再恢复后系统时间容易漂移表现是yum报证书过期、HTTPS 握手失败、日志时间错乱。修正命令是sudo hwclock -s或者装chrony让时间守护进程自己同步。这个坑很隐蔽很多人折腾半天 yum 报错其实是时间不对。第三是常被问到的「CentOS ping 不通网关」。WSL2 里 ping 网关也就是 Windows 主机有时不通是正常的因为 Windows 防火墙默认会挡 ICMP 回显这是设计如此不影响正常上网——你curl一下外网试试能通就没事。真需要主机互 ping得去 Windows 防火墙入站规则里放行 ICMPv4。另外 WSL2 里跑的服务Windows 侧用localhost:端口一般都能直接访问因为做了端口转发不用去记虚拟机 IP。4.4 磁盘空间扩容与回收先纠正一个常见误会WSL2 的ext4.vhdx是动态增长磁盘默认上限是 1TB日常用基本不需要「扩容」这个动作。真正困扰大家的是相反的方向——占用的空间只涨不跌。你在 Linux 里rm掉几个 G 的文件Windows 侧的 vhdx 大小不会变小因为那些块在虚拟磁盘里还是「已分配」状态。回收方式有两种。旧版本用 diskpartwsl --shutdown diskpart # 进入 diskpart 后 select vdisk fileD:\WSL\CentOS7\ext4.vhdx attach vdisk readonly compact vdisk detach vdisk exit新版 WSL2.0有个更简单的开关叫稀疏文件wsl --shutdown wsl --manage CentOS7 --set-sparse true打开之后Linux 里删掉的空间会逐步还给 Windows。我一般每隔一两个月清理一次缓存和构建产物再wsl --shutdown跑一次压缩能省出好几 G。真到了要把上限调大的地步很少见也可以用diskpart的expand vdisk maximumxxx但正常开发根本碰不到。注意压缩之前一定wsl --shutdown虚拟磁盘正在被使用时做 compact 会失败或者损坏文件。5. 常见问题速查与排查实录5.1 导入失败、启动黑屏和 0x 报错导入相关的报错其实就几类我把踩过的整理成表现象大概率原因处理方式The system cannot find the file specifiedtar 路径写错或路径含空格没加引号用绝对路径含空格加双引号导入瞬间完成但wsl -l -v里没有导入的是docker save的分层包换docker export重新导出启动后卡住不动、无提示符tar 包不完整或结构不对校验解压后是否为标准根目录WslRegisterDistribution failed with error 0x800701bcWSL2 内核没装手动装wsl_update_x64.msi0x80370102CPU 虚拟化没开BIOS 里开启 VT-x/SVM 后重启格式问题的判断方法我在前面提过解压你手上的 tar如果根目录直接是bin、etc、usr这些就对如果里面还有一个同名文件夹套着那导入进去后系统是「套娃」的必然起不来。还有一种情况是导入完成后进系统CtrlD退出再进发现配置丢了——那多半是你没执行wsl --shutdown改动还没落盘就被异常终止了。养成习惯改完配置统一 shutdown 一次。5.2 网络类的三个高频问题除了前面讲的 DNS还有两个高频问题。一个是 yum 下载速度奇慢。先确认源换没换再检查是不是 IPv6 在拖后腿——有些环境 IPv6 不通但系统优先走它导致超时重试。临时办法是给 yum 加参数强制 IPv4在/etc/yum.conf里加ip_resolve4立刻见效。另一个是端口访问。WSL2 里起的服务Windows 侧用localhost能访问是常态但如果遇到不通多半是服务监听在127.0.0.1以外或者 Windows 防火墙拦了。排查顺序先在 WSL 里ss -tlnp看监听地址再从 Windows 侧curl http://localhost:端口试。跨机器访问 WSL 里的服务需要额外配置这个场景比较少见。5.3 性能、内存占用和卡顿WSL2 卡顿八成是内存和磁盘引起的。内存方面前面.wslconfig里的memory限制是关键不设的话 WSL 会把宿主内存吃到 80%你会感觉 Windows 也开始卡。磁盘方面如果在/mnt/c/...这种 Windows 挂载路径下跑编译、跑npm install、跑 git 操作速度会明显慢因为每次文件操作都要跨系统翻译。正确做法是把项目代码放在 Linux 自己的文件系统里比如~/projects/只在需要和 Windows 互传文件时才走/mnt/c。还有个容易忽略的点是杀毒软件。Windows Defender 或其他安全软件对 vhdx 文件的实时扫描会拖慢 WSL 的 IO把 WSL 的目录加入排除列表能明显提速这是我实测下来最有感的一个优化。5.4 VSCode 与终端体验调优在 VSCode 里用 WSL 是这套方案最舒服的地方装Remote - WSL扩展在 WSL 里对着项目目录敲code .VSCode 就直接连进 WSL 打开项目终端、调试、扩展全都跑在 Linux 侧环境一致性和本地开发几乎没差。这也是很多人从虚拟机转向 WSL 的真正原因——不用来回同步文件。字体方面Windows 终端默认的 Consolas 谈不上好看。想要接近 macOS 那种精致感核心是三件事选一款字形讲究等宽的编程字体、关掉过重的字重、调好抗锯齿。字体推荐等距更纱黑体Sarasa Mono SC中英文对齐非常好中文注释不会歪纯英文场景可以选 JetBrains Mono 或 Maple Mono后者带连字关不关看个人喜好。字号我习惯设 11-12行高 1.2配合 Windows Terminal 的亚克力背景和 One Dark 配色观感提升立竿见影。字形渲染这块Windows 的 ClearType 有时会把细笔画渲染得发灰把字体字重调到 Medium 往往比 Regular 好看。6. 备份、迁移和长期维护的经验6.1 导出备份与换机器迁移WSL 最省心的一点是整套环境就是一个文件备份迁移极其简单wsl --export CentOS7 D:\Backup\centos7-20250101.tar导出的是完整系统包括你的用户、装的包、改的配置、项目文件一个 tar 全带走。换机器时新电脑装好 WSL 底座wsl --import一下就能无缝续上比虚拟机快照还方便。我的习惯是在做大版本升级、换工作机器之前先导一次几十 G 也就几分钟。要注意的是导出的 tar 会很大跟 vhdx 实际占用差不多别频繁导按季度或者重大变更之前导就行。导入回来的发行版默认用户配置在wsl.conf里是保留的所以一般不用重新配。6.2 多发行版共存与默认切换实际工作里我经常同时用几个发行版一个 CentOS 7 对齐老项目、一个 Stream 9 跑新东西、偶尔还留个 Ubuntu 试工具。管理命令就那么几个wsl -l -v # 列出所有发行版和状态 wsl -d CentOS7 # 进入指定发行版 wsl --set-default CentOS7 # 设置默认发行版 wsl --terminate CentOS7 # 停掉某个发行版 wsl --unregister CentOS7 # 彻底注销删除不可恢复unregister这个命令慎用它会直接删掉目录里的 vhdx没有回收站。删除前务必先--export备份这条件我写在这儿就是提醒自己曾经手快过一次。6.3 什么时候该放弃 WSL说了这么多好处也得讲清楚它不适合的场景不然你会走弯路。如果你需要完整的 systemd 生态、要跑 KVM 嵌套虚拟化、要模拟特定内核版本、或者要做网络抓包和内核模块调试WSL2 就会力不从心它的内核是微软定制的不是发行版原版很多底层功能受限。这时候老老实实回到 VMware 或者 Hyper-V 装完整虚拟机虽然重但行为是真·原生。另外如果团队基线是 Ubuntu也别为了「习惯」强行上 CentOS环境对齐才是第一位的。我自己现在的分工很明确日常编码、跑脚本、连测试环境全在 WSL 的 CentOS 里只有需要验证内核相关行为和做完整系统测试时才开虚拟机。这套组合用了两年多效率确实比全是虚拟机的时候高不少。最后分享一个我在长期使用里养成的小习惯把每次导入新发行版之后要做的配置建用户、配 sudo、换源、改 wsl.conf、装工具链整理成一个几行的 shell 脚本存在 D 盘下次换机器或者新导一个发行版bash init.sh一遍就成型省得每次翻教程重来一遍。这个脚本我前后迭代了七八次是这套 CentOS 环境里最值钱的一件东西。
返回列表