无需刷BIOS,使用efi-shell与NVMe驱动在老电脑上启动NVMe系统

需积分: 0 334 下载量 35 浏览量 更新于2024-10-21 5 收藏 498KB ZIP 举报
资源摘要信息:"efishell+nvme驱动+启动脚本" 1. UEFI与EFI Shell简介 UEFI(统一的可扩展固件接口)是传统的BIOS的后继者,提供了一种现代计算机启动和运行操作系统前的接口标准。而EFI Shell是UEFI环境下的一个命令行界面,允许用户执行各种命令来控制硬件设备或启动系统。 2. NVMe(Non-Volatile Memory Express) NVMe是一种为固态驱动器(SSD)设计的计算机存储总线和驱动器接口规范,它旨在实现固态驱动器的高性能和高效率。与传统SATA接口相比,NVMe通过使用PCI Express(PCIe)总线提供更快的数据传输速度。 3. SATA ESP分区 SATA ESP(EFI系统分区)是存在于SATA硬盘上的一个特殊分区,按照UEFI标准格式化。它包含了启动固件所需的信息和文件,以便于UEFI兼容的系统从该分区启动。 4. 老电脑不刷BIOS启动NVMe硬盘系统的需求 对于某些较老的电脑,它们可能不支持直接从NVMe硬盘启动,因为它们的BIOS/UEFI固件可能不支持NVMe启动或有其他限制。在此情况下,如果用户不愿或不能更新BIOS/UEFI固件,就需要通过其他方法实现启动需求。 5. 利用EFI Shell和NVMe驱动启动脚本的方法 为了在不更新BIOS/UEFI固件的情况下启动NVMe硬盘上的系统,可以使用EFI Shell结合特定的NVMe驱动和启动脚本。这种方法包括以下步骤: - 准备EFI Shell:将EFI Shell的二进制文件放置在SATA ESP分区中。 - 准备NVMe驱动:NvmExpressDxe是一种EFI驱动,用于支持NVMe设备。将此驱动文件放置在SATA ESP分区中。 - 创建启动脚本:启动脚本(例如startup.nsh)可以指定在启动时先加载NVMe驱动,然后从NVMe硬盘启动系统。脚本中会包含加载NvmExpressDxe驱动的命令,以及启动操作系统的命令。 6. 文件名称列表解析 - startup.nsh:这是一个启动脚本文件,用于在启动过程中执行指定的命令,如加载NVMe驱动和启动系统。 - efi-shell:这是EFI Shell的二进制文件,用于加载和执行startup.nsh脚本。 - NvmExpressDxe:这是一个EFI驱动文件,支持UEFI环境下的NVMe设备,必须在操作系统加载前加载。 7. 启动过程中的命令说明 在startup.nsh文件中,通常包含以下命令: - fs0: 这个命令将EFI Shell的当前工作目录切换到ESP分区。 - map -r:这个命令重新扫描当前系统的所有EFI可识别的设备。 - load NvmExpressDxe.efi:这个命令加载NVMe驱动,使其生效。 - fs0:\EFI\Microsoft\Boot\bootmgfw.efi /f 2000:这个命令加载并启动位于ESP分区的Windows启动管理器。其中,/f参数指定内存分配给启动管理器的大小,2000是一个示例值,根据具体情况进行调整。 8. 注意事项 使用此方法启动系统时,需要确保SATA ESP分区中有所有必要的文件,包括EFI Shell、NVMe驱动文件和操作系统的启动管理器。同时,老电脑的硬件配置必须能够满足启动NVMe硬盘上系统的基本要求。 9. 可能的局限性 即使采用了EFI Shell和NVMe驱动结合的方法,仍有可能受到老电脑硬件和固件的限制。例如,某些电脑可能由于硬件设计或固件限制,无法通过这种方式启动NVMe硬盘上的系统。因此,在实施前需仔细确认硬件兼容性。 总结而言,efishell+nvme驱动+启动脚本这套方法提供了一种可能性,让老旧电脑的用户能够在不刷写BIOS/UEFI固件的前提下,通过SATA ESP分区启动安装在NVMe硬盘上的系统。这对不希望或无法进行固件更新的用户来说是一个实用的解决方案,但它要求用户对UEFI环境和启动过程有一定的了解。