USB3.0メモリーで作るOS付き動画再生モバイルストレージ|MBR,UEFI 共用編
前回 MBR編 で作成したUSB3.0メモリースティック(以降USBメモリー)が手持ちの lenovo ThinkPad x121e AMD(以降 ThinkPad x121e)で起動出来ませんでした。
原因はBIOS設定メニューのUSBブートの項目が USB UEFI BIOS support しかなく、つまりUEFI USBブートのみサポートされているためです。
そこで今回は MBRと UEFIどちらからでもOSを起動出来る USBメモリーに作り直しました。また別途 USBメモリーを準備しこちらは64bit版のOSで作成してみました。(2015年8月公開 , 2018年7月- 再構成加筆 -)
作業内容
作業内容は1本のUSBメモリーを
動画ファイル保存用 | Linux OSシステム用 | UEFIシステム用 | Linux-SWAP用 |
の4つの領域に分け、動画ファイル保存領域は Windowsと共有しかつ一部を暗号化したセキュアな領域を設定します。
システム領域には Linux OS(デストリビュージョン)の wattOS R9 32bit版(2015/5/30リリース)をインストールするので出先の仕事用のパソコンでも気軽に動画を楽しめるようになります。
☑ 32bit版 USBメモリーに使用したもの
USBメモリー | SanDisk Extreme PRO USB3.0 Flash Drive 128GB |
---|---|
OS | Linux ディストリビュージョン| wattOS R9 32bit |
パーティションエディタ | Gparted(GNOME Partition Editor) |
作業用パソコン | デスクトップ|手持ちの サブPC(自作機) |
作業用OS | Ubuntu 12.04LTS 64bit |
☑ 64bit版 USBメモリーに使用したもの
USBメモリー | SanDisk Extreme USB3.0 Flash Drive 64GB |
---|---|
OS | Linux ディストリビュージョン| wattOS R9 64bit |
USBメモリーの使用条件
- 使用するパソコンが Legacy または UEFI USBブートをサポートしていること
- パソコンの性能に見合った映像コンテンツを準備すること
USBメモリーのパーティショニング
今回のUSBメモリーは «MBR編»で使用したものと同じ SanDisk製 Extreme PRO USB3.0 Flash Driveです。このUSBメモリーはUSB3.0インターフェースのSSDです。
USBメモリー主な仕様
下の画像は SanDisk Extreme PROの写真です
型番 | SDCZ88-128G-*46 , 並行輸入品 |
---|---|
容量 | 128GB |
速度 | Seq.Read 260MB/s , Seq.Write 240MB/s |
ファイルシステム | FAT32 |
外形寸法 | 70.87 x 21.34 x 11.43 mm |
動作温度域 | 0℃~45℃ |
パーティションの構成
USBメモリーのパーティション構造は下表のように構成します。
パーティションテーブル:MBR | システム | ファイルシステム |
---|---|---|
ブートストラップローダ | GRUB2 | - |
第1パーティション(基本) | データ共有領域 | NTFS |
第2パーティション(基本) | wattOS R9 32bit | ext4 |
第3パーティション(基本) | UEFI | FAT32 |
第4パーティション(基本) | スワップ | linux-swap |
Windowsとの共有について
WindowsOSは USBメモリーにパーティションが2つ以上存在する場合でも 第1パーティションの FAT, exFAT, NTFS しか認識しません。
つまり Windowsとデータ共有するためには第1パーティションを空けておく必要があります。したがって Linux OSは第2パーティション以降にインストールする事になる訳です。
UEFIシステムパーティションについて
今回ここで使用する UEFIシステムは MBR でインストールした wattOSのブートローダーを起動するために使用します。
また UEFIシステムパーティションは FAT32・100MBで作成します。これはマイクロソフトの「UEFI/GPTベースのハードドライブパーティションの構成」ドライブパーティションの規則の項に
• System Partition The PC should contain one system partition. On Extensible Firmware …(略) The minimum size of this partition is 100 MB, and must be formatted using the FAT32 file format. (このパーティションの最小のサイズは100MBでありFAT32ファイル形式を使ってフォーマットされなければならない) This partition is managed by the operating system, and should not contain any other files, including Windows RE tools.
と記述されているためです。実際にこのパーティションに置くファイルサイズは3.2MB程度です。
パーティションの作成
作業用パソコンのパーティションエディタ Gparted(GNOME Partition Editor)を起動しUSBメモリー内の既存パーティションを削除して新しくパーティションを作成します。
下の画像はパーティションを新しく作成した状態のスクリーンショットです
なお各パーティションには必ずラベルを設定しておきます。設定しなくても動作上の問題はありませんがこれ以降の作業性が著しく低下します。
UEFIシステムパーティションの設定
今回は GRUB-EFIをチェーンローダーとして使用します。
USBメモリー第2パーティションにインストールしている wattOSのブートローダーをチェーンロードするために必要な下表の設定ファイルを準備して第3(EFI)パーティションに配置します。
設定ファイル | x86_64-efi | bootx64.efi | grub.cfg |
---|
以降の作業は全てUSBメモリーにインストールしたwattOS上で行いますのでパッケージのアップデート(apt-get update)とカーネルのアップグレード(apt-get dist-upgrade)を実行しておきます。
設定ファイルの作成
それではまずブートローダーGRUB2の64bit版EFIバイナリパッケージをインストールします。64bit版をインストールするのはThinkPad x121eのUEFI USBブートが64bitで動作するためです。
もしもホスト機のUEFI USBブートが32bitで動作する場合は32bit版のEFIバイナリパッケージ(grub-efi-i386-bin)をインストールする事になります。
端末から
$ sudo apt-get install grub-efi-amd64-bin
を実行すると /usr/lib/grub/ディレクトリ内に x86_64-efi というモジュール等が入っているディレクトリが配置されます(下画像赤下線部)
そしてこの x86_64-efi ディレクトリから GRUBブートイメージファイルである 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
を実行するとホームディレクトリ内に bootx64.efi が生成されます。
次にGRUB2の設定ファイル grub.cfgを作成します。この grub.cfgはOSを直接起動するものではなく、OS本体内の /boot/grub/grub.cfgの場所即ちUSBメモリーの第2パーティションを示す記述をするだけです。
端末から
$ nano grub.cfg
を実行し下記を記述して保存します。
configfile(hd1,msdos2)/boot/grub/grub.cfg
この内容を具体的に訳すと « ThinkPad x121eにUSBメモリーを挿した状態で第2ストレージデバイスであるUSBメモリーの第2パーティション内 /boot/grub/grub.cfg をロードせよ » となります。
もしも(hd0,msdos2)とすると ThinkPad x121eのSSD第2パーティションにインストールしているXubuntuが起動する事になります。
従ってここの設定は使用するホスト機の環境に合わせる必要があります。
下の画像は bootx64.efiと grub.cfgが作成されたホームディレクトリのスクリーンショットです。
これで必要な設定ファイルが揃いました。下記は各ファイルの現在のディレクトリです。
- /usr/lib/grub/x86_64-efi
- /home/fuukemn/bootx64.efi
- /home/fuukemn/grub.cfg
次はこれらを配置するディレクトリを作成してコピーします。
現在これらのファイルを配置するUSBメモリーの第3パーティションはそのラベル名であるEFIの名称で /media/fuukemn/ ディレクトリ下に自動マウントされているはずです。(fuukemn|ユーザー名)
この /media/fuukemn/EFI/ディレクトリ下に efi/boot/ディレクトリを作成してその中に上記3つのファイルをコピーします。
端末から
$ cd /media
$ sudo chown fuukemn:fuukemn fuukemn (root所有をユーザー所有へ)
$ cd /media/fuukemn/EFI
$ mkdir -p efi/boot
$ cd /usr/lib/grub
$ cp -r x86_64-efi /media/fuukemn/EFI/efi/boot
$ cd
$ cp bootx64.efi grub.cfg /media/fuukemn/EFI/efi/boot
を実行すれば設定完了です。下の画像は各ファイルのコピー先ディレクトリのスクリーンショットです。
☑ 参考サイト
Linux版 TrueCrypt の動作確認
完成したUSBメモリーの動作確認です。手持ちの ASUS EeePC 1005HA と lenovo ThinkPad x121e AMDで確認しました。
EeePC 1005HA で動作確認
下の画像は EeePC の写真です。TrueCryptを起動し仮想HDDをマウント、動画ファイルをVLCメディアプレーヤーで再生するところです。
EeePC のUSBブートの方法は、電源ON後スプラッシュ画像が表示されてから Esc キーを押すとデバイスブートメニューが表示されるのでその中から SanDisk Extreme Pro を選択すれば wattOSが起動します。
ThinkPad x121e AMD で動作確認
下の画像は ThinkPad x121e の写真です。TrueCryptを起動し仮想HDDをマウント、動画ファイルをVLCメディアプレーヤーで再生するところです。
ThinkPad x121e のUSBブートの方法は、電源ON後スプラッシュ画像が表示されてから F12 キーを押すとデバイスブートメニューが表示されるのでその中から SanDisk Extreme Pro を選択すれば wattOSが起動します。
所感
これで手持ちのネットブック(Legacy Boot)とノートパソコン(UEFI Boot)の両方で使える物になりました。
今回OSに選んだwattOS R9の動作速度はUSBメモリーの高性能も手伝って俊敏で、操作性や安定性においても非公式ながらUbuntu 14.04LTSフレ-バーなので何のストレスも無く、当初の予想よりクオリティの高い物に仕上がりました。
あとは、各々パソコンの性能に見合った映像コンテンツを準備すればより実用的な物になる筈です。なお 64bit版 wattOS R9においても 32bit版同様問題なく動作する事を確認しました。