Table of Contents
解决:安装 Linux 时出现 “No hard drives have been found”
问题描述
安装 Linux 时,安装程序提示:
No hard drives have been found.
You probably need to manually choose device drivers for the installation to succeed.
Would you like to select drivers now?
意思是安装程序没有识别到可用硬盘,可能需要手动选择或加载磁盘控制器驱动。
原因分析
常见原因是安装程序不支持当前硬盘控制器模式,尤其是在较旧的 Linux 发行版、旧内核、虚拟机默认 SCSI 磁盘,或实体机开启 SATA/AHCI 模式时更容易遇到。
如果是在虚拟机中安装,默认创建的硬盘可能是 SCSI 类型,而旧版安装程序未必能识别。可以改用 IDE 虚拟硬盘。
如果是在实体机上安装,可能需要在 BIOS 中把 SATA 控制器切换到兼容模式、传统模式或 IDE 模式,或者在安装时加载对应的 SATA/SCSI/RAID 控制器驱动。
解决方案
虚拟机
虚拟机默认创建的硬盘可能是 SCSI 类型。对于不支持该控制器的旧版 Linux 安装程序,可以改用 IDE 磁盘。
具体操作:
- 关闭虚拟机。
- 在虚拟机设置中删除当前的 SCSI 虚拟硬盘。
- 新增一个 IDE 类型的虚拟硬盘。
- 重新启动安装程序,再检查是否能识别硬盘。
注意:删除虚拟硬盘前请确认其中没有需要保留的数据。如果已有数据,先备份或改用“添加新 IDE 磁盘”的方式测试。
实体机
方案 1:加载 SATA/SCSI/RAID 驱动
找到主板、服务器或磁盘控制器对应的 SATA、SCSI 或 RAID 驱动,在安装程序提示加载驱动时手动载入。
这种方式通常适用于比较特殊或较旧的 Linux 版本,例如一些服务器发行版。新版本 Linux 内核一般已经自带大量 SATA/AHCI 驱动,所以厂家往往只为特定系统版本提供驱动,例如 RHEL 4/5、SUSE 企业版等。某些服务器主板或独立 RAID 卡也可能需要专用驱动。
方案 2:开启 SATA 兼容模式
进入 BIOS/UEFI,把 SATA 控制器模式从 AHCI、RAID 或 Enhanced 改为 Compatibility、Legacy、IDE 等兼容模式。
具体路径因主板不同而异,常见操作如下:
- 开机时按
F1、F2、Del或Esc进入 BIOS/UEFI。 - 找到类似
Config -> SATA、Storage Configuration、Integrated Peripherals的选项。 - 将 SATA 模式改为
Compatibility、Legacy或IDE。 - 保存设置并重启,再重新安装 Linux。
需要注意:如果原来的 Windows 是在 AHCI 或 RAID 模式下安装的,切换到 IDE/Compatibility 模式后,Windows 可能无法正常启动。是否需要修复或重装取决于 Windows 版本和驱动配置。兼容模式也可能损失 SATA/AHCI 的部分性能特性,例如 NCQ 等。
建议检查
如果条件允许,更推荐使用较新的 Linux 安装镜像,因为新版内核通常对 SATA/AHCI/NVMe 控制器支持更好。安装前也可以先进入安装环境或 Live 系统,执行以下命令检查硬盘是否被识别:
lsblk
lspci | grep -i -E 'sata|ahci|raid|scsi|nvme'
dmesg | grep -i -E 'sata|ahci|raid|scsi|nvme|disk'
如果 lsblk 看不到目标硬盘,优先检查 BIOS/UEFI 的磁盘模式、虚拟机磁盘类型,以及安装镜像是否过旧。
