用 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](#1) [2](#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](#3),应该不是软件的问题。

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

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

相关推荐
神秘人X70726 分钟前
Linux高效备份:rsync + inotify实时同步
linux·服务器·rsync
轻松Ai享生活32 分钟前
一步步学习Linux initrd/initramfs
linux
轻松Ai享生活36 分钟前
一步步深入学习Linux Process Scheduling
linux
绵绵细雨中的乡音2 小时前
网络基础知识
linux·网络
Peter·Pan爱编程3 小时前
Docker在Linux中安装与使用教程
linux·docker·eureka
kunge20133 小时前
Ubuntu22.04 安装virtualbox7.1
linux·virtualbox
清溪5493 小时前
DVWA中级
linux
Sadsvit4 小时前
源码编译安装LAMP架构并部署WordPress(CentOS 7)
linux·运维·服务器·架构·centos
xiaok4 小时前
为什么 lsof 显示多个 nginx 都在 “使用 443”?
linux
苦学编程的谢5 小时前
Linux
linux·运维·服务器