公司动态

VirtualBox+Ubuntu Server安装教程:从虚拟机创建到SSH远程登录

📅 2026/8/30 2:42:32
VirtualBox+Ubuntu Server安装教程:从虚拟机创建到SSH远程登录
很多人在 VirtualBox 里装 Linux并不是倒在复杂的命令上而是从虚拟机启动那一刻就开始出问题。最常见的报错就是“未能启动虚拟电脑可能缺少操作系统”第一次遇到的人很容易以为系统镜像损坏或者 VirtualBox 安装有问题实际上绝大多数情况只是启动顺序或者 ISO 挂载没设置对。写这篇教程的原因也在于此网上搜 VirtualBox 装 Ubuntu 的教程十有八九讲的是带桌面的 Desktop 版真正面向 Server 版、并且把网络配置和 SSH 登录讲完整的并不多。Server 版没有图形界面安装完成之后一切都要靠命令行操作这一步劝退了很多人。这篇会直接用 Ubuntu 26.04 Server 走完从镜像下载、虚拟机创建、系统安装到远程登录的完整流程遇到常见坑的时候还会给出排查方法。先说一个版本问题虽然文章标题写的是 Ubuntu 26.04但 VirtualBox 安装 Ubuntu Server 的流程从 20.04 到 24.04 再到 26.04 几乎没有本质变化。如果你手上只有 22.04 或者 24.04 的镜像完全可以直接参考本文。26.04 作为 LTS 版本主要变化集中在内核、驱动和生命周期上安装器的交互逻辑是稳定延续的。1. 为什么是 VirtualBox Ubuntu Server这个组合到底解决什么问题先做一个明确判断VirtualBox Ubuntu Server 是个人电脑上最划算的一套 Linux 学习与实验环境没有之一。原因很简单。第一VirtualBox 是开源软件跨平台Windows、macOS、Linux 宿主机都能跑不需要授权费。第二Ubuntu Server 是当前生态最成熟、资料最多的 Linux 服务器发行版之一无论是以后要部署 Docker、Nginx还是跑数据库、写后端服务Ubuntu Server 都是很稳的选择。第三虚拟机天然隔离你在里面把系统配置改坏了、把服务跑崩了直接删掉重建或者回滚快照宿主机不受任何影响。这个组合适合三类人后端开发者需要在本地搭一套和线上环境接近的 Linux 环境用来调试接口、验证部署脚本、跑 CI 相关任务。运维和系统学习新手想要练习 Linux 基础命令、用户权限、网络配置、磁盘管理又不想把自己日常用的电脑搞坏。需要临时隔离服务的场景比如跑一个内部工具、验证某个开源项目不想污染本地开发环境。但这里有一个很容易被忽略的点很多人学习时第一反应是装 Ubuntu Desktop因为图形界面友好。可实际工作和生产环境里绝大多数服务器是纯命令行系统。因此从 Server 版开始学习虽然初期会多花一点时间适应但能帮你避开“只会点鼠标、不会在终端里解决问题”的尴尬阶段。本文要解决的几个核心问题也明确列一下VirtualBox 中如何正确创建一个 Ubuntu Server 虚拟机。Ubuntu Server 安装过程中哪些选项需要特别注意。安装完成后如何配置静态 IP 和 SSH 远程连接。启动失败、卡住、增强功能装不上等问题怎么排查。2. 基础概念虚拟机、虚拟磁盘、网络模式与 Ubuntu Server2.1 虚拟机与 Hypervisor虚拟机本质上是由 Hypervisor 提供的模拟硬件环境。VirtualBox 属于“Type 2”虚拟化软件也就是它运行在宿主机操作系统之上再在内部模拟 CPU、内存、磁盘、网卡等设备。虚拟机里运行的操作系统Guest OS并不知道自己处于虚拟化环境只要硬件特征符合预期它就会正常工作。Type 2 虚拟化的优势是部署简单、使用灵活适合开发测试场景。代价是性能会比物理机差一些尤其是磁盘和网络 I/O。但对于学习、实验、跑开发环境来说这个性能损失完全可接受。2.2 虚拟磁盘格式与分配方式VirtualBox 常用的虚拟磁盘格式有三种格式说明场景VDIVirtualBox 原生格式默认推荐兼容性和性能较均衡VHD / VHDX微软虚拟硬盘格式需要和 Hyper-V 混用时使用VMDKVMware 虚拟磁盘格式需要和 VMware 互用时使用创建虚拟硬盘时还会遇到两个分配方式动态分配和固定大小。动态分配刚开始只占很小空间随着虚拟机内部数据增长逐渐扩展最多达到设定大小。固定大小创建时一次性分配全部空间性能略好但立刻占用大量磁盘空间。对新手来说动态分配更友好不会一开始就吃掉几十 GB 磁盘。如果你比较在意磁盘性能固定大小更合适代价是空间规划要提前想清楚。2.3 VirtualBox 网络模式这是新手最容易卡住的地方因为网络模式直接决定了虚拟机能不能被宿主机访问、能不能上网。网络模式虚拟机能否上网宿主机能否访问虚拟机典型用途NAT能不能直接访问需要配置端口转发临时安装系统、只需虚拟机上网桥接能能虚拟机就像局域网中的一台独立机器需要暴露服务给局域网其他设备Host-Only不能上网除非叠加 NAT能宿主机和虚拟机通信适合安装后做 SSH 连接内部网络不能上网不能只能虚拟机之间互通模拟内网环境实际安装 Ubuntu Server 时建议分配两个网卡一个 NAT 用于联网下载更新一个 Host-Only 用于宿主机 SSH 连接。这样既能保证软件源可用又能得到一个稳定的固定 IP 来做远程管理。2.4 LTS、LVM、ZFS 三个概念的快速说明安装 Ubuntu Server 时界面里会出现一些技术名词这里先解释清楚。LTSLong Term Support长期支持版本。Ubuntu 的 LTS 版本每两年发布一次官方维护周期通常长达五年以上。26.04 如果按版本节奏推进就是新的 LTS 序列适合服务器环境使用。LVMLogical Volume Manager逻辑卷管理。它把多个物理分区整合成卷组再灵活划分成逻辑卷。好处是以后磁盘空间不够时可以动态扩展逻辑卷大小不需要重新分区。ZFS文件系统和卷管理器支持快照、压缩、校验等功能。功能强但内存开销偏高普通学习环境用不上这么重的特性。对大多数场景安装时选择“使用整个磁盘 设置 LVM”是比较稳妥的组合。3. 环境准备下载 VirtualBox 和 Ubuntu 26.04 Server 镜像3.1 宿主机要求在开始之前先确认你的宿主机满足基本条件内存建议 8 GB 以上虚拟机分配 2 GB 到 4 GB 比较合适。磁盘剩余空间至少 20 GB如果后面要装 Docker 和中间件建议预留 40 GB 以上。CPU 需要支持并开启硬件虚拟化Intel VT-x 或 AMD-V否则启动虚拟机会报错。如果看到类似“VT-x is not available”的错误需要进入宿主机 BIOS/UEFI 开启虚拟化选项。3.2 下载 VirtualBoxVirtualBox 可以到官网下载https://www.virtualbox.org/wiki/Downloads下载时选择对应操作系统的安装包。有一点要特别提醒网上还能搜到很多 “VirtualBox 5.2” 这类很旧版本的下载地址不建议使用。旧版本对新版 Linux 内核和较新的硬件支持都很差启动虚拟机容易卡死遇到问题排查起来也找不到对应资料。尽量使用当前最新稳定版本安装流程差异不大。Windows 用户安装完成后建议顺手到官网下载对应版本的扩展包Extension Pack它能提供 USB 3.0、Host-Only 网络等额外功能对后续使用很有帮助。3.3 下载 Ubuntu 26.04 Server 镜像Ubuntu Server 镜像可以到官网下载https://ubuntu.com/download/server下载时注意选择 LTS 版本也就是长期支持版。如果你访问官网时看到两个版本入口优先选带 LTS 标识的那个。文件名一般是ubuntu-26.04-live-server-amd64.iso这种格式。下载完成后建议做一次 SHA256 校验确认镜像在传输过程中没有损坏。Windows 下用 PowerShell 执行Get-FileHash .\ubuntu-26.04-live-server-amd64.iso -Algorithm SHA256Linux 或 macOS 下执行sha256sum ubuntu-26.04-live-server-amd64.iso把得到的哈希值和官网公布的校验值比对一致说明文件完整。这一步很多人会跳过但如果镜像是通过第三方站点下载的非常建议做一次校验。4. 创建虚拟机从新建到挂载 ISO 的完整步骤4.1 图形界面创建虚拟机打开 VirtualBox点击“新建”。按以下参数填写名称ubuntu-server类型Linux版本Ubuntu (64-bit)记忆体内存建议设为 2048 MB 到 4096 MB。如果宿主机内存紧张至少给 2048 MB否则安装过程会非常慢甚至卡住。在硬盘这一步选择“现在创建虚拟硬盘”。硬盘文件类型选 VDI存储方式按上一节建议选“动态分配”大小建议设置为 20 GB 到 40 GB。创建完成后还需要做三件事选中虚拟机点击“设置”。在“系统 - 处理器”中将处理器数量调整为 2 或更多确保安装过程顺畅。在“存储”中选择光驱点击右侧光盘图标挂载下载好的 Ubuntu 26.04 Server ISO 文件。此时不要急着启动虚拟机先调整启动顺序。可以在“系统 - 主板 - 启动顺序”中把光驱启动放在最前面。这一步很关键否则虚拟机可能直接从空硬盘启动然后提示缺少操作系统。4.2 命令行创建虚拟机的方式如果你习惯命令行也可以使用 VBoxManage 创建。下面是一个最小示例其中路径和网卡名称请按照实际环境修改VBoxManage createvm --name ubuntu-server --ostype Ubuntu_64 --register VBoxManage modifyvm ubuntu-server \ --memory 4096 \ --cpus 2 \ --nic1 nat \ --nic2 hostonly \ --hostonlyadapter2 VirtualBox Host-Only Ethernet Adapter VBoxManage createmedium disk \ --filename ./ubuntu-server.vdi \ --size 40960 \ --format VDI VBoxManage storagectl ubuntu-server \ --name SATA --add sata --controller IntelAhci VBoxManage storageattach ubuntu-server \ --storagectl SATA --port 0 --device 0 \ --type hdd --medium ./ubuntu-server.vdi VBoxManage storageattach ubuntu-server \ --storagectl SATA --port 1 --device 0 \ --type dvddrive --medium ./ubuntu-26.04-live-server-amd64.iso VBoxManage startvm ubuntu-server这段命令做的事情和图形界面完全一样适合需要批量创建虚拟机或者喜欢用脚本管理环境的用户。执行完最后一条命令后虚拟机窗口就会打开并开始从 ISO 启动。5. 安装 Ubuntu 26.04 Server一步步完成系统部署5.1 启动后的语言与键盘配置虚拟机从 ISO 启动后会进入安装器引导界面。Ubuntu Server 从 20.04 开始使用 Subiquity 安装器26.04 大致延续这套交互流程。第一步是选择安装语言建议直接选 English。你当然可以往下翻找中文但服务器系统通常用英文环境更稳定命令和日志也不容易出现编码问题。后续步骤里的中文提示只是翻译层不影响系统本身。键盘布局默认是 English (US)。如果你用的是非标准键盘可以在这一步修改否则保持默认即可。5.2 网络配置网络配置是安装过程中最值得关注的一步。默认情况下安装器使用 DHCP 动态获取 IP。如果你的网络中有一台 DHCP 服务器绝大多数家用路由器都有这一步会直接显示出分配的 IP例如enp0s3接口上的10.0.2.15这是 VirtualBox NAT 模式下的典型地址。如果暂时不需要固定 IP这里可以直接点 Done 继续。安装完成后再用 netplan 配置静态 IP 也不迟。但如果你想安装时就固定 IP可以这样做在网络配置界面选中当前网卡按回车。选择“Manual”手动模式。输入子网、IP 地址、网关和 DNS。以 Host-Only 网卡为例通常 VirtualBox 默认网段是192.168.56.0/24网关是192.168.56.1。后续配置静态 IP 时也会用到这个网段。5.3 代理、镜像源与存储配置网络配置完成之后安装器会询问代理设置。本地实验环境通常不需要代理直接跳过。接着是 Ubuntu archive mirror。如果你在国内建议把镜像地址替换成国内源比如清华镜像、阿里云镜像等否则下载软件包会非常慢。具体域名可以在安装界面里修改例如将archive.ubuntu.com替换为mirrors.aliyun.com。存储配置这一步建议选择“Use an entire disk”并开启 LVM。界面上会出现一个你刚才创建的虚拟磁盘选中它然后确认分区方案。这个时候安装器会显示最终的分区表核心是创建了一个系统分区和一个 LVM 逻辑卷。确认没有问题后继续。磁盘加密LUKS功能在实验环境不建议开启它会要求在启动时输入密码而且一旦忘记密码数据很难恢复。5.4 用户信息与 SSH 配置接下来进入 Profile setup 界面需要填写主机名例如ubuntu-server。用户名普通用户不要直接使用 root。密码。继续下一步安装器会询问是否安装 OpenSSH server。这一步很多人会漏掉如果不在这里勾选装完系统后是 SSH 连接不上的需要重新安装才能使用。建议直接勾选“Install OpenSSH server”。如果你习惯使用 SSH 密钥登录可以在“Import SSH identity”处从 GitHub 导入公钥或者跳过之后手动配置。最后的“Featured Server Snaps”步骤一般是安装一些预置的 snap 包对常规环境来说直接跳过即可。确认所有配置后安装器开始写入系统整个过程取决于磁盘速度和宿主机性能一般几分钟到十几分钟。安装完成后安装器提示重启。这时回到 VirtualBox 窗口把 ISO 从光驱中移除或者在设置里把启动顺序调整为硬盘优先。然后重启虚拟机看到登录提示符就说明系统安装成功了。6. 安装后的基础配置网络、SSH、更新与增强功能6.1 登录系统并查看基本信息用刚才创建的用户登录终端会出现类似下面的提示ubuntu-server login:输入用户名和密码后就进入了命令行。先查看系统版本和架构确认安装有没有问题lsb_release -a hostnamectl uname -m6.2 配置静态 IP 与多网卡策略安装时如果只用了 NAT虚拟机可以上网但宿主机访问虚拟机不方便。更好的方案是增加一块 Host-Only 网卡用它固定一个宿主机可访问的 IP。打开 VirtualBox 虚拟机设置在网络选项卡里启用第二块网卡连接方式选择“Host-Only”网卡名称选择你创建好的 VirtualBox Host-Only 网卡。启动虚拟机后用ip a查看网卡和当前 IPip a在 VirtualBox 默认配置下第一块网卡通常是enp0s3第二块网卡是enp0s8。通过 DHCP 获取到 Host-Only 网段地址后可以确认宿主机能 ping 通虚拟机。如果你希望第二块网卡使用固定 IP需要修改 netplan 配置。先查看当前的网络配置文件ls /etc/netplan/ cat /etc/netplan/00-installer-config.yamlUbuntu Server 默认使用 netplan 管理网络配置文件是 YAML 格式。下面是一个完整的静态 IP 配置示例其中enp0s8是第二块网卡IP 设置为192.168.56.10# 文件路径/etc/netplan/00-installer-config.yaml network: version: 2 ethernets: enp0s3: dhcp4: true enp0s8: dhcp4: no addresses: - 192.168.56.10/24 routes: - to: default via: 192.168.56.1 nameservers: addresses: - 8.8.8.8 - 1.1.1.1修改完成后先测试配置是否正确sudo netplan try这条命令会在应用新配置后等待 120 秒确认。如果配置有问题网络会断开但 120 秒后系统会自动回滚到之前的配置避免把自己锁在外面。确认没问题后再正式应用sudo netplan apply注意netplan try是最安全的验证方式建议每次改完网络都使用它。6.3 更新系统与配置 SSH新装好的系统一定要先更新软件源和安装补丁sudo apt update sudo apt upgrade升级可能需要几分钟时间完成之后检查 SSH 服务状态sudo systemctl status ssh如果安装时勾选了 OpenSSH serverSSH 服务默认是启动的。如果没有安装可以用下面的命令补装sudo apt install -y openssh-server sudo systemctl enable --now ssh然后在宿主机上尝试 SSH 登录ssh username192.168.56.10首次连接会提示确认主机指纹输入yes然后输入密码。能正常进入命令行就说明 SSH 链路已经通了。6.4 防火墙配置Ubuntu Server 默认可能没有开启防火墙建议启用并放行 SSH 端口sudo ufw allow OpenSSH sudo ufw enable sudo ufw status注意顺序先允许 OpenSSH再启用防火墙否则启用后 SSH 连接可能直接被切断。6.5 是否需要安装增强功能这是 Server 版和 Desktop 版区别比较大的地方。如果你是带图形界面的 Ubuntu Desktop 虚拟机增强功能很关键因为它提供自适应分辨率、剪贴板共享、拖拽文件等能力。但 Ubuntu Server 没有桌面环境增强功能能带来的主要收益是共享文件夹功能也就是让宿主机和虚拟机共享目录。如果是纯命令行使用更推荐直接用 SCP、SFTP 或 SSH 来传文件。常用的 SCP 命令示例scp ./deploy.tar.gz username192.168.56.10:/home/username/如果你确实需要共享文件夹可以安装增强功能sudo apt update sudo apt install -y build-essential linux-headers-$(uname -r)然后在 VirtualBox 菜单栏选择“设备 - 安装增强功能”这会挂载一个虚拟光驱。执行sudo mount /dev/cdrom /mnt cd /mnt sudo ./VBoxLinuxAdditions.run sudo reboot重启后设置共享文件夹并挂载sudo mkdir -p /mnt/share sudo mount -t vboxsf share /mnt/share如果虚拟机和宿主机需要频繁交换文件这个方案是可行的。但多数情况下SSH 加 SCP 已经足够。7. 常见问题与排查思路以下问题是安装 VirtualBox Ubuntu Server 时最容易遇到的几乎每个都有对应的排查路径。问题现象可能原因排查方式解决方案启动提示“未能启动虚拟电脑可能缺少操作系统”ISO 未挂载、启动顺序错误或镜像损坏检查虚拟机光驱是否挂载 ISO进入设置查看启动顺序重新挂载 ISO把光驱设为第一启动项虚拟机启动后黑屏或一直转圈硬件虚拟化未开启、内核参数问题、显卡驱动异常查看 VirtualBox 日志确认 BIOS 中 VT-x/AMD-V 已开启在 BIOS/UEFI 开启虚拟化尝试关闭 3D 加速安装过程中界面卡死内存或 CPU 资源不足、宿主磁盘空间不足查看宿主机任务管理器和磁盘占用增加虚拟机内存和 CPU确保磁盘空间充足SSH 连接超时或拒绝连接OpenSSH server 未安装、防火墙拦截、网络模式不对在虚拟机内执行 systemctl status ssh宿主机 ping 虚拟机补装 openssh-server放行 SSH 端口调整网络模式虚拟机无法上网NAT 网卡未启用、DNS 配置错误执行 ip aping 网关和公共 DNS检查网卡状态重新配置 netplan 或恢复 DHCP改完网络配置后连不上虚拟机netplan 配置错误通过 VirtualBox 控制台登录检查配置文件使用 netplan try 自动回滚或进入单用户模式修改增强功能安装失败缺少编译工具和内核头文件查看 /var/log/vboxadd-setup.log安装 build-essential 和 linux-headers 后重试虚拟磁盘空间不足初始创建时分配太小或用动态分配导致宿主机磁盘耗尽用 df -h 查看分区使用情况检查宿主机剩余磁盘扩展虚拟磁盘大小并使用 LVM 扩容或删除无用文件这里特别强调两个高频问题。第一个是“未能启动虚拟电脑可能缺少操作系统”。这个报错几乎都是因为虚拟机从 ISO 启动失败然后又跳转到了空硬盘启动。排查顺序是先看光驱里有没有 ISO再看启动顺序是不是光驱在最前最后检查 ISO 文件的 SHA256 是否一致。第二个是网络配置改坏了导致连不上虚拟机。最有效的恢复方式是用 VirtualBox 的图形控制台直接登录而不是依赖 SSH。进入系统后执行sudo netplan try并等待超时回滚或者手动修改配置文件回原样。这再次说明了netplan try的价值。8. 最佳实践与工程建议8.1 刚装完系统立即打一个快照快照是 VirtualBox 非常实用的功能。系统装好并完成基础配置后建议立刻保存一个干净快照。之后无论是安装 Docker、跑数据库还是测试服务出了问题都可以直接恢复到这一状态不需要重装系统。在 VirtualBox 界面点击“快照”然后选择“拍摄快照”。命名建议带上日期例如2026-05-01-ubuntu-server-base。8.2 磁盘空间规划要保守一些LVM 的好处在于后期扩展方便。假设创建虚拟机时分配了 40 GB安装系统时默认使用 LVM后续空间不够可以通过新增虚拟磁盘并扩展到逻辑卷sudo vgs sudo pvcreate /dev/sdb sudo vgextend ubuntu-vg /dev/sdb sudo lvextend -l 100%FREE /dev/ubuntu-vg/ubuntu-lv sudo resize2fs /dev/ubuntu-vg/ubuntu-lv其中ubuntu-vg和ubuntu-lv是安装器默认生成的卷组和逻辑卷名称请根据实际情况替换。如果命名不确定执行sudo vgs和sudo lvs查看。8.3 不要把虚拟机当作不会损坏的机器虚拟机虽然方便但它的底层还是宿主机上的文件。一旦虚拟磁盘文件损坏数据同样会丢。不要认为“反正是虚拟机就不用备份”生产应用的数据备份原则在虚拟机里一样适用。定期导出 OVA 文件是备份方式之一VBoxManage export ubuntu-server -o ./ubuntu-server-backup.ova执行这条命令会把整个虚拟机和配置打包到一个文件里方便迁移和恢复。8.4 合理分配宿主机资源给虚拟机的内存和 CPU 不是越大越好。如果宿主机本身只有 8 GB 内存虚拟机分配 6 GB宿主机自身就会变得卡顿进而导致虚拟机性能更差。合理的做法是给虚拟机分配宿主机总内存的四分之一到二分之一同时确保宿主机还有足够余量运行日常应用。打开虚拟机时建议设置一个内存上限。VirtualBox 本身不会限制峰值但你要对自己电脑的承受能力有清晰认识。8.5 尽快熟悉命令行创建和管理虚拟机很多人在图形界面点按钮很熟练换个环境就手足无措。VirtualBox 提供了强大的 VBoxManage 命令行工具你可以用它在远程服务器、脚本、CI 环境里创建和管理虚拟机。学会命令行操作等于拥有了批量管理虚拟机的底层能力。8.6 探索自动化安装手动点击安装器的过程重复执行三次以上就会觉得繁琐。Ubuntu Server 支持 autoinstall也就是无人值守安装配置。你可以在 ISO 中嵌入用户数据文件实现全自动部署。这是从“手工操作”走向“工程化交付”的重要一步等手动流程跑通之后值得花时间研究。下面是一个最简 autoinstall 用户数据的片段示例# 文件路径user-data #autoinstall version: 1 identity: hostname: ubuntu-server username: csdn password: $6$...$... ssh: install-server: true密码需要用 mkpasswd 生成哈希不能直接写明文。这个示例只是为了展示结构实际使用时要根据版本调整字段。使用前务必在测试虚拟机中验证不要在生产环境直接套用。9. 总结与后续学习方向到这里你已经完成了从镜像下载、虚拟机创建、Ubuntu 26.04 Server 安装、网络配置到 SSH 远程登录的完整闭环。过程本身不复杂但其中包含的很多细节比如启动顺序、网络模式、netplan 语法、快照和备份都是后续使用中会反复用到的基础知识。建议你现在做的第一件事就是打开 VirtualBox从创建一台 Ubuntu Server 虚拟机开始完整走一遍安装流程。不要只停留在阅读阶段因为在安装过程中你会遇到各种真实报错而排查这些报错积累的经验是最难从教程里学到的部分。如果接下来要继续深入可以沿着这几个方向展开在 Ubuntu Server 里安装 Docker尝试容器化部署基础服务。部署 Nginx 或 Caddy理解服务器进程和端口的概念。安装 MySQL 或 PostgreSQL体验数据库在服务器上的运行方式。学习 systemd 服务管理写一个简单的 systemd unit 文件来托管自己的程序。VirtualBox 里的这台虚拟机就是你的专属实验场。把它用起来比收藏十篇教程都管用。