You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04在VirtualBox使用真实硬盘时登录循环问题求助

解决物理硬盘Ubuntu在真机与VirtualBox共用时的显卡兼容问题

我明白你遇到的麻烦——把装在独立硬盘上的Ubuntu同时用真机和VirtualBox启动,本来是挺方便的配置,但GeForce 1050Ti显卡在这种跨环境切换时确实容易出兼容问题,核心原因就是真机的NVIDIA驱动和虚拟机的虚拟显卡驱动“打架”了。下面给你一套亲测有效的解决步骤:

问题根源拆解

当你在真机启动Ubuntu时,系统会加载NVIDIA官方闭源驱动,让显卡发挥全部性能;但切换到VirtualBox启动时,系统还是会尝试调用这套真实驱动,可虚拟机根本不支持直接访问物理显卡(除非用PCI直通,但1050Ti在Windows主机下的直通配置非常麻烦),这就导致驱动加载失败,出现黑屏、卡顿或者启动异常。

分步解决方案

  • 给GRUB加双启动项,自动适配驱动
    我们可以通过GRUB配置,让系统在真机和虚拟机启动时加载不同的驱动逻辑:

    1. 打开GRUB配置文件:sudo nano /etc/default/grub
    2. 找到GRUB_CMDLINE_LINUX_DEFAULT这一行,在原有内容后面加上modprobe.blacklist=nvidia nvidia-drm.modeset=0,这行命令的作用是在虚拟机启动时屏蔽NVIDIA驱动;
    3. 复制一份默认的GRUB启动项,专门用于真机启动(这样真机启动时会正常加载NVIDIA驱动):
      在配置文件末尾添加以下内容(注意替换掉<你的UUID>和<你的内核版本>,可以用blkid查UUID,uname -r查内核版本):
      menuentry 'Ubuntu (Real Hardware)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-<你的UUID>' {
         recordfail
         load_video
         gfxmode $linux_gfx_mode
         insmod gzio
         if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
         insmod part_gpt
         insmod ext2
         set root='hd0,gpt2' # 替换成你的Ubuntu系统分区路径
         if [ x$feature_platform_search_hint = xy ]; then
            search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  <你的UUID>
         else
            search --no-floppy --fs-uuid --set=root <你的UUID>
         fi
         linux   /boot/vmlinuz-<你的内核版本> root=UUID=<你的UUID> ro  quiet splash $vt_handoff
         initrd  /boot/initrd.img-<你的内核版本>
      }
      
    4. 保存文件后,更新GRUB使配置生效:sudo update-grub
  • 安装VirtualBox增强工具,修复虚拟显卡
    启动VirtualBox里的Ubuntu,点击虚拟机顶部的「设备」→「安装增强功能」,然后在Ubuntu里挂载镜像并安装:

    sudo mkdir -p /mnt/cdrom
    sudo mount /dev/cdrom /mnt/cdrom
    cd /mnt/cdrom
    sudo ./VBoxLinuxAdditions.run
    

    安装完成后重启虚拟机,虚拟显卡驱动就能正常工作,解决画面显示问题。

  • 清理残留驱动,避免冲突
    如果之前在虚拟机里不小心安装过NVIDIA驱动,先彻底卸载干净:

    sudo apt purge nvidia*
    sudo apt autoremove
    sudo apt autoclean
    

    卸载后再重启虚拟机,重新安装增强工具。

后续注意事项

  • 每次Ubuntu更新内核后,记得重新安装VirtualBox增强工具,否则虚拟显卡驱动可能失效;
  • 真机启动时,一定要选GRUB里的「Ubuntu (Real Hardware)」选项,才能正常加载NVIDIA驱动;
  • 如果是UEFI启动的系统,要确保GRUB配置里的分区路径和UUID完全正确,不然会启动失败。

内容的提问来源于stack exchange,提问作者Sergey Kravchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:24:00