約1か月後(5/30)に開催予定の、オープンCAE講習会では、初めて表題のマルチブートUSBなるものを手懸けることになり、これを製作するに際してあれこれ調べたので以下に備忘録として記しておきます。
経緯
今回のオープンCAE講習会は、流体系と構造系の2本立てで講習が実施されますが、講習参加費は参加コース、本数によらず一定額となっております。その拠り所としては、講習用に講習環境(仮想マシン用イメージファイル)やテキストを全て同梱したUSBを支給する点が挙げられます。したがって講習用USBには流体系と構造系のそれぞれに対応した仮想マシンを同梱し、用途に応じて使い分けできるように、いわゆるマルチブート可能なUSBメモリとして配布しようとなりました。(同一の仮想マシンで、流体系・構造系、どちらも動くように出来ればもっと良いのですが、ディスク容量の制限上困難でありました。)
マルチブートUSB作成法の基本は、こちらのページに詳しく書いてありましたが、これらをステップ踏んでやるのは少々荷が重い。やはり簡便に作ってくれるツールはあるもので、ライブUSBツール(Windows版)に関するまとめ記事なるものも見つかって、これをベースに調査を開始しました。これまで使用していた、LinuxLive USB Creator (LiLi)についても記されていましたが、これはSingleブート用で、今回の用途(マルチブート)には使えないということも判りました。
この中から、マルチブート用には、XBOOT, Easy2Bootというのが定番のようで(他にも、YUMI, SARDUもあったが日本語版で問題がありそうなのでパスした)これらを試してみました。⇒どちらも使えましたが、どちらを選択するかは悩ましい所です。
また、こうやって作成したブータブルUSBの動作確認を、これまではいちいちPCを再起動して確認していましたが、仮想マシンで確認する方法もあるとの事で、とりあえず今回は、VirtualBoxで確認できるようになったので、その方法についても記しておくこととしました。
XBOOT
- 起動画面では、10秒間何もしないとデフォルトメニューが立ち上がってしまいます。
- 普通に作ると、一番上の Boot from Hard Disk が立ち上がりますが、これだとまずい(Windowsが立ち上がってしまい、再起動させるまでの時間ロスが大きい)。かつ、2番目(流体用)や3番目(構造用)にしておいても、用途に応じて再立ち上げが必要になるので、一番下の Help! が立ち上がるようにしておきました。
- このブートメニューはUSBを作成した後でも再編集できるので助かる。
- これだと、下の画面になって、
- ここでF10を押せば。
- となり、Enterキーを押せば、最初の立ち上がり画面に戻れる。
- 作成方法の要点としては、初期フォーマットが必要な点と、イメージ収納方法のオプションを間違えないようにする事。
初期フォーマットの方法
XBOOTそのものにはフォーマット機能がなく、実は通常のフォーマットではUSBブートした時にブートデバイスとして認識されない。そこでどうすれば良いのかは、こちらの記事に詳しかった・・・のだが、難解すぎて(意味不明のisoイメージの引用が多すぎて)よく判りませんでした。何度も読み直して自分なりに理解した事は、
なんでも良いのISOイメージを持ってきてLinuxLive USB Creator (LiLi)を使ってUSBブートできるようにしてから、USB上に作成されるRemove_LiLi.batというバッチコマンドを実行してファイルを全消去する。(上記記事の文中、まるで、「 フォーマット ソフトとして使ってくれ。 」と言わんばかりの仕様の部分)
というものでした。これをやっておけば、焼き直しの際にも通常のフォーマットでいけるようです。
イメージ収納方法
XBOOTそのものの使い方は簡単で、ブートしたいisoイメージファイルをドラッグ&ドロップして、USB(又はDVD)作成ボタンを押すだけです。
問題は、ドラッグ&ドロップした時に、それが何であるかを、以下の選択メニューの中から選ばなくてはならない所で、これを間違えると正しく起動してくれない。
上の図には見えていないが、スクロールすると下の方には
Linux — ubuntu
というメニューがあって、これで良いかと思うのだがそうはいかない。しかも、isoイメージファイルが2重で保存されてしまっている。
また、ライブUSBツール(Windows版)に関するまとめ記事を書いた人のXBOOT関連ページには、ubuntu日本語版では、
とあったのだが、これで作ると、2重保存の問題は解消されるんだが、やはり起動不能。起動不能というのは、冒頭の選択メニューは表示され、個別のisoを選択した後、
の画面まではたどり着けるのだが、この後で・・・
と、よくある起動不能のパターン。
色々試してみた結果の結論は、
ISO files which supports Live-media-path kernel parameter
を選択しなさい・・・ということでした。
Easy2Boot
- こちらは、メニューがたくさん出てくるが、デフォルトが勝手に起動する事はない。落ち着いて必要なメニューを選択してEnterキーを押せば良い。
- USBの作成方法は、XBOOTのようにGUI画面でボタンを押して・・・というわけにはいかなくて、ファイルマネージャ上での操作と、実行画面(コマンド端末)でのキー入力。やり方さえ理解すれば、簡単な一本道(フォーマットもやってくれる)だが、isoイメージファイルを所定のフォルダーに入れた後で、デフラグ処理が必要。
USB作成方法
ダウンロードしたzipファイルを解凍すると、Easy2Bootというフォルダが作成されるので、_ISO/docs/Make_E2B_USB_Drive
というフォルダの中の、MAKE_E2B_USB_DRIVE.cmd というファイルがあるので、これ選択し右クリック⇒管理者として実行する。
以下、端末画面が現れる、
色々尋ねてくるので、キー入力で回答していくがほとんどデフォルト(Enterキー)で良い。キーボードで Japan を選択するくらいか。設定がすべて完了し、問題なければ緑色の背景色に変わって、何かキーを押せば終了する。問題があると赤色の背景色になって、設定のやり直しを促される。
正常に終了すれば、ファイルマネージャでUSBドライブを調べると、ドライブの名前がE2Bになっており、その中身は先に解凍して出来たEasy2Bootフォルダとほとんど同じファイル構成になっている。
isoイメージファイルの収納方法
_ISO/MAINMENU のフォルダにコピーするだけです。
LINUXのフォルダに入れたりすると、メインメニューにLINUXが現れて、そのサブメニューで選択できるようになるようです。
ちなみに、このisoイメージファイルは、そのまま仮想マシン用の起動イメージファイルとして使うことも出来る。ちなみにXBOOTで作成したUSB上のisoファイルはNGです。
isoイメージファイルの追加や変更も、ファイルマネージャ上の通常の操作でOK。
デフラグが必要
但し、USB起動ディスクとして使うためには、このコピーの後で、デフラグ作業をしておく必要がある。デフラグツールは何を使ってもよいそうだが、作成されたUSBの中に同梱されているので、それ(MAKE_THIS_DRIVE_CONTIGUOUS.cmd)を使う(ダブルクリックするだけ)のが一番手っ取り早い。
注意点は、コピーのやり方。たとえば2つのisoイメージファイルをコピーする際、面倒だからといって2つ同時にコピーしてしまうと、デフラグに必要な時間が長大になってしまう。
1つコピーして一度デフラグにかけると、2つ目のファイルをコピーした後のデフラグは瞬時に終わることもあるようで、isoイメージファイルの追加や変更を実施した際にも、操作の都度デフラグにかけるのが良さそう。
LiveUSB on VirtualBox
Easy2USBのチュートリアルムービーを眺めていたら、ブート用USBを作成して、その場でVirtualBoxで動作確認をやっているシーンがあった。詳しく調べると、その方法(仮想マシンで動作させる方法)について記したページも見つかった。色んな方法があるようだが、ここでは、「Running VBox in ‘read-only’ USB mode」についてのメモです。
MakeUSBvmdk.cmdをダウンロードして、管理者として実行する。⇒USBドライブ番号を指定すると、USBPort1.vmdkというファイルを作成してくれるので、何処に作成されたかを覚えておく。
VirtualBoxを管理者として実行。新規マシンを作成し、設定メニューにて、ストレージのIDEコントローラーでハードディスク追加⇒既存のディスクを選択⇒上記ファイル(USBPort1.vmdk)を指定(覚えておいた場所から探す)。
注意事項
この方法で起動した際に、下記の画面が立ち上がる事がありました。
何かキーを押せば続けられるとの事で、インストールした環境そのものは実行可能になりました・・・が、しかし、仮想環境では実行できても、実環境(実際にUSBからブート)ではブートデバイスとしては認識されませんでした(Windowsが立ち上がってしまう)。
ちなみに、このデバイスは再起動されたWindowsマシンから(他のLinuxマシンからも)全く認識されなくなり、修復も不能になってしまいました(;_;)/~~~ 上記画面が出た時点(USBそのものは認識出来ている)で、USBそのものの初期化なり、再フォーマットした方が良いということかもしれません。
まとめ
本記事の作成に着手した時点では、経緯に記したように、XBOOTにするかEasy2USBにするかの選択は悩ましかったのですが、その理由は、
- チャチャッと作るならXBOOTだが、仮想マシン用のisoイメージを別に同梱する必要がある。
- Easy2USBはその必要がない(ブート用と仮想マシン用で共用できる)が、製作時間(デフラグに要する時間)がかかりすぎ。
といったものでした。記事を書きながらいろいろ検証しているうちに、Easy2USBの最大の問題であったデフラグに時間がかかる事について、やり方次第で、短く出来る事も判ってきた事と、出来上がったUSBに対して、isoイメージファイルの変更や追加も簡単に出来る事が判ってきたので、本番用にはEasy2USBを使うことになりそうです。
説明の本体ではEasy2Bootと書いているのに、その後の別のソフトの説明以降Easy2USBとなっています。