Help us understand the problem. What is going on with this article?

UEFIで起動するUSB3メモリが作れました

More than 3 years have passed since last update.

普段Windowsを使っているデスクトップPCですが、Ubuntuで仮想マシンを使った実験がしたくてUSB起動ディスクを作成しようとしたのですが、単にUSB3メモリへUbuntuをインストールしただけだと起動ディスクとして認識しない場合があるようです。

私の場合は、MBRブートなPCで作ったUSB3メモリだったためUEFIブートなUSBになっていなかったようでした。

以下のページを参考にしてEFIブートローダをUSB3メモリに置くと、USB3メモリであっても期待通りの起動するディスクになりました。

以下、まんまパクリですが、その手順をおさらいしておきます。

私の環境

  • ASUS P8Z68-M Pro(使用するPC)UEFIブート、通常Windowsで使用
  • Intel DH57JG(実験用Ubuntu Live USBを作るPC)MBRブート、通常Windowsで使用
  • Ubuntu 14.04 LTS(実験用Ubuntu/インストーラUbuntu)
  • USBメモリを2つ(インストーラ用USB2メモリ、インストール先用USB3メモリ)

参考

私の手順

インストーラ用USBメモリにUbuntuを焼く

インストーラ用USBメモリにUbuntuを焼きこみます。私はホストOSであるWindowsでunetbootin-windows-608.exeを使いUbuntu 14.04 LTSを焼きました。

以下、Intel DH57JGにおける作業になります。

インストーラ用USBメモリで起動し、インストール先用USBメモリのパーティションを再構築します

GPartedを使って、インストール先用USBメモリのパーティションをマニュアル構成します。

  • /dev/sd?1: fat32 128MiB
  • /dev/sd?2: ext4 残り

私の場合は、Intel DH57JGにHDDが2台搭載してあるのでsddになっていました。

インストール先用USBメモリにUbuntuをインストールする

このステップで特に説明することはないと思います。

以降、Intel DH57JGで起動したインストール先用メモリの話です。ここまでは準備であり、ここからが肝要だと思います。

1.linux-image更新時などで内蔵HDD内OSのブートメニューをgrubに登録しないよう抑制します

$ sudo chmod -x /etc/grub.d/30_os-prober

2.EFI版grubブートローダーファイルに必要なパッケージをインストールします

$ sudo apt-get install grub-efi-amd64-bin

3.EFIブートローダーファイルを作成します

EFIブートローダーファイルを`BOOTx64.EFIというファイル名で作成します。

$ grub-mkimage -d /usr/lib/grub/x86_64-efi/ \
  -o BOOTx64.EFI \
  -O x86_64-efi \
  -p "" \
  part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 \
  normal chain boot configfile linux multiboot

4.作成したEFIブートローダファイルをFAT32領域にコピーします

$ mkdir efi
$ sudo mount /dev/sdb1 efi
$ mkdir -p efi/EFI/BOOT
$ cp BOOTx64.EFI efi/EFI/BOOT/
$ cp -r /usr/lib/grub/x86_64-efi efi/EFI/BOOT/

5./EFI/BOOT/grub.cfgを作成します

configfile (hd0,msdos2)/boot/grub/grub.cfg

ext4にあるパッケージ管理されている/boot/grub/grub.cfgを 読み込んで利用するという設定のようです。そして、ディスクパーティションを指す(hd0,msdos2)とは、hd0はgrubをブートしたディスクであり、 msdos2はMBRでの2つ目のパーティションのことだそうです。

終了です。

インストール先用USBメモリで起動します

めでたく?USB3メモリ(USB3ポートに挿したUSB3メモリ)でもUbuntuを起動できました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away