PCで遊んだ日々の備忘録

Making PC and Customization PC

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

を実行すれば設定完了です。下の画像は各ファイルのコピー先ディレクトリのスクリーンショットです。

参考サイト

USB HDDにMBR/EFI両ブート可能なUbuntuイメージを作る方法

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版同様問題なく動作する事を確認しました。

▲ 目次へ

クリエイティブ・コモンズ・ライセンス
Top of Pageの画像
sidemenuの画像