十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SerenityOS 如何安装到 VirtualBox:转换 GRUB 磁盘镜像并配置 PAE/NX 等设置

SerenityOS 如何安装到 VirtualBox:转换 GRUB 磁盘镜像并配置 PAE/NX 等设置 SerenityOS 如何安装到 VirtualBox转换 GRUB 磁盘镜像并配置 PAE/NX 等设置【免费下载链接】serenityThe Serenity Operating System 项目地址: https://gitcode.com/GitHub_Trending/se/serenity本文解决一个具体问题把 SerenityOS 装进 VirtualBox 虚拟机并成功引导。SerenityOS 目前没有提供预构建的安装镜像必须先从源码构建出带 GRUB2 的磁盘镜像再把它转换成 VirtualBox 可用的 VDI 格式最后按文档要求调整虚拟机设置包括开启 PAE/NX。以下操作依据 VirtualBox 安装指南、裸机安装指南 和 构建说明 编写虚拟机创建步骤基于 VirtualBox v6.1.12 编写其他版本界面可能略有出入。需要注意文档在开头明确提示当前 Serenity 在 VirtualBox 中运行仍存在已知问题VirtualBox 指南 的 NOTICE 一节会随官方 issue 更新问题清单文中不工作的部分会在下文逐处标出。前置条件构建 GRUB 磁盘镜像VirtualBox 使用的磁盘镜像不能直接用为 QEMU 构建的那个镜像用它启动会立即停止并显示FATAL: No bootable medium found! System halted.。必须先按 BareMetalInstallation.md 的说明构建 GRUB 镜像。构建镜像前先在构建机上装好 BuildInstructions.md 列出的依赖Debian/Ubuntu 示例sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2fsprogs ninja-build qemu-system-gui qemu-system-x86 qemu-utils ccache rsync unzip texinfo libssl-dev zlib1g-dev编译工具链要求支持 C26 特性的 GCC 14 或 Clang 17CMake 3.25.0 或更新版本。然后按构建说明完成构建进行到并包含运行ninja install这一步为止对应命令为Meta/serenity.sh image arch其中arch替换为要构建的目标架构脚本支持 x86_64、aarch64 和 riscv64缺省时使用宿主机架构。系统构建完成后运行以下命令生成带 GRUB2、可在真实 PC 上启动的磁盘镜像文件legacy BIOS 系统ninja grub-image生成grub_disk_imageUEFI 系统ninja grub-uefi-image生成grub_uefi_disk_image该命令要求已安装parted和grub2Arch Linux 上是grub。跳过裸机安装指南的最后一步用dd把镜像写入真实磁盘的命令——那一步只适用于往实体硬盘写镜像VirtualBox 场景不需要。把磁盘镜像转换成 VirtualBox VDI得到grub_disk_image或grub_uefi_disk_image后有两种转换方式任选其一有 QEMU 的情况下qemu-img convert -O vdi /path/to/grub_disk_image /path/to/output/serenityos.vdi只有 VirtualBox 的情况下VBoxManage convertfromraw --format VDI /path/to/grub_disk_image /path/to/output/serenityos.vdi两条命令中的/path/to/grub_disk_image替换为上一步实际生成的镜像文件路径/path/to/output/serenityos.vdi是转换输出的 VDI 路径。转换完成后给磁盘镜像设置一个固定标识否则之后更新磁盘镜像时标识会不再对应VBoxManage internalcommands sethduuid serenityos.vdi 19850209-0000-0000-0000-000000000000Windows 上的注意点如果 QEMU 或 VirtualBox 不在 PATH 环境变量里命令必须在该工具的安装目录下执行并在命令前加./。创建虚拟机在 VirtualBox 中新建虚拟机按以下步骤操作打开Create Virtual Machine对话框切换到Expert Mode。虚拟机名称和存放位置可任意。Type选OtherVersion选Other/Unknown (64-bit)。Serenity 最少需要 512 MiB 内存Memory size设置为 512 MiB 或以上文档推荐 1 GiB。Hard disk选择Use an existing virtual hard disk file点击下拉框旁的文件夹图标打开Hard Disk Selector。点Add浏览到上一步转换好的 VDI 文件所在位置添加后点Choose。点Create。创建界面参考图文档示例必须调整的启动设置默认配置的虚拟机无法引导 Serenity。打开虚拟机的Settings做以下调整必做设置System→Processor选项卡勾选Enable PAE/NX。Audio将Audio Controller设为SoundBlaster 16。必须核对的设置Storage点击Controller控制器类型必须是AHCI (SATA)或NVMe。文档明确说明其他类型guaranteed not to work因为 Serenity 当前不支持它们。Network→Advanced确认Adapter Type不是Intel PRO/1000 MT Desktop (82540EM)。虽然这是 Serenity 当前唯一支持的网卡类型但它目前不工作于 VirtualBox所以这里要换用其他型号。当前状态下以文档为准VirtualBox 中的音频和网络均不工作以上音频设置只是文档要求的必改项不代表能出声。启动验证与常见故障按上述配置启动虚拟机后应看到 GRUB 菜单选择一项后系统继续引导。遇到以下现象时按对应项排查GRUB 菜单选完后只剩闪烁的光标这是 VirtualBox 指南 单列的故障检查两点SettingsSystemProcessor中是否已启用 PAE/NX若使用的是 64-bit 磁盘镜像确认SettingsGeneral中Version是Other/Unknown (64-bit)而不是Other/Unknown。Your computer does not support PAE. Halting!Troubleshooting.md 指出 VirtualBox 环境下即 PAE/NX 未启用回到上一步勾选。Your computer does not support long mode (64-bit mode). Halting!说明 VirtualBox 未使用 x64 虚拟化模式对应条目见 Troubleshooting.md同时检查虚拟机 Version 是否选对 64-bit。使用 BIOS 版镜像grub_disk_image时引导位置不对可能需要在 GRUB 引导菜单中调整root启动参数使其指向正确分区详见 boot_device_addressing 手册。NVMe 磁盘初始化失败裸机指南提到可尝试nvme_poll启动参数。可选配置串口调试与显存以下两项不是启动必需来自 VirtualBox 指南 的附加配置串口调试Serial Ports中启用端口 1Port Mode推荐设为Raw FilePath/Address指向输出文件位置必须包含文件名。显存默认 16 MB 显存足够使用默认分辨率但不足以覆盖所有支持分辨率若要使用 2560x1080至少需要提供 22 MB 显存。完成以上步骤后虚拟机即可在 VirtualBox 中引导 SerenityOS。需要留意的边界音频和网络在 VirtualBox 中暂不工作整体仍受官方 issue 跟踪的已知问题清单约束后续行为以 VirtualBox 指南 的更新为准。【免费下载链接】serenityThe Serenity Operating System 项目地址: https://gitcode.com/GitHub_Trending/se/serenity创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表