当我尝试使用 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 截取的屏幕截图显示了这一点
答案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”,然后重新创建它)。
这样做的缺点是启动时间会过长,我怀疑根分区不确定交换分区移到了哪里。也许有人可以解释一下……