type
status
date
slug
summary
tags
category
icon
password
笔者在做操作系统课程实验时被要求下载20G软件包, 然而安装openEuler虚拟机时贪图节省空间, 只声明了64G的硬盘空间, 无奈之下只能扩容, 总结步骤如下, 以供参考:
1. 虚拟机容器设置
- 关闭openEuler虚拟机
- 打开Parallels Desktop控制台, 在openEuler Configuration-Hardware-Hard Disk-Advanced-Properties中选择扩容后的空间大小, 此处选择80G

- 重启openEuler
2. 在openEuler中识别并扩展磁盘
- 首先使用
lsblk
了解磁盘概况:

经过控制台设置, 此处显示虚拟磁盘已经扩容到80G, 但是
/dev/sda3
分区仍然是62.4GB, 说明扩容的空间还没有分配到现有分区中- 找到扩容的磁盘(此处为sda)并使用
fdisk
查看分区结构:

最后一行输出结果显示笔者使用了LVM(Logical Volume Manager), 且LVM分区为sda3. 故接下来将使用LVM扩容步骤
- 使用
parted
工具在线扩展sda3分区, 让它利用新增空间:
上述命令将打开parted命令行, 继续输入以下命令:
- 通知系统分区已经发生变化
- 扩展物理卷(Physical Volume, PV)
- 扩展逻辑卷(Logical Volume, LV)
首先列出所有逻辑卷:

然后选择一个逻辑卷接收扩展, 此处选择
/dev/openeuler/root
- 查看文件系统类型是xfs还是ext4

笔者使用的是ext4文件系统(但是xfs更为常见), 故使用ext4更新方法:
- 确认是否扩展成功

3. 反悔: 将扩容的数据撤回, 重新分配到其他分区
假设错将新增分区分配到
/home
, 则此方法可以删除/home
下全部内容并合并到root
(/
)中此操作将删除
/home
及其目录下的所有数据, 需要谨慎执行, 确保当前/home
下的数据可以清空或已备份- 切换到单用户模式或紧急模式(推荐)
执行以下命令进入rescue模式:
将切换到命令行界面, 需要输入root用户的密码, 不会回显, 不要慌张, 输入后按下回车即可
- 卸载
/home
检查有无进程正在使用
/home
:若列表非空, 则运行以下命令杀死所有占用
/home
的进程:即可顺利卸载
/home
:- 删除
/home
的逻辑卷
输入
y
确认删除- 把空间分配给
/
分区
- 扩展
/
的文件系统(原理与初次扩展相同)
- 验证扩容是否成功
应该能看到
/
的空间已经增加
- 编辑
/etc/fstab
删除/home
挂载项
如果之前有
/home
的挂载项,需要注释掉, 否则无法重启回到正常模式:/home
逻辑卷之前已经被删除, 而系统的默认用户目录是在/home/用户名
. 如果这个目录不存在或不可写, 图形界面登录后加载用户session会失败, 会导致循环登录问题. 故此时需要检查/home
是否存在:
如果返回
No such file or directory
, 就说明目录确实被删除了, 需要重新创建- 创建
/home
并给合适权限
将”
$username
”替换成你实际的登录用户名即可- 重启即可登录图形化界面
- 作者:JAY
- 链接:https://notion-next-353pmh21m-jays-projects-ab02da23.vercel.app//article/1d73690b-3830-80be-8d95-dd0be34c18b3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。