用 VirtualBox 安装 OpenWrt 等 Linux 系统,无法启动的解决办法

用 VirtualBox 安装 OpenWrt 等 Linux 系统,无法启动的解决办法

最近新买了台联想小新 Pro 14 2023 锐龙版,因为有 32GB 的运行内存,所以想安装虚拟机以充分发挥。一开始使用 Hyper-V 来安装可以正常使用,但是后面想使用 VirtualBox来安装,竟然无法启动!!!

电脑型号:联想 小新 Pro 14 2023 锐龙版

操作系统:Windows 11 专业版 22631.2715

处理器:AMD Ryzen 7 7840HS with Radeon 780M Graphics

VirtualBox版本: 7.0.12 r159484

问题描述:无论安装什么 Linux 系统,均无法启动,出现包括但不限于以下的情况:

  • 启动后命令行卡在了"freeing initrd memory",无法进行任何操作

  • 启动后黑屏,只在左上角显示一个光标,无法进行任何操作

  • 安装 OpenWrt 的话,启动后反复重启进入引导页面

  • 仔细看,其实是卡在下面这个界面,类似的输出^1^ ^2^

    [ 0.631376] RIP: 0010:amd_cpuid4+0x195/0x2f0
    [ 0.631867] Code: c1 e0 0a 81 e3 ff 03 00 00 81 e2 ff 0f 00 00 48 8b 7d b0 c1 e3 0c 09 d3 89 f2 81 e6 ff 03 00 00 c1 e2 16 83 c6 01 09 d3 31 d2 <f7> f1 41 89 1f 31 d2 f7 f6 83 e8 01 89 07 48 8b 45 d0 65 48 2b 04
    [ 0.634190] RSP: 0018:ffffbb78800a3ce8 EFLAGS: 00010246
    [ 0.635039] RAX: 0000000000000000 RBX: 00000000ffffffff RCX: 0000000000000000
    [ 0.635806] RDX: 0000000000000000 RSI: 0000000000000400 RDI: ffffbb78800a3d60
    [ 0.636577] RBP: ffffbb78800a3d48 R08: 0000000000000000 R09: 0000000000000000
    [ 0.637366] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000003
    [ 0.638138] R13: ffffbb78800a3d08 R14: ffffbb78800a3d58 R15: ffffbb78800a3d5c
    [ 0.638883] FS: 0000000000000000(0000) GS:ffffa05759a00000(0000) knlGS:0000000000000000
    [ 0.639795] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [ 0.640471] CR2: 00007f2946fc1e24 CR3: 0000000108010000 CR4: 00000000000506f0

搜索发现,早在 VirtualBox 6.0 就已经支持与 Hyper-V 共存^3^,应该不是软件的问题。

也是尝试了网上的很多方法:

  • 换用 VMWare Workstation Pro虚拟机软件安装 Linux
  • 换用 Hyper-V 虚拟机软件安装 Linux
  • 卸载 VirtualBox 7.0,并全新安装 VirtualBox 6.0
  • 更新主板 BIOS 版本
  • 将虚拟机显存从 16MB 改成 128MB,分配两个虚拟 CPU 核心^4^
  • 使用 .\vboxmanage.exe modifyvm "虚拟机名称" --nested-hw-virt on 命令开启 VT-x/AMD-v^5^
  • 使用 bcdedit /set hypervisorlaunchtype off 命令禁用 Windows 操作系统的 Hypervisor(虚拟机监视程序)^5^
  • 虚拟机设置里关闭声音和网络连接
  • 虚拟机设置里显卡控制器修改为"VBoxVGA"、"VBoxSVGA"、"VMSVGA"、"空"
  • 虚拟机设置里关闭或启用 3D 加速
  • 虚拟机设置里主板芯片组修改为"ICH9"或"PIIX3"
  • 禁用 Windows 安全中心 - 设备安全性 - 内核隔离 - 内存完整性^5^
  • 启用或关闭 Windows 功能中,取消勾选ContainersHyper-VVirtual Machine PlatformWindows Hypervisor PlatformWindows SandboxWindows Server ContainersWindows Subsystem for Linux 2 (WSL2)^5^
  • 运行 netsh winsock reset 命令
  • ......

以上办法在我的电脑上均无法解决!

解决办法:

  1. 进入命令行终端,然后使用 cd 命令切换到 VirtualBox 的安装目录(例如:"C:\Program Files\Oracle\VirtualBox"

  2. 运行 .\vboxmanage.exe list vms 命令列出当前可用的虚拟机,类似如下格式:

    "虚拟机名称" {虚拟机UUID}

  3. 运行 .\vboxmanage.exe setextradata "虚拟机名称" VBoxInternal/CPUM/HostCPUID/80000006/edx 0x02009140 命令^6^ ^7^("虚拟机名称"需要自行替换成你的虚拟机的名称)

  1. 重新启动虚拟机,看看是否能够正常启动

这样,我便能在 Windows 系统下同时使用 Hyper-V、Windows 沙盒、VMVare、VirtualBox、WSL2


  1. Kernel panic during installation on AMD 7840HS with 780M iGPU ↩︎

  2. Initial ram disk stuck - virtualbox.org ↩︎

  3. 2.33. Using Hyper-V with Oracle VM VirtualBox ↩︎

  4. Can't install any guests on new AMD - virtualbox.org ↩︎

  5. I have a 64bit host, but can't install 64bit guests - virtualbox.org ↩︎ ↩︎ ↩︎ ↩︎

  6. Issues with Ubuntu VM on VirtualBox (7.0.10) inside Windows 11 on minisforum 7940hs based UM790 Pro ↩︎

  7. fix panic on Ryzen Mobile 7x40 series in VBox VM ↩︎

相关推荐
One_Blanks2 分钟前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell3 分钟前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼6 分钟前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++
dessler18 分钟前
Linux系统-ubuntu系统安装
linux·运维·云计算
荒Huang1 小时前
Linux挖矿病毒(kswapd0进程使cpu爆满)
linux·运维·服务器
hjjdebug3 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯3 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流3 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布3 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg3 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全