Ubuntu 14.04添加noxsave至Grub报错,求禁用AVX解决方案
嘿,我来帮你搞定这两个问题!
一、关于grub添加noxsave报错的问题
你遇到的noxsave: not found错误,根源是错误的参数添加方式:
/etc/default/grub本质是一个shell脚本,update-grub执行时会解析这个文件里的内容。你直接把noxsave单独写在文件末尾,会被当成一条shell命令来执行,系统自然找不到这个命令,所以报错。
正确的操作方式是:
找到文件里的GRUB_CMDLINE_LINUX_DEFAULT或GRUB_CMDLINE_LINUX变量,把noxsave参数追加到变量的引号内部。比如:
- 原内容可能是:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" - 修改后:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noxsave"
如果GRUB_CMDLINE_LINUX是空值,也可以把参数加在这里:GRUB_CMDLINE_LINUX="noxsave"
修改完成后再执行sudo update-grub,就不会报错了,重启系统后参数会生效。
二、编译C文件时禁用AVX指令的编译标志
当然有对应的编译选项,分编译器情况说明:
- GCC编译器:使用
-mno-avx可以禁用基础AVX指令集,如果需要同时禁用AVX2、AVX-512等扩展指令,可追加-mno-avx2、-mno-avx512f等参数。
实际编译示例:gcc -mno-avx -mno-avx2 your_file.c -o your_program - Clang编译器:兼容大部分GCC的编译选项,上述参数同样适用。
- Makefile配置:如果用Makefile管理编译,直接在CFLAGS里添加这些选项即可:
CFLAGS += -mno-avx -mno-avx2
内容的提问来源于stack exchange,提问作者PAPAmidNIGHT




