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に処理を渡すことができます。
336px
関連記事
-
-
echoコマンドで改行やタブを扱うには@Linux (Debian Etch)
UNIX系OSでも最も有名な部類に入るコマンドechoは、引数の文字列や変数の中 …
-
-
OpenOffice 3のインストール@debian系 Linux
OpenOffice 3がリリースされたので、Linuxにインストールしてみまし …
-
-
Apacheのプロキシ(proxy)機能
Apacheにはフォワードプロキシやリバースプロキシの機能があります。 フォワー …
-
-
Java スクリプト API
Javascriptではありません。Java スクリプト APIです。 JRub …
-
-
chromeに独自のproxyを設定
Windows版のchromeのproxyの設定を開くと、システム(IE)のpr …
-
-
tailの結果を2回grepすると表示されない@Linux
こんな感じで、grep するとマッチするはずのaaaaがなぜか何も表示されません …
-
-
dnsmasqでDNSサーバを立ててWindowsから参照させる
Linuxサーバ上にdnsmasqで DNSサーバ立てて、自宅内のサーバの名前解 …
-
-
インストールしているThunderbird 2の拡張機能と不足機能
Thunderbirdに以下のアドオンをインストールしてみました。 Auto A …
-
-
シェルで標準出力と標準エラーをそれぞれ違う異なるコマンドにパイプで渡す@bash
あるコマンドの標準出力と標準エラー出力をそれぞれ別々のコマンドで処理するには、以 …
-
-
Flashのインストール@Fedora 17
LinuxにFlashインストールするのも随分楽になりました。 今ではAdobe …