答案1
您的驱动器已使用膜生物反应器(ms-dos)分区表,这会使事情变得复杂;使用谷氨酰胺磷酸酶,这就是为什么它现在是 Windows 和 Ubuntu 默认分区表。让我们继续前进。
- 运行
lsb_release -a
以查看您拥有的 Ubuntu 版本;我们稍后需要知道这一点。 - 备份您的数据,然后验证备份与源数据是否匹配。
- 再次备份到不同的目的地(不同的驱动器或云),然后验证其数据与源数据匹配。
- 从装有 Ubuntu 的 LiveUSB 启动;以下是制作方法。由于您没有从内部驱动器启动,因此您现在可以更改其分区。
- 发射分区。
- 创建根分区 /dev/sda4通过为其提供 49 GB 的未使用空间,使其更大。
- 单击驱动器地图上方的复选标记来提交更改。
- 退出 gparted,重新启动 gparted,然后确认/dev/sda4现在大了49 GB。
- 删除/dev/sda5 交换分区。单击驱动器图上方的复选标记以提交更改。
- 选择/dev/sda7并将其扩大到我们刚刚通过删除获得的可用空间交换分区。单击驱动器图上方的复选标记以提交更改。
- 退出 gparted 然后重新启动它。/dev/sda7现在有 19GB 了?很好。如果没有,请截屏,退出 gparted,然后返回这里寻求帮助。(不常见,但确实会发生。)
- 你使用休眠吗?那么你必须有一个交换分区 = 你的RAM大小。
- 您使用的是 Ubuntu 17.10 或更高版本吗?那么您可以使用交换文件,它现在同样快速且更加灵活。如果您不使用休眠模式并且使用 Ubuntu 17.10 或更高版本,我们将跳过下一步(仅此而已),这将创建一个新的交换分割。
- 做一个交换使用 gparted 创建一个与内存大小相等的分区。单击复选标记以提交更改,退出 gparted,然后重新启动它。它是否显示交换分区?好的,我们继续。
- 将所有剩余空间分配给数据分区,/dev/sda6,将其变大。提交更改,退出 gparted,重新启动 gparted,然后确认/dev/sda6占用了所有未分配的空间。
- 关闭 Ubuntu 的 LiveUSB 会话并从内部驱动器重新启动到 Ubuntu。
以下是 gparted 在流程各个阶段的样子。更改的大小是近似值。
如果你做了一个交换分区,您就完成了。
如果您不是做一个交换分区,创建交换文件并启用它。
- 在终端运行
sudo fallocate -h
以显示谬误已安装。您是否有谬误您的系统上是否有?如果没有,请运行sudo apt update && sudo apt upgrade && sudo apt install fallocate
。 - 跑步
sudo fallocate -l 4G /media/WHATEVER/swapfile && sudo chmod 600 /media/WHATEVER/swapfile && ls -lh /media/WHATEVER/swapfile
位置/媒体/随便挂载点用于/dev/sda6,让你的交换该文件位于该数据分区中,将其设置为仅供 root 使用,并显示它已创建。这可以保持交换移出根目录以便有更多的空间。 - 跑步
sudo mkswap /media/WHATEVER/swapfile && sudo swapon /media/WHATEVER/swapfile
以启用交换文件。 - 运行
sudo nano /etc/fstab
并粘贴到该文件的单独一行/media/WHATEVER/swapfile swap swap defaults 0 01
,然后点击Esc两次,执行Ctrl-X保存并退出纳米。 - 做
sudo swapon --show
确认交换正在运行,重新启动到内置驱动器上的 Ubuntu,然后执行sudo swapon --show
以确认对 /etc/fstab 所做的更改已保存。现在,交换文件此后将为您工作。
我在我拥有和维护的每台 Linux 台式机上都执行过一次此操作(调整为更易于使用的 GPT)。一次就完成了,我再也不用担心它了。
答案2
不管怎样,这种事情极大地如果你使用 LVM(逻辑卷管理),那么会更容易。(有一个lvmify
工具位于https://github.com/g2p/blocks#readme。
如果你使用 LVM,那么身体的可以添加存储范围逻辑卷,并且可以包含或添加多个物理范围。因此,您可以使用根级命令来分配新的物理区域,然后将其分配给“/”卷,然后向上调整文件系统的大小,从而完全解决问题。我无法想象没有它如何管理 Linux 系统...