Ubuntu 16.04:如何从/dev/sda3分配空间扩容根分区/dev/sda1?
从/home分区扩容根分区的可行方案
当然可以!你完全可以从有大量空闲空间的/dev/sda3(/home)分配部分空间给即将耗尽的/dev/sda1(根分区)。不过要注意:根分区和/home分区在系统正常运行时处于挂载状态,无法直接修改分区大小,所以我们需要借助Ubuntu Live USB/CD来完成操作。下面是详细的步骤:
前置准备:备份重要数据
分区操作存在一定的数据丢失风险,强烈建议你先把/home和根分区里的重要文件备份到外部硬盘或U盘,避免意外损失。
步骤1:制作Ubuntu 16.04 Live介质
- 下载Ubuntu 16.04的ISO镜像文件
- 用工具(比如Rufus)把ISO写入到一个空白U盘,制作成可引导的Live USB
- 把U盘插入电脑,重启后选择从U盘引导,进入「Try Ubuntu without installing」模式(不安装,直接试用Ubuntu)
步骤2:确认分区状态
打开终端,输入以下命令查看磁盘和分区信息,确保/dev/sda1和/dev/sda3没有被挂载(Live环境下默认不会挂载,但最好确认):
sudo fdisk -l sudo df -h
步骤3:缩小/home分区(/dev/sda3)释放空间
我们用GParted工具来调整分区,Live环境自带这个工具,直接打开即可:
- 打开GParted后,在顶部的设备下拉菜单中选择你的磁盘(一般是/dev/sda)
- 找到/dev/sda3分区,右键点击选择「Resize/Move」
- 在弹出的窗口中,拖动右侧的滑块向左,或者直接在「Free space following」输入框中填写你想释放的空间大小(比如你想给根分区加30GB,就把/dev/sda3缩小30GB)
- 点击「Resize/Move」确认,这时候只是标记了操作,还没实际修改磁盘
步骤4:调整中间分区(如果有swap分区)
如果/dev/sda1和/dev/sda3之间有swap分区(比如/dev/sda2),需要先移动swap分区到释放空间的末尾,才能让根分区拿到空闲空间:
- 右键点击swap分区,选择「Swapoff」关闭交换分区
- 再次右键选择「Resize/Move」,把swap分区拖动到磁盘最末尾,只占用你刚才从/dev/sda3释放的部分空间(留足给根分区的空闲空间)
- 操作完成后,右键swap分区选择「Swapon」重新启用交换分区
步骤5:扩容根分区(/dev/sda1)
- 在GParted中找到/dev/sda1分区,右键点击选择「Resize/Move」
- 拖动右侧的滑块向右,直到完全占用所有可用的未分配空间
- 点击「Resize/Move」确认操作
步骤6:执行所有分区修改
点击GParted窗口上方的绿色对勾图标(「Apply All Operations」),系统会开始执行所有标记的分区操作,这个过程可能需要几分钟,期间不要中断电源或重启电脑。
步骤7:验证并重启
操作完成后,再次在终端输入df -h查看分区大小,确认/dev/sda1已经扩容成功。没问题的话,重启电脑拔掉Live USB,回到你的Ubuntu 16.04系统即可正常使用。
额外提醒
- 如果你的分区是LVM逻辑卷格式,操作流程会略有不同,但从你的描述来看应该是普通的ext4分区,上面的步骤完全适用
- 操作过程中如果遇到报错,不要强行继续,先查看GParted的提示信息排查问题
内容的提问来源于stack exchange,提问作者venkata sai krishna gani




