UEFI専用のブータブルUSBライブメディアを作成する方法


107

Ubuntuを現在利用可能なWindows 8コンピューターにインストールする場合、両方の方法で起動できるライブメディアを持つことが問題になる可能性があります。

言い換えれば、UEFIのみのブータブルUSBライブメディアを作成する主な利点は次のとおりです。UEFIを介して確実に起動およびインストールされることを知っています。

Valveは、Debianベースの Steam OSとUNetbootin(UbuntuのStartup Disk Creatorの上位投票代替品)でUEFIのみのUSBインストーラーをすでに実行しているため、UEFI互換ではないため、誤解を招く可能性があります。 UEFI専用の起動可能なUSBライブメディアを作成します。

回答:


133

概要

UEFIのみの起動USBライブメディアの作成は簡単です。ファイルをFAT32形式の USBドライブにコピーするだけです。それでおしまい!

メディアをインストールまたは起動するには、次のことに注意してください。

目次

  • ISOメソッドからファイルをコピーする
    1. ターミナル経由の例
    2. GUI経由の例
    3. Windowsでの例
  • ISOループバック方式(高度)
    1. バイナリを作成する
    2. 構成ファイルの作成
    3. 永続性を追加する
    4. 整合性の確認
    5. UEFIセキュアブート

1. ISOメソッドからファイルをコピーします

この方法は、WindowsなどのEFIローダーを含む他のインストールメディアでも機能します。

1.1。ターミナル経由の例

604A-00EAUSBドライブが既にp7zipインストールされている場合は、次のようなことができます。

$ 7z x ubuntu-12.04-desktop-amd64.iso -o/media/$USER/604A-00EA/

このUSBドライブにパーティションが1つしかない場合は完了です。それ以外の場合は、次の方法でパーティションを起動可能としてフラグを立てる必要がありますparted

# parted /dev/sdX set 1 boot on

/dev/sdXUSBドライブと1ブートに使用するパーティション番号はどこにありますか。

1.2。GUI経由の例

  1. .isoファイルをマウントし、その内容をUSBドライブにコピーします。NautilusでCtrl+ Hを押して、隠しファイルも表示およびコピーします。

    .iso-fileが選択されたときにコンテキストメニューにディスクイメージマウンターを表示するnautilus

  2. GPartedを介してブートフラグを追加します。

    パーティションフラグの管理方法を示すGParted

1.3。Windowsでの例

  1. 上記と同じ、ファイルをコピーするだけです。
  2. Windows/Super+を押してX、ディスクの管理に移動し、パーティションがアクティブとしてマークされているかどうかを確認します。Windows 8より前のWindowsバージョンでは、Windows/Super+ Rを押して実行メニューを開きdiskmgmt.msc、を開くと、ディスクの管理が開きます。

2. ISOループバック方式(高度)

GRUBおよびGRUB2は、ISOイメージからコンテンツを抽出する代わりに、ループバックデバイスを介してISOイメージから直接起動できました。ISOイメージがUEFIブート可能であれば、USBドライブに混乱を生じさせることなく、異なるオペレーティングシステムで複数のISOを含むUSBドライブをセットアップできます。

Windowsも起動したい場合は、SARDUを調べてください。2005年頃にWindows PEで使用したことを思い出し、USBドライブとUEFIをサポートするように更新されたようですが、このツールはレガシーブートもサポートしていることを思い出してください。

私たちは何が必要なのか?

  • GRUB構成ファイルの非常に基本的な知識。
  • UEFIブートとGRUBの非常に基本的な知識。多くのモジュールが含まれた独自のGRUBブートローダーイメージを生成します。
  • UEFIブート可能ISOイメージ、FAT形式のUSBドライブ、およびLinuxを実行するマシン。
    • いいえ、LinuxのUEFIをインストールする必要はありません(これは鶏と卵の状況になる可能性があります)。VirtualBoxのような従来のLinux VMは問題ありません。

2.1。バイナリを作成する

UbuntuマシンまたはVMで、パッケージgrub-efi-amd64-binがインストールされていることを確認してください(grub-efi-ia32-binは、新しいリリースの32ビットIntelアーキテクチャでも利用可能です)。パッケージは別のディストリビューションで異なる名前を持っている場合があります。パッケージのファイルリストを比較して、ディストリビューションで適切なパッケージを見つけることができます。

次のコマンドは、GRUBイメージを生成します。この場合、UEFIファームウェアを搭載したすべてのコンピューターが実行できるEFIバイナリです。

grub-mkimage -o bootx64.efi -p /efi/boot -O x86_64-efi \
 fat iso9660 part_gpt part_msdos \
 normal boot linux configfile loopback chain \
 efifwsetup efi_gop efi_uga \
 ls search search_label search_fs_uuid search_fs_file \
 gfxterm gfxterm_background gfxterm_menu test all_video loadenv \
 exfat ext2 ntfs btrfs hfsplus udf

すべての標準 UEFIファームウェアは\EFI\BOOT\という名前のファイルを検索する必要があるためboot{arch}.efi、USBドライブにフォルダーを作成し、作成したばかりのイメージをこの場所にコピーします。x64の代わりに他のアーキテクチャも使用できますが、x64 / amd64でシンプルに保ちましょう。

2.2。構成ファイルの作成

次のようにgrub.cfg同じディレクトリに配置する必要がある構成ファイルの非常に基本的な例bootx64.efi

set timeout=3
set color_highlight=black/light-magenta

menuentry 'Boot Ubuntu 14.04.2 LTS from ISO' {
        set isofile="/efi/boot/ubuntu-14.04.2-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noprompt noeject quiet splash persistent --
        initrd (loop)/casper/initrd.lz
}
submenu 'Useful snippets' {
    menuentry 'Ubuntu' {
            chainloader /efi/ubuntu/grubx64.efi
    }
    menuentry 'Windows' {
            chainloader /efi/Microsoft/Boot/bootmgfw.efi
    }
    menuentry 'Firmware Setup' {
            fwsetup
    }
}

重要なのは、タイトル付きの構成ブロックBoot Ubuntu 14.04.2 LTS from ISOです。好みに合わせて色とタイムアウトを変更できます。black/light-magentaまだ少しUbuntuっぽいように見えますが、他の構成をチェーンロードするときに簡単に区別できるので、私は選びました。他のディストリビューションの例はArch Wikiで見つけることができます。GRUBマニュアルを読むことは、それ以上のことをしたい場合には本当に時間の価値があります。

構成ブロックに戻ると、ISOがとして参照されていることは明らかである/efi/boot/ubuntu-14.04.2-desktop-amd64.isoため、ISOをコピーし、構成内でISOの実際のファイル名に\EFI\BOOT\置き換えubuntu-14.04.2-desktop-amd64.isoます。

loopback loop $isofileこれは、Linuxカーネルを直接起動できるループバックデバイスにISOファイルをロードする行です。これは、EFI GRUBイメージにループバックモジュールが含まれているため可能です。(試行錯誤のビットを含めるのが妥当であるモジュールを考え出すに関与していた。あなたはすべてのエラーメッセージが表示されないはずです、それはしかし、まだ完璧ではありません。)カーネルといえば、あなたのようなカーネルパラメータを追加することができtoram、異なる言語のパラメータを、 (例locale=de_DE bootkbd=de)および例のように:persistent

2.3。永続性を追加する

永続化のためにパーティションを使用するライブUSBを取得するにはどうすればよいですか?」の説明に従って、パーティションを追加できますか?または、casper-rwファイルを作成して、USBドライブのルートに配置できます。

dd if=/dev/zero of=casper-rw bs=1M count=4094
mkfs.ext4 -m 0 casper-rw

絶対最大値をテストしていませんが、4094〜4096 MBの間にあるはずです。より多くのスペースを使用する場合は、パーティションを使用します。(ルート)へのすべての変更は、ファイルを削除する場合でも、オーバーレイファイルシステムの変更であることに注意してください。

2.4。整合性の確認

次の質問に対する回答を見て、USBドライブのLive ISOコンテンツが初期状態であることを確認する必要があります。

2.5。UEFIセキュアブート

Windows 10マシンではセキュアブートが必須になります。このセットアップにセキュアブート機能を追加するには、Linux FoundationのPreLoaderをご覧になることをお勧めします。これは、付随するHashToolのメニューを示すASCIIアートです


