网站建设网站需求分析报告功能,专业推广图片,wordpress图床插件,中国建设工程造价协会网站WSL
适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能#xff0c;可用于在 Windows 计算机上运行 Linux 环境#xff0c;而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时#xff0c…
WSL
适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能可用于在 Windows 计算机上运行 Linux 环境而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时WSL 2 是默认发行版类型。 WSL 2 使用虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。 Linux 发行版作为独立的容器在 WSL 2 托管 VM 内运行。 通过 WSL 2 运行的 Linux 发行版将共享同一网络命名空间、设备树而非 /dev/pts、CPU/内核/内存/交换空间、/init 二进制文件但有自己的 PID 命名空间、装载命名空间、用户命名空间、Cgroup 命名空间和 init 进程。
安装
必须运行 Windows 10 版本 2004 及更高版本内部版本 19041 及更高版本或 Windows 11 才能使用以下命令。
安装WSL
现在可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符方法是右键单击并选择“以管理员身份运行”输入wsl --install命令然后重启计算机。 使用默认的命令安装WSL时会按默认的发行版本进行安装。 如果需要安装其他版本的Linux系统可执行wsl --install -d DistroNameDistroName为发行版本的名称。 如果需要查看所有支持的发行版本可以执行wsl --list --online若需要安装其他的版本也可执行wsl --install -d DistroName进行安装。当安装了多个版本的Linux后可通过wsl -l -v命令来查看当前已有的Linux系统启动时可通过执行wsl -d DistroName命令或开始菜单中对应的图标直接启动。 若执行wsl则会启动默认的版本。 通过图标启动的版本会随着对话框的关闭而自动停止所以若想虚拟机一直运行可以通过命令行启动 需要停止虚拟机时可以使用wsl --shutdown停止所有正在运行的服务或使用wsl --terminate DistroName结束特定的版本。需要删除虚拟机时可以使用wsl --unregister Distro删除指定的服务
更新和升级
建议使用发行版的首选包管理器定期更新和升级包。 对于 Ubuntu 或 Debian请使用以下命令
sudo apt update
sudo apt upgradeWindows 不会自动更新或升级 Linux 分发版。 大多数 Linux 用户往往倾向于自行控制此任务。
磁盘挂载 标识磁盘
执行以下命令
GET-CimInstance -query SELECT * from Win32_DiskDrive可获得磁盘路径DeviceID。执行以下命令挂载磁盘
wsl --mount DiskPath --bare--bare将磁盘附加到WSL2但不装载它。 DiskPath为第一步查询到的DeviceID 附加后可以通过在 WSL 2 中运行以下命令来列出分区
lsblk标识文件系统类型
如果不知道磁盘或分区的文件系统类型可以使用以下命令
blkid BlockDevice挂载分区
执行以下命令挂载分区
wsl --mount DiskPath --partition PartitionNumber --type Filesystem如果希望将整个磁盘装载为单个卷即如果磁盘未分区则可以省略 --partition。 如果省略则默认文件系统类型为“ext4”。 访问磁盘内容
装载后可以通过配置值指向路径的磁盘automount.root默认值为/mnt/wsl。
卸载磁盘
执行以下命令卸载磁盘
wsl --unmount DiskPath系统的创建会自动将所有磁盘进行挂载并存放在/mnt文件夹下。 导入、导出版本 导入
通过使用 tar 文件导入任何 Linux 发行版可在适用于 Linux 的 Windows 子系统 (WSL) 中使用该发行版即使它不在 Microsoft Store 中提供。首先需要一个tar格式的镜像文件官方提供了两种方式获取
下载提供的 tar 文件。 可在 Alpine Linux 下载站点的“微型根文件系统”部分找到 Alpine 的示例。查找 Linux 发行版容器将实例导出为 tar 文件。 以下示例将使用 CentOS 容器演示此过程。
获取Centos的tar文件
首先需要具备两个条件
必须在安装了运行 WSL 2 的 Linux 发行版的情况下启用 WSL。必须安装了适用于 Windows 的 Docker Desktop启用了 WSL 2 引擎并选中了集成请参阅 Docker Desktop 许可协议了解使用条款的更新。
打开发行版的命令行按以下步骤操作
在Docker中运行Centos容器
docker run -t centos bash ls /使用 grep 和 awk 获取 CentOS 容器 ID
dockerContainerID$(docker container ls -a | grep -i centos | awk {print $1})将容器 ID 导出到装载的 C 盘上的 tar 文件
docker export $dockerContainerID /mnt/c/temp/centos.tar这样我们就得到了一个Centos.tar的镜像文件。 导出的目录要提前创建好否则会找不到路径。 创建一个目录用于存放导入的系统资源
cd C:\temp
mkdir E:\wslDistroStorage\CentOS通过--import命令导入镜像文件
wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tarDistribution Name发行版名称InstallLocation安装位置FileName镜像文件名称该命令还有两个可选项--version指定用于新分发的版本--vhd指定所提供的文件为.vhdx文件而不是.tar文件
执行wsl -l -v查看可用的版本 从Github上获得
除了通过以上方式获得tar格式的镜像包还可以直接从Github上获得已做好的包
https://github.com/wsldl-pg/CentWSL/releases
下载完成对应版本后解压执行centos.exe文件即可导入该版本。
导出
执行以下命令导出版本为tar镜像
wsl --export Distribution Name FileName使用开源 WSL 示例生成适用于 Microsoft Store 的 WSL 发行版包和/或创建用于旁加载的自定义 Linux 发行版包。 可在 GitHub 上查找发行版启动器存储库。
此项目可实现以下目的
使 Linux 发行版维护人员能够打包并提交一个在 WSL 上运行的作为 appx 的 Linux 发行版使开发人员能够创建可在其开发计算机上旁加载的自定义 Linux 发行版 参考https://learn.microsoft.com/zh-cn/windows/wsl/