我正在运行 Debian 系统,今天我运行了 aptitude safe-upgrade。我已经有一段时间没用它了,所以它下载并安装了很多东西,包括一个新的内核映像。
一切看上去都安装良好。
但是重启后我的系统无法启动。报告内核崩溃错误和“没有文件系统可以挂载根目录,已尝试:”消息。
当我通过 Knoppix live CD 启动并运行 fdisk -l 时,它显示我的磁盘列为 sda1。这让我很惊讶,因为它是一个 IDE 驱动器,而我的 fstab 和 lilo conf 文件配置为使用 hda1。
我尝试通过 Live CD 调整 fstab 和 lilo.conf(并运行 lilo)。现在,当我重新启动系统时,它会进入“BusyBox”,并出现一大堆“安装”错误。
这让我想知道是否出于某种原因 Knoppix live CD 会将磁盘显示为 sda,但 debian 仍然需要 hda?(顺便说一下,我确实尝试过这个,但在 liveCD 下运行 lilo 会抱怨没有 /dev/hda)
编辑:根据这篇文章: http://www.mail-archive.com/[电子邮件保护]/msg11998.html 这可能与更新的内核支持不同的 IDE 驱动器命名约定有关.... 嗯,也许这是放弃 lilo 并尝试运行 grub 的好时机?还有其他建议吗?
答案1
好的,我找到了答案。
如下所述:
http://kernelnewbies.org/Linux_2_6_19#head-cdcbaa9c1b476decdc064e0a75d23d1328b1ddce
内核更新 2.6.19 修改了 IDE 子系统,从而改变了 IDE 设备的定义方式。因此,磁盘将显示为 sda,而不是 hda。
驱动器显示为 /dev/sda、/dev/sr0,旧设备名称将不起作用。您需要更改启动参数和 /etc/fstab 参数才能使用新驱动程序获得正常工作的系统。同样,这只有在您使用新驱动程序时才会发生,旧驱动程序将继续像以前一样工作。
我的测试系统运行的是与 Knoppix live CD 相比较旧的内核版本。从 live CD 启动时,它使用新内核,因此驱动器现在显示为 sda1
对于找到此页面寻求解决方案的人来说,上述网站还指出:
这意味着 2.6.19 可能有两个适用于您的基于 PATA 的设备的驱动程序:“设备驱动程序 -> ATA/ATAPI/MFM/RLL 支持”下的旧 IDE 驱动程序和“设备驱动程序 -> 串行 ATA (prod) 和并行 ATA (实验) 驱动程序”下的备用驱动程序(以及其余的 SATA 驱动程序)
您必须选择哪一个?好吧,安全选项是使用旧驱动程序:旧驱动程序将继续像以前一样工作。如果您继续使用旧驱动程序,则不会有任何变化。
答案2
发生在我身上的一件事是,我删除了一个驱动器,并且磁盘列表发生了变化,因此 fstab 无法找到正确的磁盘 - 可能是这样的吗?