设想
- 我的硬盘上有 2 个工作的 Ubuntu 分区,我们称它们为 A 和 B。它们使用单个交换分区。
- 我已经启动到 A 并登录到桌面。现在我想在不重新启动的情况下使分区 A 更大(有足够的空间)。
问题
我可以使用 chroot 来
- 将执行切换到 B,然后卸载分区 A。
- 然后从 B 开始 gparted 并调整分区 A 的大小。
- 然后(在 B 中)将 A 挂载到 /mnt/temp 并使用 chroot 将执行切换回 A?
如果您知道这是否可能,请发表评论或回答。即使您不知道确切的步骤。它已经对我有所帮助,而且总比没有答案要好得多。
当然更有用的是一步一步的命令行过程去B,卸载分区A以及如何启动图形gparted。
我做了什么
- 我使用 chroot 从 live CD 或其他分区切换来修复 grub。它仅处于文本模式。我使用了许多帖子中解释的标准过程(挂载其他分区,挂载 --bind 虚拟文件夹,然后使用 chroot 移动到挂载的驱动器)。
- 我在新创建的分区 B 中创建了 A 的克隆。从 grub 引导时,克隆工作正常且完全,所以我知道它的功能齐全。我确实从 A 使用 chroot('#' 提示符)访问了命令行。
- 我没有找到在 B 中启动桌面的方法,或者完全切换到在 B 中工作,就像我将系统重新启动到 B 中一样。
- 我没有看到其他包含该问题的帖子
据我所知: chroot 意味着改变根。
您正在更改正在运行的系统的根目录;因此,您的系统 (A) 仍在运行您所看到的一切都是正在运行的系统的一部分,您不能简单地卸载其繁忙的资源(块设备)。
此外,您将根更改为 (B) 的系统在没有 A 的帮助的情况下无法执行任何操作。举个例子,我猜你使用了一个命令,比如
mount --bind /xxx /mnt/xxx
绑定路径,/proc
或者/dev
作为chroot
进程的一部分;这些路径由正在运行的系统 (A) 管理,并且对于 chrooted 环境 (B) 是必需的。你根本无法做你想做的事。
正如维基百科所说,的用法
chroot
是:从 chrooted 环境(A 中的 B)运行图形程序;您应该允许访问正在运行的 X。
在 chroot 环境之外运行(打开另一个终端):
然后将您获得的内容作为输出导出到您的 chrooted 环境中:
现在您应该能够运行图形应用程序了。
资源
我不明白您为什么要这样做,只需启动到一个活动磁盘,应用您的更改,chroot 到您的不同机器以在必要时修复任何内容。然后重新启动并使用您的系统。