恶心的 Secure Boot

Table of Contents

问题

今天下午不知道为什么十分手贱的在开机的时候进入了 BIOS setup 然后把 leagcy 引导关掉了,打开了 secure boot。

然后电脑就开始雪崩,我电脑的情况在 V2EX 上贴过了,这里就不重复贴内容了,V2EX 的问题详见脚注1

解决办法

寻找解决方案的过程

在开机启动的时候 BIOS 提醒我说 Ubuntu is blocked by current security policy.

然后我的 win7 也被提醒 Windows Boot Manager has been blocked by the current security policy.

然后按了两次 OK 然后机器开始 checking media , 然后我把我所有的启动盘都试了试,然后发现只有一个 ubuntn livecd 可以用。

然后进入到 live 系统,发现自己还是不知道如何修复这个问题,于是上 V2EX 提问。

然后在好心网友 (@fcicq) 的回复和自己通过搜索引擎2找的一些资料3,解决了这个问题,详细步骤在下面。

具体解决步骤

首先引导进入 livecd,然后连上网络,执行下面的这些命令:

sudo -i
apt-get update
apt-get install grub-efi-amd64-signed
mount /dev/sda3 /mnt #这里根据自己的分区来
mount /dev/sda1 /mnt/boot/efi #这里是 ESP 分区 视情况而定
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount --bind /proc /mnt/proc
chroot /mnt
grub-install /dev/sda --uefi-secure-boot
exit

然后根据在资料中找到的指示4,我下载了一个一些文件,包括一个 keys 文件夹 和一个 sb-setup 脚本,把他们放到 /tmp/sb-setup/ 下面, 然后用命令安装。

cd /tmp/sb-setup
chmod +x sb-setup
./sb-set enroll microsoft

然后重启电脑。应该就可以进入 grub 了。

最后一些小问题

因为某些不可知的原因,在重新引导进入系统后,我的电脑需要使用如下命令来修复一下软件包。

sudo aptitude install -f
sudo aptitude remove
sudo update-grub

还有一个问题,我在尝试引导 windows7 的时候出错了,错误信息挺多的,我也没有记全,大概是什么路径错误之类的乱七八糟的问题吧。

其实我也不是怎么用 windows7 加上智能车比赛已经结束,不需要我再打开 windows 7 来用 KEIL 写代码了,老师也暂时还没有布置 FPGA 作业,所以不急,这个问题慢慢来。

Footnotes:

2

竟然是百度你能信?因为 livecd 里面安装 ss 在每次重启后都会丢失,所以我也就懒得每次都安装 ss 了。

3

参考资料: SecurityTeam/SecureBoot - Ubuntu Wiki: https://wiki.ubuntu.com/SecurityTeam/SecureBoot UEFI/SecureBoot - Ubuntu Wiki: https://wiki.ubuntu.com/UEFI/SecureBoot

Date: <2016-06-11 Sat>

Author: Matrikslee

Created: 2017-05-29 Mon 17:56

Emacs 25.2.1 (Org mode 8.2.10)