![构建 uefi 安全启动 debian-USB](https://linux22.com/image/87378/%E6%9E%84%E5%BB%BA%20uefi%20%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%20debian-USB.png)
目标:具有 USB 安全启动功能的 Debian
我的进展基于一些链接
- rodsbooks efi-bootloaders 安装
- rodsbooks efi 引导加载程序 secureboot
- https://wiki.ubuntu.com/SecurityTeam/SecureBoot
到目前为止的步骤:
# download debian8.4-netinstall (official link)
wget http://cdimage.debian.org/debian-cd/8.4.0/amd64/iso-cd/debian-8.3.0-amd64-netinst.iso
mkdir debNet # extract iso
bsdtar -C debNet -xf debian-8.4.0-amd64-netinst.iso
ls debNet
>autorun.inf doc install pool README.txt
>boot efi install.amd README.html setup.exe
>css firmware isolinux README.mirrors.html tools
>debian g2ldr md5sum.txt README.mirrors.txt win32-loader.ini
>dists g2ldr.mbr pics README.source
正如 rodsbooks 所描述的,我现在应该
- 重命名
EFI/BOOT/bootx64.efi
为EFI/BOOT/grubx64.efi
- 搬去
shim.efi
EFI/BOOT/bootx64.efi
- 搬去
MokManager.efi
EFI/BOOT/
- 用钥匙和签名施展一些美妙的魔法,tadaa,你就完成了。
要制作可启动 USB,我执行以下步骤
sources="debNet"
outISO="debian8.4.0.modified.iso"
relative_isolinuxbin="isolinux/isolinux.bin"
xorriso -as mkisofs \
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
-c boot.cat \
-b $relative_isolinuxbin \
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot \
-e boot/grub/efi.img -no-emul-boot -isohybrid-gpt-basdat \
-o $outISO $sources
sudo dd if=debian8.4.0.modified.iso of=/dev/sdb
如果我知道我之前在做什么(只是让 uefi 运行),我会看到我使用 efi.img。因此花了一些时间尝试 debNet/efi/boot 发现添加或更改甚至删除这个目录根本不会改变启动。 (也许删除目录会损坏安装 - 没有尝试 - 但不会损坏启动)
所以,我终于明白我必须改变debNet/boot/grub/efi.img
。到目前为止,这是我的主要问题 - 如何根据我的需要创建这个 efi.img?
dd if=/dev/zero of=efi.img bs=1k count=3000
mkfs.vfat efi.img
sudo mount efi.img img_mountpoint/
并且按照 rodsbooks 中所述复制引导加载程序似乎不起作用。