无法使用 Gparted、Ubuntu 16.04 增加根分区大小(/)

无法使用 Gparted、Ubuntu 16.04 增加根分区大小(/)

当我尝试使用 Gparted 增加 Ubuntu 16.04 上的根分区(/)时,它失败了并显示此消息。

# umount -v "/"
umount: /: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)

我还可以使用什么其他方法来扩展我的根分区。

执行 df -h 时返回

Filesystem      Size  Used Avail Use% Mounted on
udev            2.9G     0  2.9G   0% /dev
tmpfs           591M  8.9M  582M   2% /run
/dev/sda1       138G  111G   20G  85% /
tmpfs           2.9G  336K  2.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.9G     0  2.9G   0% /sys/fs/cgroup
/dev/sda5        20G  243M   18G   2% /boot
tmpfs           591M   68K  591M   1% /run/user/1000
/dev/sda3       197G   25G  173G  13% /media/kilasa/Personal-db
/dev/sda7       116G   17G   99G  15% /media/kilasa/Water
/dev/sda6       194G   59G  125G  33% /media/kilasa/Tutorials
/dev/sda4       176G   51G  125G  29% /media/kilasa/Wind

当 lsblk 返回时

 NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 139.9G  0 part /
├─sda3   8:3    0 196.6G  0 part /media/kilasa/Personal-db
├─sda4   8:4    0 175.8G  0 part /media/kilasa/Wind
├─sda5   8:5    0  19.6G  0 part /boot
├─sda6   8:6    0 196.5G  0 part /media/kilasa/Tutorials
└─sda7   8:7    0 115.2G  0 part /media/kilasa/Water
sr0     11:0    1  1024M  0 rom  
sr1     11:1    1   128M  0 rom  

我从 Gparted 截取的屏幕截图显示了这一点

查看 Gparted 屏幕截图

答案1

您收到的错误是因为该分区目前正在被您当前的会话使用。

安全移动/调整分区大小的唯一方法是从 Ubuntu LiveCD 启动并使用 gparted。这样,硬盘上的分区就不会被主动使用。

如果您需要进一步的帮助,请发布一张 gparted 现在如何查看您的磁盘配置的屏幕截图。请详细说明您对最终/新磁盘配置的意图。然后我可以给出更好的建议。

答案2

最终分割答案:

sda2 扩展分区

- sda5 boot
- sda1 Ubuntu ~300-400GB (check UUID in /etc/fstab)
- sdax swap ~6-8GB (edit/add /etc/fstab with UUID)

sda4 Windows ~300-400GB

听起来我应该让你自己想办法完成这件事。这占用了我太多时间。谢谢,Al

答案3

由于扩展分区在根分区之后立即启动,因此扩展根分区并不容易,即使从 Live CD 启动,也不会破坏其他分区中的数据。

一个简单的方法可能是:

找出哪些子文件夹可以放入磁盘上的空白空间(> 80GiB):

sudo du -hs /*(这将显示顶层目录的使用情况)。

那些安装在 /media、/boot 等目录中的目录并不有趣,系统目录也是如此,因为您无法在正在运行的系统中移动它们。也许您的 /home 目录值得移动,并且适合 80 GiB。或者一些子目录 - 只是为了这个想法。

在空白处创建一个分区并格式化(例如 ext4)。

使用 挂载新创建的分区sudo mount /dev/sdax /mnt。将相应文件夹的内容移动到 /mnt。如果是 /home,您会遇到一些错误,因为并非所有文件都可能被移动(以普通用户身份登录时)。您可以临时创建一个具有 sudo 权限的用户和 /home 之外的主目录。

卸载 /mnt 并在 fstab 中添加一行,将新分区永久挂载到您移动其内容的目录(例如 /home)。

这与 海因内玛如上所述(文件夹与分区相反),但对我来说,在过去的 25 年里它一直是一个被证明的解决方案。

编辑:

我刚刚完整阅读了你问题的评论。我的解决方案不会给你所需的 / 和 windows 空间 (> 250GiB)。也许如果你备份 /dev/sda7 (/media/kilasa/Water) 中的数据并删除此分区,那么 gparted 允许你移动扩展分区的开始位置(我从未尝试过;请自行承担风险)。然后,你可以扩展根分区和其中的文件系统(因为它是 ext4,即使分区已挂载,也是可能的,请参阅man resize2fs;不知道 gparted 是否允许这样做)。你可以在 /dev/sda5 后的空白处创建一个新的 NTFS-FS,然后从备份中恢复文件。这样你就不必触碰你的 windows 系统分区了。

答案4

在 gparted 中,右键点击 / 的分区,选择“卸载”。右键点击卸载的分区,将其删除。然后右键点击您的 / 分区(无论是否已安装),选择“调整大小”,然后扩展到空白处。

如果您不想删除 / 右侧的分区,您可以删除 / 左侧的分区,然后打开终端 (ctrl+alt+t) 将 / 右侧的分区复制到空白处,然后 $ sudo dd if=/dev/sd!!! of=/dev/sd@@@ 其中 sd!!! 是您要复制的分区,sd@@@ 是您要删除的分区。确保 sd@@@ 已卸载。如果您已将 sd@@@ 格式化为 ext4,您可能更喜欢使用 $ copy if=/dev/sd!!! of=/dev/sd@@@。

如果您想将 / 向左移动,则必须关闭计算机,然后重新启动到活动 USB/CD,卸载 / 分区,然后将其向左移动(这可能非常耗时)。

当然,您只能将分区复制到至少与复制分区一样大的空间中。您可能需要通过卸载分区然后(使用 gparted)调整其大小来缩小分区。复制后,您可以将其扩展以填充分区中的空白空间。为此,在 gparted 中单击分区,从下拉菜单中选择“分区”,然后从菜单中选择“磁盘”,然后选择下一个选项进行修复或类似操作。

实际上,您可以使用 gparted 完全重新排列分区的对齐方式。您可以删除交换空间(首先单击右键并选择“swapoff”,然后重新创建它)。

这样做的缺点是启动时间会过长,我怀疑根分区不确定交换分区移到了哪里。也许有人可以解释一下……

相关内容