Ay0*_*Ay0 10 linux mount grub2
昨天我不得不安装一个带有 Grub 覆盖的 Windows。
好吧,这不是我第一次必须修复 Grub,所以我使用了 LiveCD,挂载了根分区(我没有引导,只有/
和home
)并运行grub-install --root-directory=/mnt/ /dev/sda
. 然而,它没有用。
谷歌搜索有一段时间我发现了一个教程中,而不是仅仅安装了Linux分区,他也做了之后mount --bind /mnt/dev /dev
和mount --bind /mnt/proc /proc/
。之后chroot
到/mnt
然后安装Grub,并使用这种方法,它起作用了。
什么mount --bind
命令呢?我熟悉--bind used
(man page)的用法,但我不知道为什么在这个例子中使用它。
Chr*_*own 10
proc
和sys
内核时没有运行,则不复存在-由运行内核提供的文件系统。这意味着当您 chroot 进入另一个操作系统时,这些文件系统不存在。许多程序希望它们存在以便它们可以运行,例如,它们可能需要有关正在运行的系统的信息,或者想要修改内核处理某些事情的方式。通常只需提供/proc
并/sys
从当前内核中提供这些程序按预期工作就足够了。
符号链接是不够的,因为 chroot 操作会使使用的文件路径无效。在 Linux 中,您也不能硬链接目录(除了.
和..
,由 提供mkdir
)。这意味着必须使用第三个选项将这些文件系统镜像到 chroot 环境——绑定挂载。绑定安装由内核直接提供,并在 chroot 中按预期工作。