WSL2(Ubuntu 22.04.2 LTS) + Win11 + Bochs-Gui

本文介绍了如何在Windows环境下通过VcXsrv设置图形界面,并在WSL中修改.bashrc文件以启用GUI。接着详细讲解了Bochs的源码编译安装过程,包括依赖安装、配置和测试,最终实现了一个简单的ASM程序在Bochs虚拟机中的运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

安装VcXsrv(Win环境下)

之前在哪个博客看的用MobaXterm,一直有报错,没有gui,换成VcXsrv就ok了。

网站:Download VcXsrv Windows X Server (sourceforge.net)

下载后进入目录,执行xlaunch.exe,前两项直接过,最后记得选上Disable access control

在这里插入图片描述

WSL环境下,vim ~/.bashrc,在末尾新增:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1

新增后执行source ~/.bashrc命令。

WSL2前置

  1. 换源

  2. 安装依赖(记不清具体哪些了,本人也装了几次,以下有可能不全,可以网上找个多的)

    sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev libsdl1.2-dev bximage vgabios build-essential nasm 
    

安装Bochs

前几次装都是apt-get install bochs bochs-x,结果不行。

解决:依次执行以下

wget https://sourceforge.net/projects/bochs/files/bochs/2.7/bochs-2.7.tar.gz

tar zxvf bochs-2.7.tar.gz

cd bochs-2.7/

./configure --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11

make

make install

至此就安装好了。

测试

进入自己的目录下,执行code .,可以打开vscode并自动连接到了WSL(没有vscode也没关系)。

执行bochs,输入4,再输入配置文件名称bochsrc,再输入7退出,能看到当前目录下生成的bochsrc文件。

bochsrc文件中display_library: x改为display_library: x, options="gui_debug"

bochsrc文件中boot: floppy改为boot: disk

新建文件boot.asm

mov ax, 3
int 0x10 

mov ax, 0xb800
mov ds, ax

mov byte [0], 'h'
mov byte [2], 'e'
mov byte [4], 'l'
mov byte [6], 'l'
mov byte [8], 'o'

halt:
    jmp halt
times 510 - ($ -$$) db 0
db 0x55, 0xaa

执行:

nasm boot.asm –o boot.bin

再执行bximage

在这里插入图片描述

生成一个名为test.img的16M的虚拟硬盘,注意末尾的ata0-master: type=disk, path="test.img", mode=flat,替换掉bochsrc文件中的原值。

执行:

dd if=boot.bin of=test.img bs=512 count=1 conv=notrunc

最后执行bochs -q,出现界面,大功告成。(下图是按了Continue [c]那个按键)

在这里插入图片描述

### 安装和配置WSL2上的Ubuntu 22.04 #### 启用Windows子系统Linux (WSL) 为了确保能够顺利安装Ubuntu 22.04,在开始之前需确认已启用WSL功能。可以通过PowerShell以管理员身份运行以下命令来开启: ```powershell wsl --install ``` 这条指令会自动完成必要的组件安装以及默认发行版的选择[^1]。 #### 设置虚拟化环境 对于某些特定情况下的优化,可能还需要调整系统的虚拟化设置。这一步骤通常涉及BIOS/UEFI中的相关选项设定,具体操作取决于计算机制造商提供的指南。 #### 更新至WSL2版本 如果希望使用最新的性能改进特性,则应将现有的任何WSL实例升级到第二代架构(WSL2),执行如下命令可实现此目的: ```powershell wsl --set-default-version 2 ``` 该命令设定了新创建的所有分发都将基于更高效的内核模式工作。 #### 安装指定版本的Ubuntu 针对想要部署的具体版本——即Ubuntu 22.04 LTS, 可利用`wsl --install`命令加上参数 `-d` 来指明所需的操作系统映像名: ```powershell wsl --install -d Ubuntu-22.04 ``` 上述方法是最简便的方式之一用于获取官方支持的长期服务(LTS)版本[^2]。 #### 手动迁移现有镜像(如有必要) 当存在已经备份好的`.tar`格式压缩包时,可以采用导入方式快速恢复先前的状态或者自定义位置存储新的实例数据。例如,假设有一个位于F盘根目录名为`ubuntu22.04.tar` 的存档文件,那么就可以按照下面的例子来进行处理: ```powershell wsl --import Ubuntu-22.04 f:\wsl-ubuntu22.04 f:\ubuntu22.04.tar --version 2 ``` 这里的第一项参数代表即将建立的新子系统名称;第二个是指定其所在的工作空间路径;最后则是源文件的位置说明[^3]。 #### 初始化与初步配置 一旦成功启动了Ubuntu终端之后,初次登录期间会被提示输入用户名密码等基本信息,并且建议立即更新软件仓库索引以便后续能顺畅地管理各类应用和服务: ```bash sudo apt update && sudo apt upgrade -y ``` 至此便完成了整个过程的关键环节,现在可以在本地开发环境中充分利用这个轻量级Linux平台所带来的便利之处了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值