![lilo 启动时如何找到 /sbin/init](https://linux22.com/image/1372944/lilo%20%E5%90%AF%E5%8A%A8%E6%97%B6%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%20%2Fsbin%2Finit.png)
我刚刚克隆了我的根分区(准备进行 dist-upgrade),更改了 lilo.conf 和 fstab(在克隆的分区中)并运行了 lilo。
但遗憾的是,系统无法从克隆的分区启动。我可以看到几页毫无可疑的内核消息,然后它就停止了。
由于某种原因,我尝试从好的分区启动,但init=/bin/sh
系统再次无法启动,并停在相同的内核消息上。这让我相信“init 出了问题”。
因此我决定扭转局面,init=/sbin/init
从“坏”分区启动时通过,这确实有效 - 系统启动正常。
但我不明白这里发生了什么。有人能解释一下吗?
这是我的 lilo,conf
# Automatically added by lilo postinst script
large-memory
lba32
boot=/dev/sda
root=/dev/sda3
install=/boot/boot.b
prompt
delay=30
timeout=30
vga=normal
default="Linux-3.8.2"
image=/boot/vmlinuz-3.8.2-ext4
root=/dev/sda3
label="Linux-3.8.2"
vga=0x317
image=/boot/vmlinuz-3.8.2-ext4
root=/dev/sdd3
label="Linux-3.8.2-bak"
vga=0x317
编辑:这些是内核消息
[ 3.258242] sd 6:0:0:1: [sdf] Assuming drive cache: write through
[ 3.262845] sd 6:0:0:1: [sdf] Attached SCSI removable disk
如果它停止了,那么在这一点上,我将看不到这些:
[ 3.490096] firewire_core 0000:07:06.0: created device fw0: GUID 00ca308600001a4d, S400
[ 3.513091] nvidia: module license 'NVIDIA' taints kernel.
[ 3.517657] Disabling lock debugging due to kernel taint
[ 3.818951] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[ 3.823236] NVRM: loading NVIDIA UNIX x86 Kernel Module 310.40 Sun Mar 3 20:44:11 PST 2013