我希望有人能帮助我解决以下问题。我一直在尝试为 UEFI shell 编译 fdisk,文件位于
https://sourceforge.net/projects/uefi-fdisk/
按照自述文件中的说明,我正在运行“make”命令
但我收到以下错误
./configure:未找到
我不是 Linux 专业人士,如果能得到任何帮助我都很感激。
如果你们有人能编译它,请链接进来,这样我就可以下载。谢谢
我希望有人能帮助我解决以下问题。我一直在尝试为 UEFI shell 编译 fdisk,文件位于
https://sourceforge.net/projects/uefi-fdisk/
按照自述文件中的说明,我正在运行“make”命令
但我收到以下错误
./configure:未找到
我不是 Linux 专业人士,如果能得到任何帮助我都很感激。
如果你们有人能编译它,请链接进来,这样我就可以下载。谢谢
请注意,https://sourceforge.net/projects/uefi-fdisk/上次更新于 2020-04-10,
util-linux
此后一直在稳步开发。因此,它的较新版本可能已变得不兼容,最好使用 README 文件中提到的确切版本:可以在https://github.com/util-linux/util-linux/archive/refs/tags/v2.34.tar.gz找到它。首先让我们解开
util-linux
:此时,我查看了
util-linux
源代码的根目录。确实,它没有configure
脚本……但有configure.ac
和autogen.sh
。凭借对的一点经验autoconf
,我知道这是通常会从中autogen.sh
产生的脚本。./configure
configure.ac
因此,此时偏离 uefi-fdisk README 中的说明并运行可能会有所帮助
./autogen.sh
:现在我们在目录
./configure
中有了预期的内容util-linux-2.34
。现在我们可以继续执行 README 中的其余说明:README 声称任何 3.x 版本的 GNU-EFI 都应该可以运行,所以让我们尝试最新版本:
注意:不要将
gnu-efi-3.0.18.tar.bz2
包留在uefi-0.6
目录中,这似乎很重要。这样做会导致构建过程中出错。只需将压缩文件保存在其他地方,或在解压后删除它们。现在终于可以运行了:
看起来不错。
嘿,成功了!
请注意,如果您的目标系统已启用安全启动,则您需要先对
fdisk.efi
二进制文件进行签名,然后才能运行它。尝试*.efi
在启用安全启动的系统中运行未签名的文件可能会产生错误消息,或者系统可能会假装该文件不存在或不可执行。如果您不想禁用安全启动,则必须在配置了机器所有者密钥 (MOK) 的
fdisk.efi
环境下运行您的程序,并使用 MOK 私钥对您的程序进行签名。shimx64.efi
fdisk.efi
另一种方法是控制安全启动密钥层次结构,并将签名密钥的公共部分添加到安全启动变量
db
。如果您的“BIOS 设置”菜单没有提供直接插入密钥的方法,则可能必须删除安全启动主密钥 (PK
),这将启用安全启动设置模式,在该模式下,您应该能够无限制地修改任何安全启动变量。如果您选择这种方式,请记住在完成后将您的安全启动公钥添加为新公钥PK
,以重新保护系统。