You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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」,就选后面那个)

三、如果上面的方法还不行,试试这几个应急方案

  • 换个Ubuntu版本试试:有些新版Ubuntu(比如22.04+)对Legacy BIOS的兼容性有所收紧,你可以换成20.04 LTS版本,它对老Legacy设备的支持更稳
  • 检查目标硬盘的分区表:如果你的硬盘是GPT分区表,Legacy BIOS可能识别有问题,可以先把硬盘转成MBR分区表(注意!转分区表会清空所有数据,一定要先备份重要文件!)
  • 手动引导安装程序:在GRUB引导界面按c进入命令行,依次输入以下命令(注意根据你的U盘分区调整参数,一般hd0是U盘,msdos1是第一个分区):
    set root=(hd0,msdos1)
    linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu.iso noeject noprompt
    initrd /casper/initrd
    boot
    
    用这种手动方式绕开自动引导的UEFI逻辑,直接启动Legacy模式的安装程序

备注:内容来源于stack exchange,提问作者Devatrish

火山引擎 最新活动