Linux小课堂: 在 VirtualBox 虚拟机中安装 CentOS 7 的完整流程与关键技术详解

在 VirtualBox 中安装 CentOS 7 并配置开发环境的完整流程

  • 在现代 Linux 学习与开发实践中,使用虚拟机进行系统部署是一种安全、隔离且高效的方案。
  • 本文详细阐述如何通过 Oracle VM VirtualBox 安装 CentOS 7 操作系统,并完成一系列必要的初始化配置,包括网络设置、用户权限管理、图形界面启用、共享功能集成以及终端美化等操作,为后续的 Linux 系统学习和软件开发打下坚实基础

虚拟化技术基础与 VirtualBox 的选择

虚拟化(Virtualization) 是一种将物理计算资源(如 CPU、内存、磁盘空间)抽象并分配给多个独立操作系统实例的技术,使得多个操作系统可以在同一台主机上并发运行而互不干扰。这种机制极大提升了资源利用率,并为测试、学习和开发提供了高度可控的实验环境

在众多虚拟机软件中,VirtualBox 作为一款开源、免费且跨平台的虚拟化工具,支持 Windows、macOS、Linux 和 Solaris 主机系统,能够模拟包括 Windows、macOS、Android 和各类 Linux 发行版在内的多种客户操作系统。相较于商业产品 VMware Workstation,VirtualBox 占用资源更少、安装包体积更小、社区活跃度高,尤其适合初学者使用

对于希望避免复杂双系统引导或硬盘分区风险的学习者而言,在 VirtualBox 中安装 CentOS 是最为稳妥的选择。它不仅无需修改主机系统的分区结构,还能提供接近原生系统的运行体验,同时具备完整的图形界面支持,显著降低入门门槛

提示:若选择其他方式如 WSL(Windows Subsystem for Linux)或 Docker 容器部署 Linux,则通常仅提供命令行接口,缺乏图形化交互能力,对新手不够友好;此外还需额外掌握容器技术或子系统配置知识,增加了学习曲线

VirtualBox 的下载与安装注意事项

访问 https://www.virtualbox.org 下载适用于当前主机操作系统的最新版本安装包。截至当前,主流版本为 VirtualBox 6.0.8,安装文件大小约为 143.35MB

安装过程与普通应用程序一致,双击 .dmg(macOS)或 .exe(Windows) 文件后按提示逐步执行即可。但需特别注意以下几点:

  1. 开启 CPU 虚拟化支持:在某些 Windows 主机上,首次启动虚拟机时可能提示"VT-x is disabled in BIOS"。此时需进入 BIOS 设置,启用 Intel VT-x 或 AMD-V 技术。
  2. 驱动签名问题:Windows 系统可能因驱动未签名而阻止 VirtualBox 正常运行,需手动允许加载第三方驱动。
  3. 跨平台兼容性建议使用固定大小磁盘映像:若计划将来迁移虚拟机至不同平台(如从 macOS 迁移到 Windows),推荐创建 固定大小(Fixed-size) 的虚拟硬盘,以避免动态分配格式可能出现的兼容性问题。
bash 复制代码
示例:查看本机是否支持虚拟化(Linux/WSL 下)
egrep -c '(vmx|svm)' /proc/cpuinfo
返回值 ≥1 表示支持硬件虚拟化

创建 CentOS 7 虚拟机并挂载 ISO 镜像

完成 VirtualBox 安装后,启动程序并点击"新建"以创建新的虚拟机。命名建议清晰明确,例如 CentOS 7,类型选择 Linux,版本选择 Red Hat (64-bit)(因 CentOS 属于 RHEL 家族)。

内存分配方面,建议至少设置 2048 MB(2GB),以确保图形界面流畅运行。虚拟硬盘采用默认的 VDI(VirtualBox Disk Image)格式,容量初始设为 8GB 可满足基本需求,但推荐调整至 20GB 以上 以预留足够空间用于后续软件安装

创建完成后,进入虚拟机"设置" → "存储",在 IDE 控制器中点击光驱图标旁的"添加虚拟光盘",选择已下载的 CentOS-7-x86_64-DVD.iso 镜像文件(约 4.59GB)。该步骤相当于将安装盘插入物理计算机的光驱

启动虚拟机后,系统会自动从 ISO 引导,进入安装界面。选择 Install CentOS 7 并按回车开始安装流程

