linux – 这些命令是什么?

昨天我不得不安装一个带有Grub覆盖的Windows.

好吧,这不是我第一次修复Grub,所以我使用LiveCD,挂载根分区(我没有启动,只是/和home)并运行grub-install –root-directory = / mnt // dev / sda上.但是,它没有用.

谷歌搜索了一段时间后,我发现了一个教程,其中不仅仅是挂载Linux分区,他还安装了–bind / mnt / dev / dev和mount –bind / mnt / proc / proc /.之后chroot到/ mnt然后安装了Grub,并使用这种方法,它工作.

什么是mount –bind命令?我熟悉使用的–bind(手册页),但我不知道为什么在这个例子中使用它.

解决方法:

proc和sys文件系统由运行的内核提供 – 当内核未运行时,它们不再存在.这意味着当您chroot到另一个操作系统时,这些文件系统不存在.许多程序希望它们存在以便它们可以运行,例如,它们可能需要有关正在运行的系统的信息,或者想要修改内核处理某些内容的方式.通常只需从当前内核提供/ proc和/ sys即可使这些程序按预期工作.

符号链接是不够的,因为chrooting的行为会使使用的文件路径无效.在Linux中,您也不能硬链接目录(除了.和..,由mkdir提供).这意味着必须使用第三个选项将这些文件系统镜像到chrooted环境 – 绑定安装.内核直接提供绑定装载,并在chroot中按预期工作.

上一篇:引导与服务控制实验


下一篇:实验三:误删boot恢复