Fork me on GitHub

Linux 複数osを起動できるライブusbの作成

  • May 10, 2013

categoryプラグインは存在しません。categoryプラグインは存在しません。

概要

USBメモリに格納したisoファイルから、直接複数のOSを起動する方法です。

一部のディストリビューションしかiso直接起動は対応していませんが、カーネルとinitrdだけを取り出してパッチをあてることで、isoファイルには手を加えずに直接起動できます。

この方法だと、同じOSの異なるバージョンを、起動可能な状態で複数インストールすることができます。また、isoファイルがあるので配布やCD作成にも使えます。

このツールの名前は isobooster としました。

Keyword: マルチブート, USBメモリ, Multiboot USB, Linux, LiveCD, ISO, isobooster

-> English site is here

環境

作業環境

おそらく、その他のディストリビューションでも大丈夫だと思います。

ただ、bootloaderにgrub2 1.98を使っているので、このバージョン以降が提供されているディストリビューションを利用してください。

手順

USBメモリの準備

ここでは、USBメモリが/dev/sdb1にあると仮定しています。PartedやWindows上でパーティションを作っても問題ありません。

  • USBメモリをvfatで全て初期化
sudo umount /dev/sdb1
sudo mkfs.vfat /dev/sdb1
  • 領域をマウント
sudo mount /dev/sdb1 /mnt

一旦USBメモリを抜いて、挿し直すと /media の下にマウントされるのでそれでも問題ありません。

各種ファイルの準備

  • 以下のようにしてGitHubにあるファイルをダウンロード
sudo aptitude install git mtools wget
cd /mnt
git init
git pull https://github.com/isobooster/isobooster.git
  • ブートローダをインストール
sudo bash mkboot.sh bootloader /dev/sdb

この時はデバイス名が必要なので注意。マウントはしたままで問題ありません。grub2を採用したバージョンから、パーティションではなくデバイスそのものを指定する必要があります。

  • 必要なディストリビューションをインストール

以下のようにcfg内にあるファイル名の.cfgの前までを指定してください。

sudo bash mkboot.sh ubuntu-10.04
sudo bash mkboot.sh knoppix-6.0.1-jp

isoファイルのダウンロードから必要があればinitrdのパッチあて、menu.lstの編集まで自動的に終わります。isoファイルは別にダウンロードしてisoフォルダに入れておいても問題ありません。

対応しているディストリビューション

現在のリストはこちら。

GNOME系が多いですが、単に私がGNOME好きなだけです。リクエストが有れば、メールなりTwitterなりでどうぞ。うまくいけば対応します。

トラブルシューティング

起動時にcontiguousなんちゃらというエラーがでる

Ubuntu系はisoファイルが断片化していると起動できない場合があります。Windowsなどでディスクの最適化を実行してみてください。

isoのダウンロードが遅い

cfgフォルダ内にあるファイルにダウンロード元のURLがあるので、適当に変えてください。

参考

コメント

commentプラグインは存在しません。