WSL2下Ubuntu22.04使用Qemu搭建虚拟Vexpress-A9开发板(三)——挂载根文件系统

        根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。

        本节将介绍如何编译和制作Linux最小系统的根文件系统,并通过sd卡或者nfs挂载根文件系统。

编译、安装根文件系统

        根文件系统的制作方法有很多,有buildroot、busybox等,本节采用安装过程最为简单的轻量级根文件系统制作工具busybox。

下载并解压busybox源码

cd /home/workspace
wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2
tar -xvf busybox-1.36.1.tar.bz2

自动编译脚本

制作automake_arm32.sh自动编译脚本

cd busybox-1.36.1
vi automake_arm32.sh

# 在automake_arm32.sh中添加下列代码
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- clean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j12
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- CONFIG_PREFIX=../objects/rootfs-arm32 install

运行automake_arm32.sh编译安装busybox

./automake_arm32.sh

编译过程中会出现menuconfig界面,需要将“Settings->Build Options->Build static binary”选上

补充根文件系统

        busybox编译完成后,只是初步具有了维持linux操作系统基本运行所需的可执行文件,还有设备节点、动态链接库、引导启动相关代码、用户相关信息等,需要根据开发板自身的特性做定制和适配,接下来将适配vexpress-a9开发板补充根文件系统相关内容。

进入根文件系统目录

cd /home/workspace/objects/rootfs-arm32

创建设备节点

mkdir dev
sudo mknod -m 666 dev/tty1 c 4 1
sudo mknod -m 666 dev/tty2 c 4 2
sudo mknod -m 666
<think>我们正在处理用户的问题:在WSL2上安装Ubuntu 22.04系统时出现“找不到指定文件”的错误。 根据引用内容,用户已经尝试安装Ubuntu22.04,但我们的引用中并没有直接提到“找不到指定文件”的错误。 因此,我们需要根据常见的WSL2安装问题和错误进行解答。 常见的安装步骤和可能的问题: 1. 确保Windows版本支持WSL2:需要Windows 10版本1903或更高(内部版本18362或更高)或Windows 11。 2. 确保已启用WSL虚拟机平台功能。 3. 设置WSL2为默认版本。 4. 从Microsoft Store安装Ubuntu 22.04 LTS,或者手动下载并安装。 用户提到的“找不到指定文件”错误,可能是由于安装过程中某些文件缺失或路径错误导致的。 可能的解决方案: - 方案1:确保以管理员身份运行PowerShell并启用WSL功能。 - 方案2:检查并确保已经下载了正确的Ubuntu 22.04发行版包。 - 方案3:如果是从Microsoft Store安装,尝试重置Store缓存或重新安装。 - 方案4:手动下载发行版包并安装。 另外,引用中提到的步骤是安装后的图形界面配置,与安装系统本身的问题可能无关。 因此,我们按照以下步骤来解决问题: 步骤1:启用WSL功能 以管理员身份打开PowerShell,运行: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 然后重启计算机。 步骤2:设置WSL2为默认版本 wsl --set-default-version 2 步骤3:安装Ubuntu 22.04 从Microsoft Store安装,或者手动下载并安装。 如果从Store安装失败,可以手动安装: 1. 下载Ubuntu 22.04 LTS的appx包:https://aka.ms/wslubuntu2204 2. 将下载的文件后缀改为.zip,解压到目标文件夹(例如:C:\WSL\Ubuntu2204) 3. 在该文件夹中找到ubuntu2204.exe(或类似的可执行文件),运行即可安装。 如果遇到“找不到指定文件”的错误,可能是由于安装包不完整,尝试重新下载。 步骤4:如果手动安装后仍然有问题,可以尝试导入发行版 wsl --import <分发版名称> <安装路径> <安装包路径.tar.gz> 注意:通常手动下载的包是appx格式,我们需要将其解压,然后运行其中的可执行文件。如果已经有tar.gz格式的根文件系统,可以使用导入。 另外,如果用户之前已经安装过WSL1或其他版本,可能需要注销并重新安装。 步骤5:清理旧安装 wsl --unregister Ubuntu-22.04 # 卸载已有的同名发行版 # 然后重新安装 步骤6:检查Windows更新,确保系统是最新的。 综上所述,我们给出以下回答: </think>### WSL2 安装 Ubuntu 22.04 提示 "找不到指定文件" 的解决方法 此问题通常由系统组件缺失或安装文件损坏导致,请按顺序尝试以下解决方案: --- #### 1. **启用 Windows 虚拟化功能** ```powershell # 管理员身份打开 PowerShell dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart ``` 👉 完成后**重启电脑**,这是 WSL2 运行的基础环境[^1]。 --- #### 2. **修复系统组件** ```powershell # PowerShell 中修复 Windows 更新组件 sfc /scannow dism /online /cleanup-image /restorehealth ``` 👉 修复后重启系统,再尝试安装 Ubuntu--- #### 3. **手动下载安装包** 若 Microsoft Store 安装失败: 1. 访问 [Ubuntu 22.04 LTS 官方下载页](https://aka.ms/wslubuntu2204) 2. 下载 `.appx` 文件 3. 将文件后缀改为 `.zip` 并解压 4. 双击运行解压后的 `ubuntu2204.exe` 👉 此方法可绕过 Store 的安装错误[^2]。 --- #### 4. **清理旧 WSL 实例** ```powershell # 卸载所有 WSL 发行版 wsl --unregister Ubuntu-22.04 wsl --unregister * # 重置 WSL wsl --shutdown ``` 👉 完成后重新安装,避免冲突[^1]。 --- #### 5. **更新 WSL 内核** 1. 下载最新 [WSL2 Linux 内核](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi) 2. 安装后执行: ```powershell wsl --update wsl --set-default-version 2 ``` --- #### 6. **检查 BIOS 设置** 重启电脑进入 BIOS/UEFI: - 确认开启 **Intel VT-x** / **AMD-V** 虚拟- 关闭 **Hyper-V**(若已启用) --- **补充提示:** - 确保 Windows 版本 ≥ 19041(`winver` 命令查看) - 安装路径避免中文/特殊字符 - 杀毒软件临时禁用(如 Defender 实时保护) > 若以上步骤仍无效,请提供完整的错误截图和系统版本信息以便进一步诊断。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值