Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Fedora 16 のLive CD (iso) を USBメモリから起動する @ grub2

      2013/07/15

まずはじめに、結論から言うと、Ubuntu の iso はUSBメモリから直接起動できますが、Fedora 16 の Live CD  は、そのままでUSBメモリから起動できません。起動するには、iso 内のあるファイルにパッチを当てる必要があります。このページではその話も含めて記述しています。

 

まずは、USB メモリに grub2 をインストールします。インストールはここを参考にしましたが、簡単に書くと、私の場合は ubuntu-11.10-desktop-i386.iso の Live CDを使ってPCをCD起動し、USBメモリを挿して、以下のコマンドをrootで実行しました。/media/usb が USB のマウント先、/dev/sda がUSBメモリのデバイスです。環境によってデバイス名は異なるので、環境に合わせて読み替えてください。(読み替えないと最悪起動しなるので注意)

# grub-install --no-floppy --root-directory=/media/usb /dev/sdb

すると、USBメモリに、/boot/grub ディレクトリや各種必要なファイルが作られます。

次に、Fedora 16 Live Desktop の isoイメージ (Fedora-16-i686-Live-Desktop.iso) を USB メモリにコピーします。今回は、/boot/grub/iso にコピーしました。

さらに、/boot/grub/grub.cfg を以下のように記述することで、ある程度までUSB起動できるようになりますが、起動中に rootファイルシステムが見つからないとdracut がエラーを出して止まります。

menuentry "fedora-16-i686-live-desktop.iso" {
loopback loop /boot/iso/fedora-16-i686-live-desktop.iso
linux (loop)/EFI/boot/vmlinuz0 root=live:/boot/iso/fedora-16-i686-live-desktop.iso rootfstype=auto ro liveimg rhgb rd.luks=0 rd.md=0 rd.dm=0
initrd (loop)/EFI/boot/initrd0.img
}

そこでパッチの登場です。isoイメージ内の /EFI/boot/initrd0.img にこのパッチを当てます。と一言で書いても、これが、initrd0.img ファイル抜き出して、イメージ展開、再度イメージ化して・・・と面倒です。なので、mazn が作ったものをアップロード(fedora16_new_initrd0.img)しておきますので、/boot/iso に一緒に置いてください。(x86_64では動かないかも・・)
※ initrd に自分でパッチを当てる場合は、当てた後に/sbin/liveiso-find というファイルが作れるのですが、デフォルトだとパーミッションがおかしいので、-rwxr-xr-x に変更してあげる必要があります。initrdの編集の仕方はこちらを参考にしてください。

そして、grub.cfg の設定を以下のように変更します。

menuentry "fedora-16-i686-live-desktop.iso" {
loopback loop /boot/iso/fedora-16-i686-live-desktop.iso
linux (loop)/EFI/boot/vmlinuz0 root=live:/boot/iso/fedora-16-i686-live-desktop.iso rootfstype=auto ro liveimg rhgb rd.luks=0 rd.md=0 rd.dm=0
initrd /boot/iso/fedora16_new_initrd0.img
}

これで、起動できるようになります。お疲れ様でした。

ちなみに、Ubuntuの場合は、iso を同じ場所に置いて、grub.cfg に以下を追記してあげるだけで iso から起動可能です。

menuentry "ubuntu-11.10-desktop-i386.iso" {
set root=(hd0,1)
loopback loop /boot/iso/ubuntu-11.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-11.10-desktop-i386.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}

 

最後に、VMware で起動確認する場合は、USBブートできないので、PLoP を使うと便利です。PLoPは、USBブートに対応していないPCを、CDから起動し、USBに処理を渡すことができます。

 

 - IT技術, サーバ構築 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
echoコマンドで改行やタブを扱うには@Linux (Debian Etch)

UNIX系OSでも最も有名な部類に入るコマンドechoは、引数の文字列や変数の中 …

no image
OpenOffice 3のインストール@debian系 Linux

OpenOffice 3がリリースされたので、Linuxにインストールしてみまし …

no image
Apacheのプロキシ(proxy)機能

Apacheにはフォワードプロキシやリバースプロキシの機能があります。 フォワー …

no image
Java スクリプト API

Javascriptではありません。Java スクリプト APIです。 JRub …

no image
chromeに独自のproxyを設定

Windows版のchromeのproxyの設定を開くと、システム(IE)のpr …

no image
tailの結果を2回grepすると表示されない@Linux

こんな感じで、grep するとマッチするはずのaaaaがなぜか何も表示されません …

no image
dnsmasqでDNSサーバを立ててWindowsから参照させる

Linuxサーバ上にdnsmasqで DNSサーバ立てて、自宅内のサーバの名前解 …

no image
インストールしているThunderbird 2の拡張機能と不足機能

Thunderbirdに以下のアドオンをインストールしてみました。 Auto A …

no image
シェルで標準出力と標準エラーをそれぞれ違う異なるコマンドにパイプで渡す@bash

あるコマンドの標準出力と標準エラー出力をそれぞれ別々のコマンドで処理するには、以 …

no image
Flashのインストール@Fedora 17

LinuxにFlashインストールするのも随分楽になりました。 今ではAdobe …