尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

VMware虚拟机Ubuntu自定义分区实战:从GPT分区到LVM管理的完整指南

VMware虚拟机Ubuntu自定义分区实战:从GPT分区到LVM管理的完整指南 1. 项目缘起为什么需要自定义分区最近在给团队搭建新的开发测试环境需要批量部署一批Ubuntu虚拟机。直接使用默认的“自动安装”固然省事但很快就遇到了麻烦根分区/空间被日志和临时文件占满导致服务异常而/home目录下用户数据寥寥无几大量空间闲置。这种“一刀切”的磁盘分配方式在长期运行的生产或开发环境中往往埋下了性能和管理上的隐患。这促使我重新审视虚拟机磁盘分区的必要性。对于Linux系统尤其是用作服务器或长期工作站的虚拟机预先规划磁盘分区结构就像盖房子前先画好施工图。它不仅仅是划分空间更是对系统性能、数据安全、运维便利性和未来扩展性的综合考量。一个合理的分区方案能让系统在面对日志暴涨、程序崩溃、系统升级甚至硬盘故障时更加从容不迫。因此我决定整理一份从零开始在VMware虚拟机中安装Ubuntu并进行自定义磁盘分区的完整指南。这不仅是安装系统更是一次对Linux存储管理的深度实践。无论你是刚接触Linux的新手还是需要为项目搭建标准化环境的老手这套清晰、可复现的操作流程和背后的设计思路都能让你对“虚拟机”和“Linux系统”有更扎实的掌控感。2. 前期准备工具、镜像与虚拟机配置工欲善其事必先利其器。在点击“新建虚拟机”按钮之前我们需要准备好三样东西虚拟机软件、系统镜像和一个清晰的规划。2.1 虚拟机软件选择VMware Workstation Pro市面上虚拟机软件众多如VirtualBox、Hyper-V等。我选择VMware Workstation Pro主要基于其在企业环境和开发者中的广泛接受度、稳定的性能表现、完善的快照与克隆功能以及出色的网络模拟能力。它对新手友好同时也能满足高级用户的需求。当然你可以使用免费的VMware Workstation Player对于基础安装和学习来说完全足够。注意确保你使用的VMware版本支持你要安装的Ubuntu版本。通常保持软件为较新版本即可避免兼容性问题。2.2 系统镜像获取Ubuntu LTS版本对于服务器和长期使用的环境我强烈推荐选择Ubuntu的LTS长期支持版本例如最新的Ubuntu 22.04 LTS或24.04 LTS。LTS版本提供长达5年的标准支持安全更新和软件仓库维护都非常稳定避免了频繁升级带来的潜在风险。获取镜像最安全、最快速的途径是访问Ubuntu官方或国内可靠的镜像站。直接搜索“Ubuntu官网下载”或“清华大学Ubuntu镜像”即可找到。下载完成后你会得到一个后缀为.iso的文件这就是我们的安装盘。2.3 虚拟机硬件规划在VMware中新建虚拟机时硬件配置需要根据用途来定。以下是一个适用于开发或学习环境的通用起点配置你可以在虚拟机创建后随时调整除CPU核心数外CPU2核心。对于大多数轻量级服务和学习足够如果宿主机性能强劲且需要编译等重负载任务可以给到4核心。内存4GB。这是流畅运行带图形界面的Ubuntu的底线。如果只使用命令行界面Server版2GB也勉强可行但4GB是更舒适的选择。网络选择“NAT模式”。这是最省心的模式虚拟机会共享宿主机的IP上网就像你家路由器下的另一台设备无需额外配置。磁盘这是关键选择“创建新虚拟磁盘”。磁盘类型用默认的SCSI即可。大小我建议至少40GB。虽然Ubuntu最小安装可能只需要10GB但预留充足的空间是为了后续安装软件、存储数据和应对系统更新。更重要的是我们将在这40GB的空间上进行自定义分区。这里有一个关键操作不要选择“立即分配所有磁盘空间”。如果勾选VMware会立刻在宿主机上创建一个40GB的虚拟磁盘文件占用大量物理空间。我们选择“将虚拟磁盘拆分成多个文件”并让磁盘空间“按需增长”。这样虚拟磁盘文件初始很小随着虚拟机内数据的增加而逐步增大非常灵活。至此一个“空壳”虚拟机已经创建好并挂载了Ubuntu安装镜像。接下来我们将启动它进入真正的核心环节——磁盘分区。3. 深入理解Linux磁盘分区与挂载概念在动手分区之前有必要花几分钟理解几个核心概念。这能让你清楚每一步操作的目的而不是机械地点击“下一步”。3.1 分区表类型MBR vs GPT这是磁盘的“地图索引”格式。MBR传统格式最多支持4个主分区或3个主分区1个扩展分区扩展分区内可再分逻辑分区。单个分区最大支持2TB。适用于老式BIOS启动的电脑。GPT现代格式几乎无分区数量限制支持超过2TB的大容量磁盘。必须配合UEFI启动方式。对于新建的虚拟机尤其是磁盘空间可能超过2TB虽然我们只分配了40GB或为了兼容未来强烈建议选择GPT分区表。Ubuntu安装程序在检测到空白磁盘时通常会默认创建GPT分区表。3.2 文件系统Ext4 vs XFS vs 其他分区完成后需要格式化即创建文件系统这是操作系统用来管理磁盘上文件存储和检索的方法。Ext4这是Ubuntu默认且最常用的文件系统。它非常稳定、成熟在大多数场景下性能表现良好是综合平衡之选。XFS特别擅长处理大文件和高并发IO例如数据库、视频处理等场景。如果你计划将此虚拟机用于存储大量媒体文件或运行数据库服务XFS是更好的选择。Btrfs/ZFS提供了高级功能如写时复制、快照、数据校验等但配置相对复杂更适合有特定数据管理需求的用户。对于通用目的选择Ext4即可。3.3 挂载点Linux的目录树如何与磁盘关联这是Linux与Windows磁盘管理逻辑上最大的不同。Windows使用“C盘”、“D盘”这样的盘符。而Linux整个系统只有一个根目录树/所有存储设备硬盘分区、U盘、光盘都必须“挂载”到这棵树的一个“目录”下这个目录就称为“挂载点”。例如将第一个分区挂载到/根目录系统核心文件就放在这里。将第二个分区挂载到/home所有普通用户的个人文件桌面、文档、下载等就存储在这里。将第三个分区挂载到/var系统日志、缓存、数据库文件等经常变动的数据放在这里。这种设计带来了极大的灵活性。例如当根分区空间不足时可能是/var/log日志文件太多但由于/var是独立分区它不会影响根分区的其他部分也更容易定位和管理问题。理解了这些我们就可以设计自己的分区方案了。4. 实战分区方案设计与安装操作现在启动虚拟机进入Ubuntu安装界面。选择语言后在“安装类型”这一步务必选择“其他选项”或“手动分区”。这样我们才能获得完全的控制权。安装程序会显示你的虚拟磁盘例如/dev/sda。由于是全新磁盘它显示为“空闲空间”。点击“新建分区表”系统会提示你创建分区表选择GPT。接下来我们将在这块空闲空间上创建分区。我推荐一个适用于40GB磁盘的、兼顾学习与实用性的分区方案挂载点大小类型文件系统用途说明/boot/efi512 MB逻辑分区EFI系统分区必须创建。用于UEFI启动存放引导程序。/boot1 GB主分区Ext4存放Linux内核和启动引导文件。独立出来可以避免内核更新填满根分区。swap4 GB逻辑分区swap area交换空间。当物理内存不足时用作内存扩展。大小通常为物理内存的1-2倍这里4GB足够。/20 GB主分区Ext4根目录。存放系统核心文件、安装的软件等。20GB对于基础系统加大量开发工具绰绰有余。/home剩余全部 (~14.5 GB)主分区Ext4用户家目录。你的文档、代码、下载文件、个性化配置都在这里。独立分区后重装系统时可以保留此分区数据。4.1 逐步创建分区创建/boot/efi选中空闲空间点击“”。大小设为512MB新分区类型为“逻辑分区”位置“起始”用于“EFI系统分区”。无需选择挂载点系统会自动识别。创建/boot继续选中剩余空间点击“”。大小1GB类型“主分区”位置“起始”用于“Ext4日志文件系统”挂载点选择“/boot”。创建swap选中剩余空间点击“”。大小4GB类型“逻辑分区”位置“起始”用于“交换空间”。创建/选中剩余空间点击“”。大小20GB类型“主分区”位置“起始”用于“Ext4日志文件系统”挂载点选择“/”。创建/home选中最后剩余的所有空间点击“”。使用全部剩余空间类型“主分区”位置“起始”用于“Ext4日志文件系统”挂载点选择“/home”。创建完成后分区表大致如下所示设备 类型 挂载点 大小 /dev/sda1 efi 512 MB /dev/sda2 ext4 /boot 1 GB /dev/sda3 swap 4 GB /dev/sda4 ext4 / 20 GB /dev/sda5 ext4 /home 剩余空间4.2 关键设置引导加载器安装设备这是安装过程中极易出错的一步。在分区界面的底部有一个“安装启动引导器的设备”下拉菜单。这里必须选择你的整个磁盘即/dev/sda不带数字而不是某个具体分区如/dev/sda1。这将引导程序安装到磁盘的启动扇区系统才能正常引导。确认无误后点击“现在安装”按照后续提示设置时区、用户名密码即可完成安装。安装完成后重启你就拥有了一个按照自定义分区方案部署的Ubuntu系统。5. 安装后验证与基础环境配置系统首次启动后我们首先需要验证分区是否按照我们的规划生效。打开终端输入命令df -h。这个命令可以查看所有已挂载文件系统的磁盘使用情况。你应该能看到类似下面的输出清晰地显示/、/boot、/home各自的大小和使用情况这证明我们的分区和挂载是成功的。文件系统 容量 已用 可用 已用% 挂载点 /dev/sda4 20G 6.0G 13G 32% / /dev/sda2 976M 200M 710M 22% /boot /dev/sda5 15G 50M 14G 1% /home再输入lsblk -f可以查看更详细的块设备信息包括分区类型和UUID。5.1 配置软件源加速系统安装后第一件事就是更换软件源为国内镜像以大幅提升软件下载和更新的速度。这里以阿里云镜像为例备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑源列表文件sudo nano /etc/apt/sources.list将文件内容全部替换为阿里云的源以Ubuntu 22.04为例deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse如果是24.04将jammy替换为noble按CtrlX然后按Y再按回车保存退出。更新软件包列表sudo apt update5.2 安装基础工具集一个顺手的工具集能极大提升效率。建议安装以下包网络与诊断工具sudo apt install net-tools iputils-ping traceroute curl wgetifconfig、ping、traceroute是网络排障的利器。压缩解压工具sudo apt install zip unzip gzip tar应对各种格式的压缩包。开发构建工具sudo apt install build-essential gitbuild-essential包含了编译C/C程序必需的gcc, g, make等。文本编辑器sudo apt install vimVim是命令行下高效的文本编辑器值得花时间学习基础操作。执行sudo apt install net-tools iputils-ping curl wget zip unzip build-essential git vim -y可以一次性安装。5.3 配置SSH远程登录针对服务器用途如果你打算把这台虚拟机当作服务器来用启用SSH是必须的。安装OpenSSH服务器sudo apt install openssh-server -y启动并设置开机自启SSH服务sudo systemctl start ssh sudo systemctl enable ssh查看虚拟机IP地址ip addr show找到inet后面的地址通常是192.168.x.x或10.x.x.x。现在你就可以从宿主机的终端Windows可用PowerShell或MobaXtermmacOS/Linux直接用终端使用ssh 你的用户名虚拟机IP来远程登录了比在VMware窗口里操作方便得多。6. 分区方案的灵活调整与高级考量我们之前设计的方案是一个通用模板。在实际项目中你需要根据虚拟机的具体角色进行调整。6.1 针对不同角色的分区方案调整数据库服务器重点数据和日志的IO性能、安全性。调整建议单独分区给数据为数据库数据文件如MySQL的/var/lib/mysql PostgreSQL的/var/lib/postgresql创建独立分区甚至使用XFS文件系统。放大/var数据库日志、事务日志通常存放在/var/log和/var/lib下确保有足够空间。示例调整可以将/home空间缩减额外增加一个/var/lib/mysql分区XFS格式20GB。Web应用服务器重点应用日志、静态资源、代码部署。调整建议单独分区给日志为/var/log和/var/log/nginx或/var/log/apache2创建独立分区避免日志写满根分区导致应用崩溃。单独分区给Web根目录如果应用代码或用户上传的文件存放在/var/www或/opt为其创建独立分区。示例调整增加/var/log(Ext4, 5GB)/opt(Ext4, 10GB)。开发桌面环境重点用户数据安全、开发工具和依赖库。调整建议最大化/home开发者的代码、配置、Docker镜像、IDE等都存放在家目录所以/home分区应尽可能大。考虑/opt有些大型开发工具如JetBrains全家桶的Toolbox安装方式会默认安装在/opt。示例调整/分区15GB/home分区分配剩余绝大部分空间如23GB。6.2 关于Swap分区的现代观点传统观点认为Swap大小应为物理内存的1-2倍。但在今天尤其是虚拟机内存配置比较充足如8GB的情况下这个规则需要重新审视。内存充足时8GBSwap的主要作用从“防止内存不足崩溃”转变为“支持休眠Hibernate功能”和“内核移出非活动内存页”。此时分配2GB-4GB的Swap通常足够。甚至如果确认不需要休眠功能且内存非常充裕可以分配一个较小的Swap如1GB或完全不设Swap不推荐某些应用可能依赖Swap存在。内存紧张时4GBSwap仍然至关重要建议分配内存大小的1.5-2倍。Swap的位置我们之前将Swap放在机械硬盘虚拟磁盘模拟的上速度慢。如果宿主机是SSD虚拟机磁盘性能尚可。在物理机上如果有高速NVMe SSDSwap性能会好很多。极端性能追求下甚至可以创建RAM Disk内存盘作为Swap但这会占用宝贵的内存。6.3 使用LVM动态卷管理的优势我们目前使用的是直接分区一旦划分好大小就很难调整。如果你预见到未来可能需要灵活调整分区大小可以在安装时就使用LVM逻辑卷管理。LVM在物理磁盘PV之上抽象出一层创建卷组VG然后在卷组里动态创建和调整逻辑卷LV。逻辑卷就相当于我们之前的分区可以被格式化并挂载使用。使用LVM安装时的简易流程在分区界面先创建一个较小的/boot/efi分区如512MB。将剩余所有空间创建为一个分区类型选择“物理卷LVM”。这会作为LVM的物理卷PV。系统会自动以此PV创建卷组VG。然后你可以在该卷组内创建多个逻辑卷LV分别作为/、/home、swap等过程与普通分区类似。LVM的最大好处是将来如果/home空间不足而/空间有富余你可以先缩减/的逻辑卷然后将腾出的空间加入卷组再扩展/home的逻辑卷整个过程可以在系统在线运行时完成无需重装系统。对于需要长期演进和调整的系统LVM是更专业的选择。7. 常见问题排查与经验心得即便按照指南操作你也可能会遇到一些“坑”。这里分享几个我踩过或常见的问题。7.1 安装程序卡在“探测文件系统”或某个百分比这通常是因为虚拟机从Ubuntu安装镜像启动时默认会尝试连接网络更新安装器。如果网络不畅就会卡住。解决方案在安装开始的第一个界面选择语言前按E键编辑启动项。在linux开头的那一行的末尾在---之前添加nomodeset并空一格。然后按F10启动。这能禁用显卡模式设置有时能解决问题。更根本的方法是在安装类型选择界面先不要联网等系统安装完成后再配置网络和更新源。7.2 安装完成后无法启动提示“GRUB”错误或黑屏这通常是因为引导加载器GRUB安装位置错误或损坏。预防确保安装时“引导加载器安装设备”选择了整个磁盘/dev/sda。修复可以使用Ubuntu安装U盘启动选择“试用Ubuntu”进入Live系统后打开终端挂载原系统的根分区然后使用chroot命令修复GRUB。这是一个稍复杂的操作需要参考专门的GRUB修复教程。7.3 磁盘空间不足的预警与处理即使做了分区某个分区也可能被填满。我们需要监控和清理。监控命令df -h查看各分区使用率du -sh *查看当前目录下各文件夹大小。常见空间杀手/var/log系统日志。可以使用sudo journalctl --vacuum-time7d清理7天前的日志或安装logrotate工具自动管理。/var/cache/apt/archivesAPT软件包缓存。定期运行sudo apt clean可以清理所有已安装软件的下载包。Docker如果安装了Docker它的镜像、容器、卷默认存储在/var/lib/docker会占用大量空间。需要定期使用docker system prune -a谨慎使用会删除所有未使用的资源来清理。7.4 从Windows向虚拟机传输文件这是高频需求。除了配置共享文件夹需要在VMware Tools安装后设置更通用的方法是使用SCP命令基于SSH。确保虚拟机已开启SSH见5.3节。在宿主机Windows上如果你安装了Git Bash或WSL可以直接使用scp命令。或者使用图形化工具如WinSCP。命令示例在宿主机的终端中scp C:\Users\YourName\Desktop\file.txt username虚拟机IP:/home/username/这条命令将宿主机桌面的file.txt复制到虚拟机的用户家目录下。7.5 关于VMware Tools/Open VM Tools安装VMware Tools可以显著提升虚拟机的体验包括剪贴板共享在宿主机和虚拟机之间复制粘贴文本。拖放文件直接拖拽文件到虚拟机窗口。更好的显示驱动支持自适应分辨率调整。在Ubuntu新版本中推荐安装开源替代品Open VM Tools它已被集成到仓库中。安装非常简单sudo apt install open-vm-tools open-vm-tools-desktop -y。安装后重启虚拟机即可生效。自定义分区安装Linux初看步骤繁多但一旦掌握它赋予你对系统底层架构的清晰认知和掌控力。这份掌控力在系统运维、性能调优和故障排查时会成为你最得力的工具。从按照模板操作到能根据实际需求设计出属于自己的分区方案这个过程本身就是对Linux系统理解的一次重要深化。
返回列表