在具有旧BIOS和Linux OS的计算机上,将NVME SSD用作系统驱动器

图片

如果配置正确,即使在较旧的系统上,也可以从NVME SSD引导。 假定操作系统(OS)可以与NVME SSD一起使用。 我考虑使用OS加载,因为通过OS中可用的NVME驱动程序,SSD在加载后在OS中可见并且可以使用。 不需要用于Linux的附加软件(软件)。 对于BSD系列和其他Unix操作系统,该方法也很可能适用。

要从驱动器引导,引导程序(BIOS),BIOS或EFI(UEFI)必须包含此设备的驱动程序。 与BIOS相比,NVME SSD是相当新的设备,并且旧主板的固件中没有此类驱动程序。 在EFI中,如果没有NVME SSD支持,则可以添加适当的代码,然后就可以完全使用此设备了-您可以安装操作系统并加载它。 对于具有所谓的旧系统 通过加载操作系统不太可能完成“旧版BIOS”。 但是,可以避免这种情况。

怎么办


我使用了openSUSE Leap 15.1。 对于其他Linux,操作将大致相同。

1.准备计算机以安装操作系统。
您需要一台具有免费PCI-E 4x连接器或更长时间的PC或服务器,无论哪个版本,PCI-E 1.0都足够。 当然,PCI-E版本越新,速度就越高。 好吧,实际上是带有适配器M.2-PCI-E 4x的NVME SSD。
您还需要某种容量为300 MB或更大的驱动器,该驱动器可从BIOS中看到,并可从中加载操作系统。 它可以是通过IDE,SATA,SCSI连接的硬盘。 SAS。 或USB闪存驱动器或存储卡。 它不适合放在软盘上。 CD-ROM无法工作,需要重写。 DVD-RAM-不知道。 让我们将其称为“旧版BIOS驱动器”。

2.下载Linux以进行安装(从光盘或可引导闪存驱动器等)。

3.标记磁盘时,我们会将操作系统分发到可用的驱动器:
3.1。 在大小为8 MB的“旧版BIOS驱动器”的开头为GRUB引导加载程序创建一个分区。 我注意到在这里我们在单独的部分中使用openSUSE功能-GRUB。 对于openSUSE,默认情况下使用BTRFS文件系统(FS)。 如果将GRUB放在具有BTRFS FS的分区上,则系统将不会启动。 因此,使用单独的部分。 如果仅加载了GRUB,则可以将其放置在其他位置。
3.2。 在使用GRUB进行分区之后,使用系统文件夹的一部分(“根”)创建一个分区,该分区的大小为300 MB,即“ / boot /”。
3.3。 剩下的好-系统文件夹的其余部分,交换分区,用户分区“ / home /”(如果您决定创建一个分区)可以放在NVME SSD上。

安装后,系统加载GRUB,GRUB从/ boot /下载文件,此后NVME SSD可用,然后系统从NVME SSD引导。
在实践中,我获得了极大的进步。

“旧版BIOS驱动器”的容量要求:GRUB分区的默认容量为8 MB,/ boot /的容量约为200 MB。 我用了300 MB的余量。 当更新内核时(和安装新内核时),Linux将用新文件补充/ boot /部分,同时删除更多不必要的内核,这将释放空间。 这两个部分之外的“旧版BIOS驱动器”上的剩余空间可以自行决定使用。

速度和成本估算


NVME SSD 128 GB的价格-约2000 p。
M.2适配器-PCI-E 4x的价格约为500 p。
M.2适配器也有售-用于四个NVME SSD驱动器的PCI-E 16x,价格从3000卢比起。 -如果有人需要。

速度限制:
PCI-E 3.0 4x约3900 MB / s
PCI-E 2.0 4x 2000 MB /秒
PCI-E 1.0 4x 1000 MB /秒
实际上,使用PCI-E 3.0 4x的驱动器的速度约为3500 MB / s。
可以假定可达到的速度如下:
PCI-E 3.0 4x约3500 MB / s
PCI-E 2.0 4x约1800 MB / s
PCI-E 1.0 4x约900 MB / s

这比SATA 600 MB / s更快。 SATA 600 MB / s的可达到速度约为550 MB / s。
同时,在较旧的主板上,板载控制器SATA速度可能不是600 MB / s,而是300 MB / s或150 MB / s。 此处,板载控制器=集成在芯片组南桥中的SATA控制器。

我注意到NCQ将可用于NVME SSD,但对于较旧的板载控制器可能并非如此。

我对PCI-E 4x进行了计算,但是,某些驱动器具有PCI-E 2x总线。 这对于PCI-E 3.0足够了,但是对于较旧的PCI-E标准(2.0和1.0),最好不要采用这样的NVME SSD。 同样,带有内存芯片形式的缓冲区的驱动器将比没有它的驱动器快。

对于那些想完全放弃板载SATA控制器的用户,建议您使用Asmedia ASM 106x控制器(1061和其他控制器),该控制器提供两个SATA 600端口(内部或外部)。 它运行良好(更新固件后),在AHCI模式下它支持NCQ。 它通过PCI-E 2.0 1x总线连接。

其最大速度:
PCI-E 2.0 1x 500 MB /秒
PCI-E 1.0 1x 250 MB /秒
可以达到的速度将是这样的:
PCI-E 2.0 1x 460 MB /秒
PCI-E 1.0 1x 280 MB /秒

一个SATA SSD或两个硬盘驱动器就足够了。

缺点


1. NVME SSD不会读取SMART参数 ,只有制造商的常规数据,序列号等。 可能是由于主板太旧(mp)。 对于我的人类实验,我使用了nForce4芯片组可以找到的最古老的mp。

2. TRIM应该起作用,但是应该检查一下。

结论


还有其他选择:购买带有PCI-E 4x或8x连接器的SAS控制器(是否有16x或32x?)。 但是,如果价格便宜,则它们支持SAS 600,而SATA仅300,而昂贵的SATA将比上述方法更昂贵,更慢。

与M $ Windows一起使用时,您可以安装其他软件-带有用于NVME SSD的内置驱动程序的引导程序。

看这里:
www.win-raid.com/t871f50-Guide-How-to-get-full-NVMe-support-for-all-Systems-with-an-AMI-UEFI-BIOS.html
www.win-raid.com/t3286f50-Guide-NVMe-boot-for-systems-with-legacy-BIOS-and-older-UEFI-DUET-REFIND.html
forum.overclockers.ua/viewtopic.php?t=185732
pcportal.org/forum/51-9843-1
mrlithium.blogspot.com/2015/12/how-to-boot-nvme-ssd-from-legacy-bios.html

我建议读者自己评估自己是否需要这样的NVME SSD应用,还是最好购买带有现有M.2 PCI-E连接器并支持从NVME SSD下载到EFI的新主板(+处理器+内存)。

Source: https://habr.com/ru/post/zh-CN472068/


All Articles