系统安装过程中的关键配置项解析

安装程序加载完毕后,呈现英文主界面:"Welcome to CentOS 7"。尽管可切换为中文安装语言,但强烈建议全程使用英语,原因如下:

  • 所有官方文档、技术手册(man pages)、错误信息均以英文为主;
  • 编程领域绝大多数资料为英文原版,长期依赖翻译将限制成长潜力;
  • 中文系统环境下部分命令行工具无法正确识别中文路径,易引发异常。

1 )时区、键盘与语言设置

进入安装摘要页面后,依次配置:

  • Language:选择 English (United States)
  • Time & Date:设定所在时区(如 Asia/Shanghai)
  • Keyboard:保持默认 US 键盘布局

2 )安装目标与磁盘分区

进入 Installation Destination 页面,默认启用自动分区(Automatic partitioning),无需手动干预。只要确认磁盘状态正常,点击"Done"即可。此模式会自动创建 /boot/ 和 swap 分区,适用于大多数场景。

3 )网络与主机名配置

在 Network & Hostname 设置中,确保以太网连接处于"ON"状态。进一步点击"Configure",在"General"选项卡中勾选 Automatically connect to this network when available,保证每次开机自动联网。

4 )软件选择:必须包含 GNOME 与开发工具

这是整个安装过程中最关键的一步。默认的 Minimal Install(最小化安装) 仅包含命令行环境,无图形界面,极不利于初学者操作。

因此,必须选择:

  • GNOME Desktop ------ 提供完整的图形用户界面(GUI)
  • Development Tools ------ 包含 gcc、make、kernel-devel 等编译所需组件

特别强调:务必勾选 Development Tools! 否则后续安装 VirtualBox 增强功能(Guest Additions)时将因缺少内核头文件(kernel headers)而导致失败。

bash 复制代码
安装 Guest Additions 所需的核心依赖(安装后验证)
yum groupinstall "Development Tools" -y
yum install kernel-devel kernel-headers dkms -y

完成上述设置后,点击"Begin Installation"开始安装

用户管理与初始系统配置

安装期间需设置两个核心账户:

1 )Root 用户密码:root 是 Linux 的超级管理员账户,拥有最高权限。应设置强度较高的密码(包含大写字母、小写字母、数字及特殊字符)。

2 )普通管理员用户:建议创建一个非 root 的日常使用账户(如 oscar),并通过勾选 Make this user an administrator 授予 sudo 权限。此举符合最小权限原则,提升系统安全性。

安装完成后重启系统,登录新创建的普通用户账户

首次启动将进入初始设置向导:

  • 接受许可协议(License Agreement)
  • 完成网络连接确认
  • 跳过在线账户绑定(Google/Microsoft Account)
  • 点击"Start using CentOS Linux"进入桌面环境

系统优化与开发环境准备

登录 GNOME 桌面后,进行以下几项必要优化:

1 )关闭自动锁屏与节能黑屏

路径:Settings → Power → 将 Blank Screen 改为 Never

路径:Settings → Privacy → Screen Lock → 关闭锁屏功能

防止长时间不动导致屏幕变黑或需要重复输入密码,影响学习连续性

2 )启用自动时区同步

路径:Settings → Date & Time → 开启 Automatic Date & Time 和 Automatic Time Zone

依赖网络时间协议(NTP),确保系统时间准确。

3 )配置自动登录(可选)

路径:Settings → Details → Users → 点击 Unlock 解锁 → 开启 Automatic Login

适用于单人使用的实验环境,提升便利性。

4 )终端美化与字体调整

默认终端为白底黑字,字号较小。可通过以下方式优化:

  • 打开 Terminal → Edit → Preferences → Profiles
  • 取消勾选 "Use colors from system theme"
  • 选择主题如 Green on Black(黑底绿字,经典风格)
  • 自定义字体:推荐 Monospace Regular,字号调至 20pt
bash 复制代码
查看当前终端信息
tty
输出示例:/dev/pts/0

安装 VirtualBox 增强功能(Guest Additions)

这是提升虚拟机使用体验的关键步骤。只有安装了增强功能,才能实现以下特性:

  • 自适应窗口分辨率:窗口缩放时自动调整显示比例
  • 共享剪贴板(Shared Clipboard):主机与虚拟机之间复制粘贴文本
  • 拖放功能(Drag and Drop):直接拖拽文件传输
  • 共享文件夹(Shared Folders):实现主机与客户机间文件互通

