AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 911767
Accepted
CatMan
CatMan
Asked: 2017-05-05 03:15:43 +0800 CST2017-05-05 03:15:43 +0800 CST 2017-05-05 03:15:43 +0800 CST

关于chroot的问题

  • 772

设想

  • 我的硬盘上有 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 中一样。
  • 我没有看到其他包含该问题的帖子
dual-boot
  • 1 1 个回答
  • 202 Views

1 个回答

  • Voted
  1. Best Answer
    Ravexina
    2017-05-05T03:49:55+08:002017-05-05T03:49:55+08:00

    据我所知: chroot 意味着改变根。

    类 Unix 操作系统上的 chroot 是一种更改当前运行进程及其子进程的明显根目录的操作。 [从这里]

    您正在更改正在运行的系统的根目录;因此,您的系统 (A) 仍在运行您所看到的一切都是正在运行的系统的一部分,您不能简单地卸载其繁忙的资源(块设备)。

    此外,您将根更改为 (B) 的系统在没有 A 的帮助的情况下无法执行任何操作。举个例子,我猜你使用了一个命令,比如mount --bind /xxx /mnt/xxx绑定路径,/proc或者/dev作为chroot进程的一部分;这些路径由正在运行的系统 (A) 管理,并且对于 chrooted 环境 (B) 是必需的。

    你根本无法做你想做的事。

    正如维基百科所说,的用法chroot是:

    • 测试和开发
    • 依赖控制
    • 兼容性
    • 恢复
    • 特权分离

    从 chrooted 环境(A 中的 B)运行图形程序;您应该允许访问正在运行的 X。

    在 chroot 环境之外运行(打开另一个终端):

    xhost +local:
    echo $DISPLAY
    

    然后将您获得的内容作为输出导出到您的 chrooted 环境中:

    export DISPLAY=[output of above command]
    

    现在您应该能够运行图形应用程序了。

    资源


    我不明白您为什么要这样做,只需启动到一个活动磁盘,应用您的更改,chroot 到您的不同机器以在必要时修复任何内容。然后重新启动并使用您的系统。

    • 2

相关问题

  • 如何在 ubuntu 中挂载加密的 windows 分区?[关闭]

  • 如何使用 Debian 进行双引导?

  • 如何使用 Ubuntu 和 Windows XP 安装双启动配置?[关闭]

  • 如何让双启动 USB 驱动器在 Vista 中工作 [关闭]

  • 如何从双启动计算机访问加密的主文件夹?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve