Super UEFIinSecureBoot Diskを使って、Secure Bootが有効化されたPCでNetBSD/amd64を起動させてみる

これは、NetBSD Advent Calendar 2020の15日目の記事です。

はじめに

UEFIな環境のPCでNetBSD/amd64を起動させる場合には、Secure Bootを無効にするようにBIOS設定画面で設定しておく必要があります。 ですが、Secure Bootを無効にしないで起動する方法はないかと思っていました。 GitHUb.comを見ていると、Super UEFIinSecureBoot Diskというのを 見つけました。 Red Hat社がFedore Linux用に用意しているSecure Bootに対応したブートローダーを利用した仕組みのようです。 既にSecure Boot無効な状態でインストール済みのPCで、Secure Bootを有効にし、起動できることを確認しました。 試したPCは、Dell XPS 13 9300です。

Super UEFIinSecureBoot Diskを入手する

現在のSuper UEFIinSecureBoot Diskのバージョンは3のようです。 https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk/releases/tag/3から、 Super-UEFIinSecureBoot-Disk_v3.zipファイルをダウンロードしました。 ですが、Super-UEFIinSecureBoot-Disk_minimal_v3.zipファイルでも問題ないかと思います。 以下のようにUSBスティックに書き込んでおきます。

$ unzip Super-UEFIinSecureBoot-Disk_v3.zip
Archive:  Super-UEFIinSecureBoot-Disk_v3.zip
 extracting: Super-UEFIinSecureBoot-Disk.img
# dd if=Super-UEFIinSecureBoot-Disk.img of=/dev/sd0d

ここで再起動し、BIOS設定画面に入り、Secure Bootを有効にしておきました。

このままNetBSD/amd64を起動させると、以下のようなエラーメッセージで起動できませんでした。 Secure Bootが有効になっていることが分かります。

Operating System Loader has no signature. Imcompatible with SecureBoot.

USBスティックから起動させます。 初回は、hashとkeyを登録するように求められますので、促されるようにインストールしておきます。

ブートセレクターが表示されたら、cを入力してコマンド入力画面に切り替えます。 その上で以下のように実行することで、NetBSD/amd64のブートローダーを起動でき、NetBSDを起動できました。

> insmod fat
> chainloader (hd1,gpt1)/efi/boot/bootx64.efi
> boot

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

Windows 11でwgetを使ってhttpsなウェブサイトから情報を取得する

Windows 11でhttpsなウェブサイトから情報を取得したいのだが、ウェブ上にある多くの古いwgetのWindows用のバイナリーは、TLS 1.2以降に対応しておらず私の接続先には利用できなかった。 また、このwgetを動かす環境は、ユーザー認証付きのHTTPプ...