おめでとうございます、あなたは今UEFIブートをマスターしているので、もう恐れる必要はありません。


1
(a)過去5年以内に出荷されたすべてのPCにこの機能があることを指摘させてください。(b).isoインストーラールートは、通常の永続ストレージとしてフルusbスティックを使用できること。(誤った削除から保護するためにroマウントオプションを使用します。)最新のPCおよび一般的な使用パターンでは、これはlive-usb-creatorのデフォルトソリューションよりも優れたソリューションのようです。
user1539216 14

3
GUIメソッドを使用しているときに、シンボリックリンクエラーが発生しました。これは関連していますか?詳しく説明してもらえますか?
VRR

1
こんにちは、LiveWireBT!興味深い回答ありがとうございます!! 2に従いました。ISOループバック方式(高度)で、USBフラッシュドライブからUEFIブートを管理しました。しかし、ブートの最後にエラーメッセージが表示さ れました。/dev/loop2を/ cowにマウントできません。Enterキーを押した後、(initramfs)プロンプトが表示されました。手伝ってくれませんか?
ズバ

素晴らしいガイドをありがとうございます。それは明確で簡潔でした。サムドライブをパーティション分割して複数のOSを搭載することすら考えもしませんでした。再度、感謝します!
ハテム

2
少なくとも16.04では、grub.cfgカーネル行引数「file = / cdrom / preseed / ubuntu.seed」が原因で「すべてのファイルをコピー」が起動に失敗します。このようなファイルはありません。おそらく、前述の欠落したシンボリックリンク(ubuntuから。)に関連しています。grub.cfgを編集してfile = ...を削除し、「live-media-path = / casper / ignore_uuid」に
置き換えます-ubfan1

3

ISOファイルからFAT32に抽出する

Ubuntu 64ビットデスクトップISOファイルのコンテンツをFAT32ファイルシステムとブートフラグのあるパーティションに抽出すると、UEFIモードでのみ起動するライブドライブを作成するという仕事ができます。ここでは、「ISOメソッドからファイルをコピーする」と呼ばれます(受け入れられた回答で)。

UEFIまたはBIOSモードで実行されているかどうかをテストします

ただし、UEFIモードまたはBIOSモードで起動した場合、実行中のUbuntuシステム(ライブおよびインストール済み)で簡単にテストできます。このコマンドラインを実行し、

test -d /sys/firmware/efi && echo efi || echo bios

これにより、両方のブートモードで使用できるライブシステムを簡単に使用できます。

メソッドの詳細な説明と説明については、次のリンクも参照してください。

help.ubuntu.com/community/Installation/iso2usb

help.ubuntu.com/community/Installation/iso2usb/diy


2

使用してdd私のために働いた、何らかの理由で、GUIのバージョンは動作しませんでした。そのため、最初にddddの進行状況を監視したい場合があります。別のオプションはSIGUSR1オプションを使用してトリガーし、定期的に進行状況を報告しますが、これはsよりも複雑ですpv

次に:

sudo dd if=path/to/image/file | pv | sudo dd of=/dev/device_you_want_to_use

/dev/device_you_want_to_use通常はになりますが/dev/sdb、確認してくださいdf!)


8
この方法でメディアを作成しても、UEFI のみのブータブルメディアにはなりません。質問の最後の段落に重点が置かれています:「UEFIのみの起動USBライブメディアを作成することには1つの利点があります。UEFIを介して確実に起動することはわかっています。」UEFIで起動可能なUbuntuインストールを理解してセットアップしようとすると、両方の方法で起動できるメディアを持つことが問題になります。
LiveWireBT

1
そうですか。奇妙なことは、この方法で、UEFIモードで起動するイメージを作成できたことです(ラップトップはuefiブートのみを許可するように設定されていたため、初期画面でもあることを知っています)。答えは私にはうまくいきませんでした。コンピューターはファイルをコピーするだけで作成されたイメージで起動しませんでした。
sup 14

5
@supこのメソッドは、UEFIブート可能なメディアを作成します。問題は、質問で要求されているように、UEFIブート可能だけでなく、BIOSモードでブートできることです。
ダラエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.