1
hardware 2016-05-12 21:09:12 +08:00
善于使用 google 和 man 命令 是每一个 linux 用户必备的技能
|
2
fiepi 2016-05-12 21:27:26 +08:00 via Android
如果你装过 arch 你就能理解了, arch-chroot /mnt
|
3
ayaseangle 2016-05-12 21:31:01 +08:00 via Android
应该是临时提供一个 root 环境,而没有挂载根硬盘。
|
4
zent00 2016-05-12 22:17:40 +08:00
简单来说,前三步将 /proc /dev /sys 这些目录挂载到目标系统的对应目录下,最后 chroot 到目标系统, chroot 的意思就是 change root ,也就是切换到目标系统,将当前系统的 / 切换到目标系统的 /
iso 和硬盘上的系统没有什么关系,通常使用 iso 是因为硬盘上的系统已经无法正常启动了,我们只是借助 iso 引导来获得一个正常运行的系统环境(Live System),借助这个系统切换到硬盘上已有的系统,便于进行一系列的修复动作。 |
7
zent00 2016-05-13 12:44:55 +08:00 via iPhone
@pythonee 因为这三个目录是在系统启动过程中生成的,由于目标系统没有经过正常的引导过程,没有生成并挂载这三个目录,所以需要将现有的 live system 内的这三个目录挂载到目标系统的对应目录下。
这三个目录的内容不是保存在硬盘上,而是由内核自动生成。 建议你安装一次 Gentoo 或 LFS 这类系统,你会对 chroot 操作,还有 /proc /dev 这些虚拟文件系统有更深刻的认识。 PS: 不是要你用 Gentoo/LFS 作为日常使用,只需要你安装一次,并理解安装过程中每个步骤的意义。如果只是照着手册复制粘贴,那还是别浪费时间了。 |
8
Neveroldmilk 2016-05-13 15:45:51 +08:00
根 WinPEts 一样,依靠加载介质上的系统核心提供精简功能,以便恢复硬盘上瘫痪的系统。
|
9
julyclyde 2016-05-13 18:08:32 +08:00
本机修复:
single 模式,简称 s ,或者叫 1 ,在古代 sysvinit 体系里,是一个 runlevel 的名字 sysvinit 体系里,启动分为 rc.init 和 rc{runlevel}.d 两个阶段,前者是共用的,后者其中 rc1.d 就是单用户模式的启动过程,启动 sulogin 给你个 shell 用 Live 启动: 一般是内核命令行加 rescue 这个词,然后在启动过程中判断 /proc/cmdline 里是否有这个词,如果有的话就进入 sulogin 。此种做法和 runlevel 没啥关系 |