几个月前,我购买了一台新计算机,并安装/配置了 Arch/Ubuntu Studio 的双启动。我想尝试 Arch(因为它被建议作为音频制作的一个很棒的发行版 [因为它相对精简]),但我想立即开始使用 Ubuntu Studio,以防我对 Arch 的理解不够。因此,双启动场景。
我不是一个经验丰富的 Linux 系统管理员;我发现这非常困难。我从大量的网上资源中阅读了大量的信息并最终弄清楚了。我根本没有太多使用 Ubuntu,所以它只占用了我 256G 磁盘上的 128G。当我按照 Arch Wiki 的教程进行操作时,示例建议根分区为 15G。当时,我应该更仔细地考虑这一点,因为对于我计划要做的工作类型来说,这个数字确实很低(很多不同的事情=很多应用程序)。我使用 i3 作为我的窗口管理器,我立即注意到驱动器空间消耗得很快。我还剩1G
长话短说,我没有为根(/
)分区腾出足够的空间,并且我不知道如何纠正它。我最初的反应是复制/
到 Ubuntu 所在的位置。所以我删除了Ubuntu分区并用cgdisk重新分区。然后我用实时 USB Ubuntu 启动并安装/dev/sda3
(我当前的/
)到 和并/oldroot
安装/dev/sda2
(Ubuntu 曾经所在的位置)。/newroot
cp -R /oldroot/* /newroot
不过,我不确定从这里该做什么。我有一个单独的启动分区,如下所示:
/
/EFI
/EFI/ubuntu
/EFI/ubuntu/shimx64.efi
/EFI/ubuntu/grubx64.efi
/EFI/ubuntu/grub.cfg
/EFI/arch_grub
/EFI/arch_grub/grubx64.efi
我不记得我创建这些.efi
文件时做了什么,但我猜想它们的目的是将进程引导到当前/boot/grub/grub.cfg
脚本(它看起来像一个 bash 脚本)。我不确定。我想我记得这是在运行grub-mkconfig
或类似操作时完成的,但我不知道我在哪里做这件事,也不知道在进程的哪个阶段,所以现在我遇到了障碍。
也许我什至不应该尝试切换分区——也许我应该尝试简单地增加根分区的大小,但我不知道该怎么做。
从这里我应该做什么?
答案1
将根文件系统迁移到新分区应该是可能的。
cp -R /oldroot/* /newroot
-R
在这种情况下是错误的参数,因为cp
默认情况下不会保留所有者和权限等文件属性。删除复制的根文件系统并重新开始:
cp -a /oldroot/* /newroot
-a
应该保留一切,或者至少保留一切重要的东西。
再次复制后,您需要执行以下操作:
- 将
boot
分区挂载到/newroot/boot
- 绑定挂载
sys
、proc
和dev
在run
/newroot
chroot
进入/newroot
- 运行
update-initramfs -u
并update-grub
然后系统应该从新分区启动。
答案2
另一种选择是将文件从您的/
./home
例如,如果您的分区上有空间,只需移动/usr
到那里(以 root 身份运行这些):
mv /usr /home/usr
ln -s /home/usr /
这样/usr
就不再占用 上的空间了/
。
答案3
好吧,最简单的事情可能是使用您最喜欢的 GNU/Linux 的实时发行版(例如,带有 Live Ubuntu 的 USB 记忆棒就可以做到这一点),并使用 Gparted 等工具调整分区大小(易于使用,带有一个很棒的图形用户界面)。做了几次,效果就像魅力一样。