![Ubuntu 18.04 - 安全删除/更改特定分区并为根分配可用空间](https://linux22.com/image/1162256/Ubuntu%2018.04%20-%20%E5%AE%89%E5%85%A8%E5%88%A0%E9%99%A4%2F%E6%9B%B4%E6%94%B9%E7%89%B9%E5%AE%9A%E5%88%86%E5%8C%BA%E5%B9%B6%E4%B8%BA%E6%A0%B9%E5%88%86%E9%85%8D%E5%8F%AF%E7%94%A8%E7%A9%BA%E9%97%B4.png)
我有双启动设置。在原始磁盘上,我安装了 Windows(在 uefi 设置上)... 并在第二个驱动器上安装了 ubuntu。一切正常。
然而,当我在第二个驱动器上安装 ubuntu 时...我手动定义了分区。基本上,我定义了一个交换分区、一个 / 根分区 (5GB) 和一个 /home 分区,如各种教程中所述。不过,我将大部分空间分配给了 /home (90GB) 分区。
现在工作时(我作为具有 sudo 权限的用户)...似乎我所有的东西(下载、项目等)都存储在 /root 分区...主文件夹中。如果应该这样,我没问题。(或者像 var 文件夹中的 Web 项目一样。)。但我的空间慢慢用完了,我甚至没有使用剩下的 90GB。
最初定义的 /home 分区到底是用来做什么的?我如何才能安全地重新定义分区大小?我现在的第一个想法是将更多空间移到 / 根分区。
当我运行 gparted 时...分区被查看,我无法调整大小或删除它们。请参见此处:
编辑:
$ df /home
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda5 1876072 8552072 9057344 49% /
编辑2:
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1901092 0 1901092 0% /dev
tmpfs 386268 2100 384168 1% /run
/dev/sda5 18576072 8552616 9056800 49% /
tmpfs 1931340 0 1931340 0% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 1931340 0 1931340 0% /sys/fs/cgroup
/dev/loop0 3840 3840 0 100% /snap/gnome-system-monitor/57
/dev/loop1 91648 91648 0 100% /snap/core/6130
/dev/loop2 35456 35456 0 100% /snap/gtk-common-themes/818
/dev/loop3 13312 13312 0 100% /snap/gnome-characters/103
/dev/loop4 2432 2432 0 100% /snap/gnome-calculator/180
/dev/loop5 3840 3840 0 100% /snap/gnome-system-monitor/51
/dev/loop6 2304 2304 0 100% /snap/gnome-calculator/260
/dev/loop7 150912 150912 0 100% /snap/skype/66
/dev/loop9 13312 13312 0 100% /snap/gnome-characters/139
/dev/loop8 14976 14976 0 100% /snap/gnome-logs/45
/dev/loop10 133760 133760 0 100% /snap/postman/80
/dev/loop11 35584 35584 0 100% /snap/gtk-common-themes/319
/dev/loop12 89088 89088 0 100% /snap/core/4917
/dev/loop13 14848 14848 0 100% /snap/gnome-logs/37
/dev/loop14 144128 144128 0 100% /snap/gnome-3-26-1604/74
/dev/loop15 144384 144384 0 100% /snap/gnome-3-26-1604/70
/dev/sda2 524272 6228 518044 2% /boot/efi
tmpfs 386268 20 386248 1% /run/user/121
tmpfs 386268 96 386172 1% /run/user/1000
/dev/mnnlk1p4 60439548 20301204 40138344 34% /media/mark/98F46CVFG76D9D6E
编辑3:
$ less etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=ad139b04-0cf2-5183-ccf2-fb90cc1ac2b1 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda2 during installation
UUID=6E9C-A4F3 /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
~
~
~
~
(END)
答案1
您创建的主分区似乎未安装在文件系统中。Ubuntu 将使用该/home
目录作为所有用户的主目录,因此/dev/sda4
需要将 90G 分区安装在那里。不幸的是,需要将已有的内容/home
复制过去,并重新配置系统以将 /dev/sda4/ 分区安装在正确的位置。
首先,创建某个地方来挂载您的/dev/sda4
分区:
sudo mkdir /media/newhome/
然后将该分区挂载到那里:
sudo mount /dev/sda4 /media/newhome
现在将所有当前主目录复制到当前/dev/sda4
挂载点:
sudo cp -aR /home/* /media/newhome
现在您需要编辑该/etc/fstab
文件,该文件负责在系统启动时挂载您的分区。请注意,这是一个非常重要的系统文件,损坏或删除它会非常糟糕!
备份 /etc/fstab
sudo cp /etc/fstab /etc/fstab.bak
获取分区的 UUID,记下来以便在下一步中使用:
blkid /dev/sda4
现在使用您喜欢的文本编辑器,使用上一个命令中的 UUID 在您的文件中添加新条目/etc/fstab
,确保您的 UUID 准确无误:
# Mount /dev/sda at /home
UUID=(put your UUID here) /home ext4 defaults 0 2
卸载/dev/sda4
分区:
sudo umount /dev/sda4
现在检查新的 /home 是否正确挂载:
sudo mount -a
如果你df /home
现在发出,输出应该显示/dev/sda4
分区挂载在那里。之后,你应该检查重新定位的目录中没有缺少任何内容/home
。
剩下的就是确保它在重启后按预期运行。需要注意的一点是,您仍然在/home
根文件系统上存储了原始数据/
,但现在您已/dev/sda4
在其上挂载,因此无法访问它。为了收回空间,/
您需要卸载/dev/sda4
,删除旧的 /home 并重新挂载/dev/sda4
。只有在我完全确定一切正常且没有文件或功能缺失时,我才会这样做。
要删除旧的主目录,请卸载新配置的主分区:
sudo umount /dev/sda4
删除旧主目录的内容:
sudo rm -r /home/*
重新挂载/dev/sda4
sudo mount -a
答案2
使用您的实时 USB,从那里运行 Gparted,然后调整分区大小。首先从 /home 中获取一些空间,然后“应用所有操作”,然后将可用空间添加到您的 /root。