一、场景概述
本文档适用于将虚拟机(VM)中安装的银河麒麟系统导入 Windows Subsystem for Linux(WSL)环境的场景,包含导入步骤、常见问题及解决方法,帮助用户解决导入过程中出现的配置兼容问题。
二、系统导入
1. 导出 VM虚拟机 中的银河麒麟根文件系统
在 VM 虚拟机的银河麒麟系统中,以管理员权限执行以下命令,将根文件系统导出为 tar 包,排除运行时目录以避免冲突:
sudo tar -cvpzf /mnt/kylin_export.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/mnt /将生成的kylin_export.tar.gz复制到 Windows 本地路径(如C:\temp\)。
2. 准备 WSL 环境
在 Windows 的 PowerShell 中执行以下命令,启用 WSL 2 并安装必要组件:
# 安装WSL
wsl --install
# 设置默认WSL版本为2
wsl --set-default-version 2
# 更新WSL内核(若版本过旧)
wsl --update3. 导入系统到 WSL
在 PowerShell 中执行导入命令,指定发行版名称、安装路径和 tar 包路径:
wsl --import WSL名称 <WSL安装路径> <tar包路径> --version 2
# 示例:
wsl --import KyLin C:\wsl\Kylin C:\temp\kylin_export.tar.gz --version 2导入完成后,通过以下命令启动系统:
wsl -d KyLin4.系统配置
1)磁盘挂载
VM 导入的银河麒麟系统中,/etc/fstab文件保留了原 VM 的磁盘配置(如/dev/sdc、/dev/sdd或对应 UUID),而 WSL 2 使用虚拟磁盘文件(.vhdx),不识别传统/dev/sd*设备,导致挂载失败。
编辑/etc/fstab文件,注释或删除不兼容的配置:
sudo vim /etc/fstab 找到引用/dev/sdc、/dev/sdd或对应 UUID 的条目,在行首加#注释(示例如下):
# 原VM中的磁盘配置(WSL不兼容,需注释)
# /dev/sdc /mnt/data ext4 defaults,discard,errors=remount-ro 0 2
# UUID=xxxx-xxxx /mnt/backup ext4 defaults 0 2 2)systemd命令切换
WSL 默认使用传统init系统(如sysvinit),而非systemd,导致依赖systemd的命令(如systemctl)无法运行。
在 WSL 终端中编辑配置文件:
sudo vim /etc/wsl.conf 添加以下内容并保存:
[boot]
systemd=true 3)重启 WSL 使配置生效:
在 PowerShell 中执行:
wsl --shutdown && wsl 5.删除默认系统环境
执行命令列出所有 WSL 发行版(包括导入的):
1)查找发行版本
wsl -l -v2)删除默认系统环境
wsl --unregister Ubuntu3)启动WSL
wsl
评论