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

资讯详情

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

统信UOS系统盘扩容教程:用GParted无损扩大根分区

统信UOS系统盘扩容教程:用GParted无损扩大根分区 统信UOS用久了最烦的就是系统盘莫名其妙满了。尤其是当初装系统时只分了50G甚至更小的根分区用上一段时间/var日志、docker镜像、软件缓存一占磁盘空间蹭蹭往下掉桌面弹提示磁盘空间不足的时候猫都想摔。很多人第一反应是重装系统但重装意味着重新配环境、重新装软件数据迁移又是一通折腾其实完全没必要。这篇教程就是来解决这个问题的。我会用GParted这个开源分区编辑器题目标题里写的GParten实际工具正式名是GPartedGNOME Partition Editor的缩写大家叫习惯了版本就多了带着你从备份、做启动盘开始到把系统盘根分区无损扩容一步步走一遍。整个过程只需要你有一条空闲U盘和一点耐心。无论你是刚接触统信UOS的新手还是拿它当生产力工具的老用户这篇内容都能帮你省下重装系统的大把时间。1. 扩容前先搞清楚三件事1.1 确认分区表类型和文件系统动手之前先摸清你的磁盘家底。统信UOS新版本默认走UEFI引导磁盘分区表基本全是GPT格式文件系统最常用的是ext4。但也不排除有人早期用的是Legacy BIOS配合MBR分区表或者手动装过XFS、Btrfs这些信息直接决定了后面用GParted操作时能不能顺利搞定。打开终端执行几条命令把磁盘结构看明白lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT这个命令能列出所有块设备的分区结构、大小、文件系统类型、挂载点。比如你会看到类似这样的输出NAME SIZE TYPE FSTYPE MOUNTPOINT nvme0n1 238.5G disk ├─nvme0n1p1 512M part vfat /boot/efi ├─nvme0n1p2 100G part ext4 / └─nvme0n1p3 138G part ext4 /home看到这种布局说明根分区就是/dev/nvme0n1p2你扩容的目标就是它。还可以搭配blkid命令查看UUID后面操作完格式化前做备份时用到。1.2 找到空间被谁吃掉的根源很多人一上来就想着扩分区但先花两分钟查查空间到底被什么占满了有时候清理比扩容更划算。用df -h看各分区使用率再用du -sh逐级排查df -h / sudo du -sh /var/log /var/lib/docker /home 2/dev/null我的实操经验里最常见的大头是/var/log下各种系统日志某些情况下能攒到十几个G/home下用户数据多但home分区本身和根分区分开时不受影响软件商店或deepin-wine缓存历史版本堆积docker目录如果你用UOS跑容器镜像层文件占用很大清理掉确定没用的缓存、日志再决定是否还要扩容这是更务实的做法。确定要扩了再看后面的步骤。1.3 备份分区表信息和关键数据就算GParted是图形化操作扩容前也强烈建议做两件备份一是导出分区表信息二是把重要的数据拷走。千万别赌运气磁盘操作没后悔药。把分区表信息存下来sudo fdisk -l ~/partition_info_backup.txt sudo blkid ~/partition_info_backup.txt数据层面如果你本来就分了单独的/home分区重活都在/home那根分区扩容其实不一定非碰数据。但万一根分区上有不想丢的配置文件或重要文件提前拷到移动硬盘上永远是最稳妥的。也可以直接用统信UOS自带的备份还原工具做一次整盘镜像备份到一个外置存储等扩容完全正常再删。这不浪费时间是给自己留后路。2. 做好启动U盘是整个流程最关键的一步2.1 为什么必须用U盘启动来做分区操作这里要解释一个很多新手卡壳的点系统盘本身的根分区是处于挂载使用状态下的你不可能在系统运行的时候去改自己的根分区大小就像你不能在站满人的房间里把地板抽掉一样。所以正确思路就是用U盘启动一个临时的Linux环境也就是GParted Live在这个环境里系统盘是未挂载状态分区随便动。这个思路理解之后整件事就通了一半。2.2 制作GParted Live启动盘GParted官方的Live镜像文件名类似gparted-live-xxx-amd64.iso几百MB大小。制作启动U盘有三条路可走:第一用Ventoy。这是现在最省事的方式把Ventoy装到U盘后直接把ISO文件扔进U盘开机选这个ISO就能启动以后换其他镜像也照样用。第二用balenaEtcher。操作简单选择ISO、选择U盘、烧录几步完事。但对新手有点误导性因为烧录后U盘分区结构变了直接格式化才能当普通U盘用。第三用统信UOS制作启动盘的工具。部分版本自带启动盘制作工具可以直接写入ISO。烧录完成后重启进入BIOS引导菜单一般是开机时按F12、F10、F7或Esc具体看主板品牌选择U盘启动。注意UOS默认开了Secure Boot的话GParted Live启动时可能直接被拦下。进BIOS临时关掉Secure Boot等操作完再开回来。2.3 没有GParted Live时用UOS安装盘也能凑合家里没有现成GParted Live镜像也可以用统信UOS官方安装ISO做启动盘。启动后选择试用模式Live Desktop进去之后虽然GParted不一定预装但可以打开终端手动安装sudo apt update sudo apt install gparted -y不过UOS安装盘默认是安装引导要找到试用选项还得仔细看操作起来比纯GParted Live多绕几步。我的建议是优先用GParted Live它体积小、专门为分区操作做了精简启动也快不容易出乱子。3. GParted实操系统盘扩容完整流程3.1 进GParted后先别急着拖分区从U盘启动进到GParted Live后界面默认是英文的顶部菜单能看到GParted、Edit、View等选项。右上角有个下拉框显示当前选中哪块磁盘比如/dev/sda或/dev/nvme0n1先确认选中的是你UOS系统盘千万别选错成U盘本身。我见过有人进去之后不确认磁盘直接开推结果把U盘分区推坏了系统盘纹丝不动。进入界面第一件事把磁盘识别清楚看大小看分区布局看有没有linux-swap、ext4、vfat这些眼熟的字样。3.2 扩容的核心操作Resize/Move假设你的分区布局类似/dev/nvme0n1p1是EFI分区/dev/nvme0n1p2是根分区/dev/nvme0n1p3是home分区根分区之后还有home分区的空白余地。此时右键根分区选择Resize/Move在弹出的窗口里能看到一个代表分区的矩形条矩形条左边是起始位置右边是结束位置。你只需要把右侧的箭头往右拖拖到右边尽头或者在上方New size输入框里直接填最终大小。GParted会自动帮你算出Free space following变成多少格式上无需你操心ext4分区拖动后它会自动调整文件系统大小。需要注意的是这个拖动操作只针对根分区本身如果后面没有空闲空间是拖不动的。这时候就要分情况处理了。3.3 根分区后面没空间时有两种典型场景场景一home分区占住了后面的空间。这种情况最麻烦需要先把home分区缩容把空间释放出来再把根分区扩大。操作顺序是这样右键home分区选择Resize/Move把它右侧往左缩或者左侧往右缩空出你想要的空间把腾出的空间紧贴在根分区后面也就是home分区起始位置向右移动再右键根分区向右扩大这里有个铁律缩小分区绝对不能在数据尾部做截断GParted本质上会在缩小前先检查文件系统剩余空间是否够用所以你必须确保home分区里已用空间小于缩小后的目标大小。否则GParted会报错Not enough space。场景二根分区和home分区之间隔着swap分区或恢复分区。那就需要把这中间的分区先移走腾出连续空间。操作逻辑一样按顺序把每个挡路分区移动或缩小让根分区和后面的空闲空间贴在一起。虽然听起来有点绕但GParted是图形界面直观到就是拖方块先缩小谁、再移动谁、最后扩大谁一步步来就行。怕忘了就先把目标形状画在纸上再对着界面操作。注意如果home分区单独挂载且数据量很大缩容home分区会涉及数据搬移耗时取决于数据量和磁盘速度。这一步没法硬赶时间机械硬盘上搬几个T的数据几个小时都有可能SSD会快很多。3.4 点下Apply之前再检查一遍所有Resize/Move操作都做完GParted界面下方的操作列表里会排着一串待执行操作。点绿色的对勾Apply All Operations之前再认真回看这几点目标分区调整后大小是不是你想要的有没有误操作到EFI分区或swap分区总空闲空间有没有被错误分配确认无误再点ApplyGParted会弹一个警告提示框说这会修改分区表点Apply后开始真正执行。这时候进度条会出现可能还会跑e2fsck检查耐心等别断电别强制关机让进度条自己走完。3.5 回到系统后的验证步骤操作完成重启拔掉U盘正常进入统信UOS。打开终端执行df -h看根分区容量确认已经变成你设置的期望大小。如果GParted由于某些原因没自动扩容文件系统比较少但确实遇到过你就要手动执行resize2fssudo resize2fs /dev/nvme0n1p2这个命令会把ext4文件系统扩展到分区全部空间。执行完再df -h验证应该就正常了。另外建议重启前同步一下缓存确认重启后系统能正常进入桌面。4. 常见报错和坑都是实操里踩过的4.1 问题速查表现象原因解决办法启动GParted报错无法识别磁盘Secure Boot阻止了Live内核模块进BIOS关掉Secure Boot右键分区后Resize/Move是灰色不可点磁盘没有空闲空间或分区正被挂载确认处于Live环境且未挂载根分区检查分区前后是否有空闲区域缩小分区时提示Not enough space目标大小小于该分区已用空间必须把分区缩小到大于已用数据量先清理该分区数据缩容时提示e2fsck必须运行文件系统状态不干净先执行e2fsck -f /dev/对应分区再继续Apply过程中卡住不动磁盘数据量大、IO慢不要强行中断等必要时等数小时如果实在等太久查询进度看是否还在挪数据扩容完成后根分区大小没变GParted没自动resize文件系统或没重启重启后sudo resize2fs /dev/对应分区重启找不到启动项动了EFI分区或引导配置丢失用UOS安装盘进Live执行grub修复操作前尽量避免碰EFI分区4.2 关于耗时给你个更客观的预期标题里说“5分钟搞定”这个得跟你讲实话纯图形界面的拖拽操作确实一分钟都用不了但GParted真正执行Apply时耗时取决于三件事——磁盘接口速度、需要搬移的数据量、需要缩小/扩大的文件系统状态。我自己实际遇到过的情况NVMe SSD根分区从100G扩到200G分区后面本来就有空闲Apply大概1分钟结束。老式的1T机械硬盘home分区从600G缩到400G等它搬数据等了将近40分钟。这很正常扩硬盘是个“操作快、底事慢”的活儿心里有数就行别等得心慌就急着断电。4.3 扩容之后建议顺手做的事扩容完系统能进不代表可以彻底放飞。我习惯在扩容后做一套收尾检查# 检查文件系统完整性在Live环境或启动时执行 sudo e2fsck -f /dev/nvme0n1p2 # 查看磁盘剩余 df -h # 确认根分区挂载参数没变 cat /etc/fstabfstab文件不用改因为分区UUID没变过扩容只是改了大小UUID和挂载点都不受影响。这是GParted最方便的地方它不会破坏分区结构只是调整边界UUID保持稳定所以系统启动基本不会因为扩容挂掉。如果扩容过程中你不小心碰了EFI分区或者改了分区起始位置才可能需要修复grub。这就是为什么我一直强调能不动前面的分区就别动只拖末尾。5. 写在最后一次扩容能解决很久的痛点从我帮人处理过的UOS扩容案例来看九成以上的系统盘爆满都是因为当初装系统时规划得太保守。如果你这次扩容后空间还是紧紧巴巴我的建议是直接把home目录或者/opt、/var这类容易膨胀的目录挂到另一个数据盘上从源头避免根分区再次被塞满具体方法就是在fstab里挂载新硬盘的对应分区把目录迁移过去。另外说个偏门的小技巧统信UOS其实也可以在不拆分区的情况下通过软链接把docker数据目录或者/var/log这类目录指到别的分区上这样就算根分区暂时不够用也能应急撑一段时间。不过这只是权益之计治本还是得扩容或者加硬盘。我自己干活的时候最怕的就是用户自己整半天搞不定然后来回折腾最后分区表坏了才找人救。按这篇流程来提前备份、用对工具、认准分区大概率一次成功。用Linux发行版这种事只要你掌握了“从外部启动、先备份、操作分区、验证重启”这个节奏以后不管是CentOS、Debian还是其他系统扩容思路都是通的。
返回列表