操作步骤:

  1. 启动 CentOS 虚拟机
  2. 菜单栏 → Devices → Insert Guest Additions CD Image...
  3. 系统弹出运行提示,点击"Run"
  4. 输入用户密码授权执行安装脚本
  5. 安装完成后重启系统
bash 复制代码
手动挂载并运行 Guest Additions(备用方法)
sudo mkdir /mnt/cdrom
sudo mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom
sudo ./VBoxLinuxAdditions.run

若安装失败,请检查是否遗漏 Development Tools 组件或内核头文件未匹配。

配置共享文件夹与双向剪贴板

1 )设置共享文件夹

前提:已安装 Guest Additions

操作路径:

  • 虚拟机关闭状态下 → Settings → Shared Folders
  • 点击"+"号添加新共享
  • 路径选择主机上的目录(如 /Users/oscar/share
  • 名称填写 share
  • 勾选:Auto-mount 和 Make Permanent

重启虚拟机后,共享目录将自动挂载至 /media/sf_share(需加入 vboxsf 用户组方可访问):

bash 复制代码
添加用户到 vboxsf 组 
sudo usermod -aG vboxsf $USER
 
创建挂载点并软链接到家目录(可选)
ln -s /media/sf_share ~/share

注意:默认情况下共享文件夹所有者为 root,普通用户无写权限,需通过用户组授权解决。

2 )启用双向共享剪贴板

路径:Devices → Shared Clipboard → 选择 Bidirectional

重启系统后生效。测试方法:

  • 主机复制一段文本(如 Hello from host
  • 在虚拟机终端中右键粘贴,应能成功输出
  • 反向操作亦应成立
bash 复制代码
测试剪贴板内容传输
echo "Test clipboard sync" | xclip -selection clipboard
然后尝试在主机粘贴

总结:构建高效稳定的 CentOS 学习环境

本文系统地展示了如何利用 VirtualBox 成功部署 CentOS 7 并构建一个适配学习与开发需求的操作环境。全过程涵盖以下核心技术节点:

关键环节 必须动作 目的
虚拟机创建 类型选 Red Hat 64-bit,内存 ≥2GB 兼容性保障
ISO 挂载 正确关联 CentOS 7 安装镜像 启动安装程序
软件选择 必须勾选 GNOME Desktop + Development Tools 图形界面 + 编译支持
网络配置 启用自动连接以太网 保证联网能力
用户设置 创建带管理员权限的普通用户 安全实践
增强功能 安装 VirtualBox Guest Additions 实现分辨率自适应、共享等功能
共享配置 设置自动挂载共享文件夹 + 双向剪贴板 提升主机交互效率

最终成果是一个功能完整、易于维护、高度可用的 CentOS 7 虚拟化开发平台,既可用于深入理解 Linux 系统架构,也可作为 Shell 编程、服务器配置、软件编译等实战训练的基础环境

未来可根据需要进一步扩展:

  • 安装中文输入法(如 Fcitx + Sogou)
  • 更换桌面主题或窗口管理器
  • 配置 SSH 远程访问
  • 搭建 LAMP/Nginx 开发栈

但就现阶段而言,以上配置已完全满足绝大多数初学者和中级开发者的需求

坚持使用英文系统、善用命令行工具、掌握自动化配置思维,是迈向高级 Linux 用户的必经之路

相关推荐
馨谙5 小时前
Linux中权限系统
linux·运维·服务器
jieyu11195 小时前
虚拟专用网络
linux·网络
报错小能手5 小时前
linux学习笔记(19)进程间通讯——消息队列
linux·笔记·学习
liujing102329296 小时前
Day14_内核编译&安装
linux
进击的_鹏7 小时前
【Linux】vim的操作大全
linux·编辑器·vim
云动雨颤7 小时前
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
linux·运维·服务器
亮子AI7 小时前
【Ubuntu】清理空间的几种方法
linux·运维·ubuntu
零基础的修炼7 小时前
Linux---进程信号
运维·服务器
赵渝强老师8 小时前
【赵渝强老师】Docker容器的资源管理机制
linux·docker·容器·kubernetes