前のページでも述べたとおり、今回は、ソフトに頼らず、自力でUSBメモリでマルチブートできるようにしてみることにします。
なぜ自力かと言うと全て同じ方法で実装できるわけではない、逆に言うといくつかの方法があるのでXBoot、YUMI、SARDU、RMPrepUSB、UNetbootin、Universal USB Installer...etc.といったUSBやCD/DVDをマルチブートできるようにするソフトウェアは、便利でスグレモノだけど対応できるOSやツールに限りがあるのが現状だからです。
もちろん、それらを使いつつ、ごにょごにょしてもよいわですが、併用しないでやった方が効率的です。
方法は大きく分けて3通り、自力とは言っても、やってみれば、知ってしまえば、思うほど難しいことではありません。
さて検証プランとしては、8GBのUSBメモリを使用、ブートローダをGRUB2(専用パーティションにインストール)、パーティションタイプをGPTとし、LinuxとしてCentOS、Debian、Fedora、Ubuntu、*BSDとしてFreeBSD、NetBSD、OpenBSD、レスキューツールとしてClonezilla、GPartedをマルチブートできるようにしてみるということでした。
これでも余分に確保した上、8GBのUSBメモリにおいて空き容量が4.7GB強あるので、このケースなら保存領域は数百MB程度にはなりますが、4GBのUSBメモリでも充分収まる程度です。
それでは、なぜ、今回、メディアとしてCD/DVD RWではなくUSBメモリを、プートローダとしてSYSLINUXやLILO、GRUB LegacyなどではなくGRUB2を、パーティションタイプとしてMBRではなくGPTを選んだのか?
まず、マルチブートさせるメディアとしてCD/DVDではなくUSBメモリを選ぶ理由は、次のようにいくつもあります。
1つめは、まさにLive起動しながらでも確保済みのデータ用パーティションをマウントさえすれば保存もできるということであり、外出先にあるPCでUSBブートができれば、そのPCのOSに関わらず使い慣れたOSを使うことができ、必要ならUSBメモリ自体にデータを保存することもできるということであり、これはCD/DVDにはできない芸当です。
2つめもCD/DVDだと最終的にISOディスクイメージの作成とCD/DVD自体に焼く作業があり、特に試行錯誤しながらやる何度もやるという場合には、時間がかかりすぎますが、USBメモリならマウントしてコピーや削除、テキスト編集程度なので都度の作業も短時間で済みます。
3つめは、CD/DVDだと2通りの手法のみですが、USBメモリなら3通りの方法で自由に作成/編集できるので柔軟性があります。
4つめは、3つめのメリットに関してUSBメモリならMBR方式のパーティションでもGPT方式のパーティションでも作成可能なので想定する状況に応じて選択肢が増えます。
5つめは、後述のGRUB2をUSBメモリにインストールすれば、4つめのメリットに加え、GPTを選択した場合でもPCやBIOSの制約とは無縁に(実は、もっと増やせますが、)最大128個のパーティション(MBRでいうところの基本パーティション)を作成することができるので仮に検証に際し、専用パーティションを要求するOSやツールが多発しても充分対応可能です。
MBR方式でも基本パーティション4つ、または、3つと拡張パーティション1つ、拡張パーティションにはディスク容量を上限として論理パーティションをいくらでも作ることができますが、OSやツールによっては、マルチブートにする3通りの方法の何れのケースにおいても基本パーティションでないと実装できないことも少なくありません。
また、今回は重視していませんが、次のような世情もあります。
CD/DVDドライブのないPCでもタブレットでもUSBポートはあるので、そういった環境では、USBしか選択肢がありませんし、外出先に持っていくならUSBメモリの方が携帯性に優れていることは言うまでもありません。
次にブートローダについてですが、LILOは古い技術であり、GRUB Legacyに、更に結構前から存在したものの、近年、標準採用されるケースが増えてきたGRUB2という変遷があります。
GRUB LegacyやGRUB2は、Linux/*BSD他の起動を直接サポートし、WindowsのようなプロプライエタリのOSでも、チェーンロード(数珠つなぎに/連鎖的な読み込み)により、OS固有のブートローダに処理を渡すことができますし、パーティションを越えて操作が可能ですが、SYSLINUX/EXTLINUXは、パーティション越しの操作はできません。
更にGRUB LegacyはGPTに対応していませんが、GRUB2は、GPTに対応しているのでGPTを使うなら必然的にGRUB2を選択することになります。
というわけでUSBメモリ、GRUB2、GPTの組み合わせは、他の方法や組み合わせよりも柔軟性が高く、試行錯誤した場合でも臨機応変に対応でき、後で余計なことで悩む必要がなくなり、余裕を持って作業できることから、この組み合わせにすることにしました。
ちなみにUSBメモリでマルチブートにしてみるのも、GPTを使ってみるのも初めて、GRUB Legacyはともかく、GRUB2はそれほど使いなれているわけではない状態で、まとまった情報もなく、最初は、ああでもないこうでもないと試行錯誤したものの、一通りのパターンを体験してみたら、比較的サラリとできるようになりました。
というわけで、まとまった情報を提供できれば、と思い、書いてみました。