ARTICLE DETAIL

资讯详情

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

VirtualBox+Ubuntu虚拟机从零搭建教程:安装配置与常见问题全攻略

VirtualBox+Ubuntu虚拟机从零搭建教程:安装配置与常见问题全攻略 讲真VirtualBox加Ubuntu虚拟机这套组合我在好几台电脑上装过不下二十遍真心推荐给所有想学Linux的人。VirtualBox是Oracle开源的虚拟化产品Ubuntu是目前用户量最大的Linux发行版之一两者搭配起来完全免费还能在你现有电脑上隔出一个隔离环境随便折腾坏了也不影响主系统。无论你是刚接触Linux的新手、运维转岗的技术人员还是需要在干净环境里跑服务的开发这篇文章应该能帮你把整套流程走通。一开始我也不太愿意用虚拟机总感觉多一层会卡实际用下来发现桌面级需求完全够。最关键的是装坏了不用重装物理机快照一恢复就和没发生过一样。这篇就按我自己的操作习惯从选型、安装、配置到踩坑从头到尾梳理一遍。1. 方案选型与整体设计思路1.1 为什么我选VirtualBox而不是VMware很多人在第一步就纠结。VMware Workstation Pro是老牌商业软件功能确实全性能调教也很激进。但VirtualBox免费开源、跨平台Windows、macOS、Linux宿主机通吃没有授权费用对个人学习和中小团队测试来说毫无压力。从我实际体验看VirtualBox跑Ubuntu桌面版日常操作很流畅开机速度和内存占用虽然比VMware稍微差一点但差距不是“能不能用”的级别而是“心里舒服不舒服”的级别。加上VirtualBox的快照功能、克隆功能都用得很顺手共享文件夹和剪贴板双向同步也能满足绝大多数工作需求。还有一点很现实VirtualBox的安装包很小下载快安装过程几乎没有坑。VMware在Broadcom收购之后个人许可证的流程改来改去虽然也有免费方案但绕圈子浪费时间。对新手来说“打开就装、装完就能用”这件事本身就是最大的优势。当然如果你要跑复杂的3D应用、大型数据库压测或者vGPU相关实验VirtualBox确实不如VMware Workstation甚至不如直接上KVM。但在“搭一个Ubuntu虚拟机学Linux”这个场景里VirtualBox绰绰有余。1.2 Ubuntu版本和镜像来源怎么选Ubuntu分长期支持版LTS和普通版我建议一律选LTS。比如之前一直在用的22.04 LTS以及现在主推的24.04 LTS。24.04 LTS支持周期到2029年新硬件、新内核支持都更好22.04 LTS相对保守但非常稳定软件源兼容性极好。选哪个都行新手直接上24.04 LTS就好别选中间版本找罪受。然后是镜像下载。一定去Ubuntu官网或者国内高校镜像站下载不要随便在第三方博客或网盘里拿ISO容易被植入乱七八糟的东西。官网地址是ubuntu.com/download进去选Desktop版本下载ISO文件。如果官网速度慢用清华TUNA镜像、阿里云镜像或者中科大镜像速度和稳定性都好很多。镜像下完以后我习惯先看一眼校验值。官网每个ISO旁边都会给SHA256值下完在本地终端算一下sha256sum ubuntu-24.04.2-desktop-amd64.iso对比一下输出结果是不是和官网一致。这一步看着多余但能避免很多“解压到一半报错”“安装进程莫名其妙崩溃”的疑难杂症值得养成习惯。1.3 虚拟机的资源配置思路给虚拟机分资源要遵循一个原则够用但别贪心。虚拟机的内存、CPU、硬盘都是从宿主机“借”的你要是给虚拟机分了太多宿主机自己卡成PPT体验反而更差。我自己的参考配置是内存给4096MBCPU给2个核心显存给128MB硬盘动态分配40GB。如果你的宿主机只有8GB内存那虚拟机内存减到2048MB也够跑Ubuntu桌面如果宿主机是16GB以上给虚拟机4GB到8GB会更舒服。磁盘方面动态分配模式很灵你不用一开始占满40GB用多少才涨多少所以即使宿主机紧张分配大一点也没关系。这里有一个特别容易被忽略的点CPU核心数尽量别超过宿主机物理核心数的一半。比如你的电脑是4核虚拟机给2核就比较正常你要是强行给4核两个系统抢资源反而会造成卡顿和功耗飙升。2. 环境准备与核心细节2.1 VirtualBox安装与版本选择VirtualBox的官方下载页是virtualbox.org进去以后根据你的宿主机平台选Windows还是macOS还是Linux版本。Windows安装包就是一个exe一路Next就能装完安装过程中会提示安装虚拟网卡驱动一定要允许否则后面网络和USB功能都会出问题。版本方面建议直接下载最新的稳定版而不是老版本。比如旧版7.0.x在某些新CPU上会有虚拟机无法启动的兼容性问题升到7.1以后就正常了。如果你之前装过旧版新版装之前最好先卸载干净避免驱动残留。装完以后打开VirtualBox主界面左上角会有一个“新建”按钮别急着点先到“管理-全局设定”里看一眼默认虚拟机文件夹路径改成你磁盘空间比较充裕的盘符。我见过太多人默认装在C盘装完Ubuntu虚拟机之后C盘直接飘红。还有一个容易忽略的扩展包Oracle VM VirtualBox Extension Pack。这个扩展包提供USB 2.0/3.0设备支持、RDP远程桌面协议支持等功能不装的话USB设备基本用不了。去官网同一个下载页面找到Extension Pack下载双击安装即可。这一步和USB相关装完再进USB配置就不会头大。2.2 创建虚拟机前必改的几个参数点“新建”后VirtualBox会弹出一个向导。名称我建议写清楚比如“Ubuntu-24.04-LTS”这样以后开多了虚拟机也能一眼认出来。类型选Linux版本选Ubuntu 64-bit这一步基本不会错。接下来是内存和CPU设置参考前面说的配置就行。到“虚拟硬盘”这一步选“现在创建虚拟硬盘”硬盘类型选VDI大小给40GB即可。这里要注意如果你以后计划把这台虚拟机搬到别的软件上用选VHD的兼容性会更好如果只在这台机器上用VDI就够了磁盘性能和体积控制更优。创建完成后先不要急着启动。选中虚拟机点“设置”重点检查这几个地方“系统-主板”内存再核对一次启动顺序里光驱排在硬盘前面这样后面才能从ISO启动。“系统-处理器”CPU核数按需要调整如果是Intel CPU确认“VT-x/AMD-V硬件虚拟化”没有被禁用。这个选项如果没开虚拟机启动会直接报错。“显示”显存调到128MB显卡控制器选VMSVGA启用3D加速。这样Ubuntu的桌面特效和分辨率调整都更正常。“网络”默认NAT模式就够用了后面再单独聊网络模式。这些参数里最容易让新手“装完就黑屏”的就是显示配置和硬件虚拟化我后面会专门讲。2.3 Ubuntu镜像挂载与启动顺序参数设置完之后需要把下载好的Ubuntu ISO挂载到虚拟光驱上。操作路径是设置-存储-存储介质-光驱图标-点右侧光盘图标-选择虚拟盘-选择Ubuntu ISO文件。挂载完成后启动虚拟机就会自动进入Ubuntu安装界面。如果你的光驱没有排在硬盘前面启动时会直接进入系统找不到引导设备所以在“系统-主板”里再把启动顺序检查一遍光驱在上硬盘在下。有些新版VirtualBox里新建虚拟机会让你直接选ISO镜像然后自动帮你创建并挂载这种情况下更方便。但如果你用的是旧版或者手头已经有现成虚拟机手动挂载的操作还是要会因为以后重装系统、装增强功能、换内核驱动都得用到这个操作。3. 从创建到系统安装的完整实操3.1 新建虚拟机完整步骤演示我把完整操作按步骤拆开你用的时候照着点就行打开VirtualBox点击“新建”。名称填“Ubuntu-24.04”文件夹选非C盘路径类型选Linux版本选Ubuntu 64-bit。内存大小填4096MB点击下一步。硬盘选“现在创建虚拟硬盘”硬盘类型选VDI存储选“动态分配”大小填40GB点击创建。选中虚拟机点“设置-存储”把Ubuntu ISO挂载到光驱。点“设置-系统-主板”确认启动顺序里光驱在硬盘前。点“设置-显示”显存128MB显卡控制器VMSVGA勾选启用3D加速。点“启动”虚拟机开始从ISO引导。启动以后屏幕上会出现一个紫色界面底部有几个图标分别是Try or Install Ubuntu、Boot from first hard disk等。选第一项“Try or Install Ubuntu”并按回车。这里有一个特别常见的误区很多人看到界面卡在一个紫色屏或者黑屏上就以为出问题了其实ISO加载速度和物理机光驱不一样耐心等20到40秒进度条就会出来。你如果等了一分钟以上还卡着再考虑ISO损坏或者显存过低的问题。3.2 Ubuntu安装过程关键选项解读进入安装界面后左边选择语言。想练英文环境就选English想日常用就选中文简体这里无所谓装完以后随时可以改。接下来是键盘布局默认就行。到“Updates and other software”这一步我建议勾选“Normal installation”再勾选“Install third-party software for graphics and Wi-Fi hardware”这样显卡驱动和无线网卡固件会自动带上省去后面装驱动的麻烦。然后是安装类型。这是最核心的一步。新手直接选“Erase disk and install Ubuntu”清除整个磁盘并安装Ubuntu这里要提醒一句这个操作会清空虚拟硬盘里的所有数据但因为是虚拟机里的虚拟硬盘不会影响你宿主机里的文件放心大胆操作就行。选完以后Ubuntu会弹出分区预览。默认会创建一个比较大的根分区和一个swap分区对新手足够。如果你以后想玩高级分区可以选手动分区比如分配一个1GB的/boot、一个4GB的swap、剩下的全挂到/。但初次安装我强烈建议不要手动分区先跑通流程以后熟练了再折腾。接下来设置用户名、主机名和密码。记住你在这里填的用户名后面登录系统、用sudo都要靠它。最后等待安装完成进度条走完后会提示重启点击“Restart Now”然后按提示移除安装介质其实就是弹出ISO回车后虚拟机就会进入全新的Ubuntu系统。3.3 首次登录后必做的五件事系统装完不是终点有几个配置建议第一时间做能让后面使用顺畅很多先打开终端执行一遍更新sudo apt update sudo apt upgrade -y这会把系统自带软件包更新到最新也能让后面装增强功能时不会缺依赖。安装常用基础工具sudo apt install -y vim git curl net-tools openssh-server确认网络通不通。直接在浏览器里访问一个网站试试或者用ping测试外网。如果上不了网大概率是虚拟网络模式或网卡驱动问题后面第5章详细说。修改软件源为国内镜像如果你在国内环境。这步能明显提升安装软件的速度。打开“软件和更新”把下载服务器换成阿里云或清华TUNA的镜像地址保存即可。设置开机自动登录或锁屏密码策略看个人习惯。虚拟机主要是测试和学习用我一般就把自动登录关掉防止放着不管被别人动到里面的环境。第1步和第4步特别重要因为很多后续操作都要安装软件包如果源没配好装什么都会卡在下载阶段。我最初给客户搭建环境时经常卡在这一步后来每次都先换源再干活一步到位。4. 装完系统后的“半个系统”增强功能与共享配置4.1 为什么要装VirtualBox增强功能刚装完的Ubuntu虚拟机只有默认的1024x768分辨率鼠标切换不顺畅剪贴板不共享拖拽文件更不可能整个体验非常“隔阂”。这时候就要装增强功能也就是Guest Additions。它就像给虚拟机装了一个驱动包解决分辨率自动调整、双向剪贴板、共享文件夹、拖放、3D加速等一堆痛点。在我眼里增强功能是虚拟机“能用”和“好用”的分水岭。不装也能跑但装了以后你完全感觉不到自己在一台虚拟机里操作。4.2 增强功能安装的具体步骤和依赖坑安装增强功能的路径是虚拟机窗口菜单栏-“设备Devices”-“安装增强功能Insert Guest Additions CD image”VirtualBox会挂载一个虚拟光驱。然后在Ubuntu终端里执行下面的流程sudo apt update sudo apt install -y build-essential dkms linux-headers-generic gcc sudo mkdir -p /media/cdrom sudo mount /dev/cdrom /media/cdrom cd /media/cdrom sudo ./VBoxLinuxAdditions.run sudo reboot这里大家最容易踩的坑就是不装dkms和linux-headers-generic直接跑VBoxLinuxAdditions.run结果编译模块时报错说找不到内核头文件安装失败。所以依赖步骤千万不能省。另外就是Secure Boot。如果你的虚拟机开启且启用了安全启动Ubuntu默认安装时一般会启用那么第三方内核模块就是VirtualBox增强功能会因为没有签名而拒绝加载。现象是安装脚本跑完没报错但重启后共享剪贴板、共享文件夹还是不能用。解决办法是在BIOS里禁用Secure Boot或者在MOK管理里手动注册密钥这一步比较繁琐所以我在创建虚拟机时一般会先禁用Secure Boot。4.3 共享文件夹和双向剪贴板配置装好增强功能以后共享文件夹和剪贴板就顺手了。剪贴板设置虚拟机菜单栏-“设备-共享剪贴板”选“双向”拖放Drag and Drop同样选“双向”。这样宿主机和虚拟机之间复制文字、拖文件都跟操作本地电脑一样。共享文件夹设置菜单栏-“设备-共享文件夹-共享文件夹设置”点添加选择宿主机上一个目录勾选“自动挂载”和“固定分配”。然后在Ubuntu里执行sudo mkdir -p /mnt/share sudo mount -t vboxsf 文件夹名字 /mnt/share如果报错说mount: unknown filesystem type vboxsf说明增强功能没装成功回头去补装。另外想开机自动挂载就把挂载命令加到/etc/fstab里格式是这样的共享文件夹名 /mnt/share vboxsf defaults,uid1000,gid1000 0 0uid和gid用id -u和id -g查一下就行这样登录后就能直接读写权限问题全避开。5. 网络模式与常见故障排查5.1 四种网络模式怎么选VirtualBox的虚拟网络模式是很多新手搞不懂的地方我来对比一下。模式上网与宿主机互访与局域网其他机器互访适用场景NAT可以默认不行需端口转发不行普通上网、更新软件包桥接模式可以可以可以测试SSH、搭服务、模拟独立主机仅主机模式不行可以不行宿主机和虚拟机私密通信内部网络不行不行虚拟机之间可以模拟内网环境默认的NAT模式适合大多数人虚拟机通过宿主机地址访问外网互不影响。但如果你想在局域网里直接通过SSH访问这个虚拟机那就得用桥接模式。桥接模式下虚拟机直接占用一个局域网IP就像电脑旁又插了一台真机。我个人做实验时最喜欢桥接模式因为它直接把虚拟机和局域网拉平应用调试特别方便。但要注意桥接模式下虚拟机暴露在局域网里如果系统里没什么防护容易被扫描到测试环境没有问题生产绝对不建议。如果你只是想在宿主机和虚拟机之间传文件又不想折腾共享文件夹NAT端口转发也是个办法。在“网络-高级-端口转发规则”里把宿主机的2222端口转发到虚拟机的22端口然后宿主机执行ssh -p 2222 用户名localhost就能连进虚拟机非常灵活。5.2 常见问题与解决办法速查我整理一下这些年遇到最多的几个问题基本就是你搜到的那些热词。虚拟机启动就黑屏进不去桌面多半是显卡配置问题。把“设置-显示-显存”调到128MB确认启用了3D加速。如果还黑屏启动时按Shift进入GRUB菜单选“Ubuntu高级选项-恢复模式”然后修复损坏的驱动。还有一个常见原因是没有开启硬件虚拟化开机进BIOS把VT-x/AMD-V开启或者检查Windows的Hyper-V和VirtualBox是否冲突。“不能为虚拟机电脑打开一个新任务”的报错这是VirtualBox和驱动层的问题。先确认VT-x/AMD-V是否开启如果是Windows宿主机关闭Hyper-V、内核隔离等功能可能就正常了。我遇到过一台老机器更新完VirtualBox以后这个报错消失建议升级到最新版本。USB设备接不上没装Extension Pack或者虚拟机没设置USB控制器。去VirtualBox官网下载对应版本的Extension Pack安装然后在虚拟机的“设置-USB”里启用USB 3.0控制器再点菜单栏的“设备-USB”选择要接入的设备。共享文件夹能挂载但无法读写大多是权限问题。挂载命令里加uid和gid直接指定当前用户名对应的ID比在宿主机上开放整个目录权限更安全也更容易解决。安装后中文输入法调不出来Ubuntu 24.04默认自带IBus输入法框架去“设置-系统-键盘-输入源”里添加“Chinese (Intelligent Pinyin)”就行。如果还是调不出来安装fcitx5再重启一次基本搞定sudo apt install -y fcitx5 fcitx5-chinese-addons虚拟机时间总是不对设置-系统-主板里勾选“硬件时钟使用UTC时间”再调整一下或者直接装NTP同步服务免得每次开机都要手动改时间。装增强功能时报gcc版本不匹配先sudo apt update sudo apt upgrade确保内核和gcc都是最新版本再重新运行VBoxLinuxAdditions.run。这个报错绝大多数是内核升级后旧编译器残留导致的升级完重启再装就好。5.3 最后再分享一个小习惯每次刚装好一台Ubuntu虚拟机我做的第一件事不是急着用而是先做一次快照。VirtualBox的快照功能就在“机器-生成备份/快照”给快照起个名字叫“纯净初始状态”然后随便折腾系统、装东西、跑测试。哪天把环境玩坏了右键快照点恢复几分钟回到干净状态比重新装系统省心太多。这个习惯帮我省过无数时间。早期我总觉得自己操作不会出错结果好几次改库表、改内核参数把自己锁在系统外面悔得肠子都青了。快照就是后悔药一定要养成习惯。6. 一些留给你的扩展建议如果你把上面这些步骤走完VirtualBox加Ubuntu这套环境已经能覆盖绝大多数学习场景。接下来可以试着在这台虚拟机里再装一个Docker环境测试容器编排或者搭一个LAMP环境体验真实网站部署流程再或者利用快照做实验回滚测试对系统的理解会深很多。我个人在实际操作中的体会是虚拟机的价值不在于“像一台真机”而在于它能让你毫无心理负担地去试错。Linux不是看书学出来的是敲命令敲出来的。VirtualBox加Ubuntu这套组合就是让你能放开了折腾的最安全沙盒。按照这篇教程走完之后你就有了一台随时可以拿出来练手的Linux环境剩下的大胆去试就好。
返回列表