Legacy BIOS设备安装Ubuntu失败求助:UEFI强制启动及指针越界报错
Legacy BIOS设备安装Ubuntu失败求助:UEFI强制启动及指针越界报错
别慌,我之前帮朋友处理过类似Legacy BIOS装Ubuntu的坑,给你几个针对性的排查和解决步骤:
一、先彻底把U盘做成纯Legacy BIOS启动模式
重新用Rufus制作镜像时,一定要盯紧这几个关键设置,别用默认选项:
- 打开Rufus后,先选对你的U盘,再导入Ubuntu ISO镜像
- 敲黑板!分区方案必须选
MBR(绝对不能是GPT),目标系统类型要手动选BIOS或UEFI-CSM(不同版本Rufus可能显示为“Legacy BIOS”) - 确认完这两个选项再点“开始”,制作过程中别拔U盘,等它跑完
为什么要这么死抠设置?因为如果分区方案是GPT,哪怕你选了BIOS模式,部分主板还是会优先触发UEFI引导逻辑,锁死MBR+Legacy目标类型才能让U盘只走纯BIOS引导。
二、解决删除EFI文件夹导致的指针越界报错
你手动删U盘里的EFI文件夹,直接破坏了Ubuntu镜像的文件完整性,这就是为什么会弹出452: out of range pointer: 0xbafff010报错的原因——安装程序依赖的关联文件被你删没了,自然会出现内存指针异常。
修复方法很简单:
- 按照上面的要求重新制作U盘镜像,绝对不要手动修改U盘里的任何系统文件夹(包括EFI文件夹)
- 制作完成后,进主板BIOS做这几个设置:
- 把「Secure Boot(安全启动)」彻底设为
Disabled(Legacy BIOS下可能叫Secure Boot Control) - 把「Boot Mode(启动模式)」设为
Legacy Only(别选UEFI或Auto,就选纯Legacy) - 选第一启动项时,注意挑不带「UEFI」前缀的U盘选项(比如有「Kingston DataTraveler UEFI」和「Kingston DataTraveler」,就选后面那个)
- 把「Secure Boot(安全启动)」彻底设为
三、如果上面的方法还不行,试试这几个应急方案
- 换个Ubuntu版本试试:有些新版Ubuntu(比如22.04+)对Legacy BIOS的兼容性有所收紧,你可以换成20.04 LTS版本,它对老Legacy设备的支持更稳
- 检查目标硬盘的分区表:如果你的硬盘是GPT分区表,Legacy BIOS可能识别有问题,可以先把硬盘转成MBR分区表(注意!转分区表会清空所有数据,一定要先备份重要文件!)
- 手动引导安装程序:在GRUB引导界面按
c进入命令行,依次输入以下命令(注意根据你的U盘分区调整参数,一般hd0是U盘,msdos1是第一个分区):
用这种手动方式绕开自动引导的UEFI逻辑,直接启动Legacy模式的安装程序set root=(hd0,msdos1) linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt initrd /casper/initrd boot
备注:内容来源于stack exchange,提问作者Devatrish




