我试图在 Dell T7500 上安装 Ubuntu 10.10 桌面版,该电脑有两个 SAS 硬盘,采用硬件 RAID 0。从 CD 运行一切正常。安装过程一切正常。我已为 /、/usr、/home 等配置了几个不同的文件系统。问题是,安装后重新启动时,在 initrd 期间系统会抱怨“ALERT /dev/sda1 不存在,进入 shell”。在 initramfs shell 中,我能够成功挂载所有分区。有人能告诉我可能出了什么问题或如何诊断这个问题吗?
答案1
如果您使用的是 SCSI 附加存储,则 CD 可能已为安装过程加载了正确的内核模块,但安装过程未将 SCSI 驱动程序编译到内核中。CD 驱动器可能是 SATA,它已编译到从 CD 加载的内核中(这就是您可以从它启动的原因)。如果将 SCSI 驱动程序编译为模块,则内核无法看到启动设备。
再次从 CD 启动并运行 lspci 和 lsmod 以查找您的 SCSI 驱动程序模块。挂载您的分区并 apt-get 您的内核源。将您当前的内核配置从 /boot 复制到内核源目录中作为 .config。现在在 .config 中找到您的 SCSI 驱动程序并将其从 M 更改为 Y,然后重新编译内核并替换您现有的内核。
答案2
我整个周末都在为这个完全相同的问题而苦苦挣扎!就我而言,我在一台带有 IBM Raid 卡的 IBM x336 服务器上安装 10.10。我会收到与您相同的警报错误,但它也提示我检查是否有足够的时间找到 /dev/sda1 处的根驱动器。事实证明,我必须在 grub 中添加 rootdelay=180,以便等待更长时间才能检测到磁盘。IBM raid 卡的某些问题会导致磁盘实际准备好并可供操作系统使用时出现延迟。默认情况下,它只等待 30 秒,这没有给 raid 卡足够的时间,从而导致“未找到 /dev/sda1”。