logo
帮助中心

01 /home空间转移到/根目录操作指南

2025-07-15 17:32

0.问题背景

在部署龙蜥或Centos操作系统时,其中有一步是磁盘挂载,如果部署时按自动分区,此时根目录/只有70G,大部分空间挂载到了/home分区。而且此时会有/swap分区。与实际要求不符,需要手动调整

  •  /              根目录,存放系统文件

  • /home 目录主要用于存放用户数据和配置文件

  •  /swap    虚拟内存分区,当物理内存不足时会启用虚拟内存,但虚拟内存的性能远低于物理内存,会导致系统卡顿

    • swap不需要开,当系统判断内存不足时会自动停止非关键服务,确保关键服务正常运行

    图示:系统自动分区时系统盘分区如下:

处理思路: 

①/home 对应的空间分配给 /      【本文主题】

②并将/swap 删除掉。                   【可参考 关闭服务器Swap功能


备注:前提是自动分区时是按LVM格式划分的
  • 标准分区是指在安装系统或配置磁盘时直接创建的固定大小的分区(分配后无法更改空间大小)
  • LVM(逻辑分区)在逻辑层面上管理磁盘空间,可动态调整逻辑卷的大小,而无需担心物理分区的限制


1.操作流程(简版)

可优先按简版进行操作,如果出现异常,可再阅读详细版本
龙蜥和Centos的区别主要在于/home 的逻辑路径名称略有不同,整个步骤基本是一致的

1.1 龙蜥8.9系统

df -h   #检查空间路径   (图是删除后的,实际调整前还有一条/dev/mapper/ao-home)

(1)卸载/home
umount /home      #卸载/home目录挂载          #如果提示 Target is busy  异常处理(参考下侧↓)
lvremove /dev/mapper/ao-home     # 移除/home卷。释放空间


#Target is busy 异常处理

一般报这个错误的时候是 /home 被占用,常见于部署龙蜥系统时勾选了 GUI并登录了可视化界面

解决办法:

sudo systemctl isolate multi-user.target                    #停止图形界面服务,切换到多用户文本模式

sudo systemctl set-default multi-user.target        #下次启动时默认进入文本模式

lvremove /dev/mapper/ao-home  重启后再次尝试移除/home 卷

(2)将/home卸载后释放的空间扩容到根目录/下
lvextend -l +100%FREE /dev/mapper/ao-root     #将空闲的空间移动 100% 到根目录下面
xfs_growfs /dev/mapper/ao-root      #扩充到空间

df -h  /    #检查扩容情况 (df -h /下看到的数据和 lsblk 看到的一定是一致的)

lsblk     #检查扩容情况(df -h /下看到的数据和 lsblk 看到的一定是一致的)


(3)注销/home开机挂载--关键(否则开机后报错)

vi /etc/fstab     #修改启动项   #i 进入编辑模式,然后在 home 行前面增加#(注销掉即可)

                                       #esc 退出编辑模式  :wq!保存退出

reboot    #重启(或执行下面的重新挂载fatab命令)

systemctl daemon-reload    #加载/etc/fstab

lsblk      #重启后再检查下磁盘挂载是否符合预期



1.2 Centos 7.9系统

待补充(主要是home 路径不同)

附录:操作流程(详细版本)

主要是通过相关命令确认挂载的Path

(1)卸载 /home

umount -l /home

(2)移除/home卷,释放空间

先查看 /home 卷的名称,执行命令:lvdisplay

移除 /home 卷,执行命令:lvremove /dev/ao/home

如果报如下错误,说明/home 被使用中,需要释放后方可删除。可执行命令:

fuser -vm /dev/ao/home   #查看 /home 被占用进程

fuser -km /dev/ao/home   #关闭 /home 被占用进程

一般情况下刚部署的系统可能是因为部署时勾选了GUI(可视化操作系统),也可以通过如下命令关闭GUI重启后也会释放对/home的占用(推荐);

sudo systemctl isolate multi-user.target    #停止图形界面服务,切换到多用户文本模式

sudo systemctl set-default multi-user.target       #下次启动时默认进入文本模式


再次执行:lvremove /dev/ao/home,得到如下内容即为成功


(3)将空闲空间全部扩展导根目录下

lvextend /dev/mapper/ao-root  /dev/sda3



(4)扩容到文件系统空间

执行命令:xfs_growfs /dev/ao/root

如果报错xfs_growfs: /dev/openeuler/root is not a mounted XFS filesystem

则先查看root目录是什么文件系统格式 lsblk -f

如果是ext4格式,则执行 resize2fs /dev/ao/root


(5)修改/etc/fstab 去掉/home自动挂载记录

vi /etc/fstab

删除/home 这一行内容后(也可以在最前面加# 使其失效(linux命令中前面有#代表注释信息)),执行如下命令:

systemctl daemon-reload    #加载/etc/fstab

mount -a    #测试挂载是否正常

lsblk   #查看挂载是否符合要求(/home去掉等)





Copyright © 2025 seewo. All Rights Reserved. Shirui Electronics | 粤ICP备12092924号 | 广州视睿电子科技有限公司