用 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 ↩︎

相关推荐
shencz200013 分钟前
树莓派0 2W重启后突然没有声音
linux·树莓派
小猪佩奇QWQ27 分钟前
第1章 firewalld防火墙
linux·网络
不会倒的鸡蛋30 分钟前
Linux 操作系统详解
linux·ubuntu
月清晖1 小时前
centos更换yum源、安装Docker和换源
linux·docker·centos
【 教主 】2 小时前
<Linux> 多线程
linux·运维·服务器
技术探索者2 小时前
Shell:如何判断两个字符串相等
linux·shell
Slow2 小时前
Linux静态库的制作
linux·c语言
一个梦想过上五休二生活的男人2 小时前
Firewalld防火墙(二)
linux·服务器·数据库
一只猿Hou2 小时前
【logback-spring配置不生效,开发环境和生产环境配置不同输出级别】
linux·spring·logback
gopher95113 小时前
Linux多进程和多线程(五)进程间通信-消息队列
linux·服务器·c语言·开发语言·进程