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

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

  関連記事

Windows 10 の Ubuntu (WSL) でGUI (X Window)を使う

Windows 10 の WSL 上の Ubuntu 上のアプリでGUI(X)が …

no image
Galaxy SでGPS制度が悪い@b-mobile U300

※いろいろやった結果のまとめは一番下です。 Galaxy Sを手に入れたので、b …

no image
WindowsアップデートにProxyを使用@Windows XP

Windowsのアップデートは、デフォルトではプロキシを使わないので、プロキシ環 …

no image
Thinkpad USB Trackpoint キーボードでスクロール@Fedora 17

Fedora 17 上で、Thinkpad USB Trackpoint キーボ …

no image
CDやDVDの中身が見れない@Windows Vista

最近悪名高いWindows Vistaを使っているのですが、一通り設定や必要そう …

no image
Fedora 17を19にアップグレードする

Fedora 17 のサポートが気づいたら終わっていたので、最新の19にアップグ …

no image
コマンドラインのロック@CentOS 5

コンソールログインやssh接続などでコマンドラインを使用しているとき、少し席を外 …

no image
ICチップ付きクレジットカードの安全性

最近はクレジットカードにICチップがついていて、店頭での決済時に暗証番号を求めら …

no image
Windows 10 のストアアプリが起動しない

Windows 10のストアが起動しなくなってしまったので、その時実施した対処方 …

no image
システム上のユーザ一覧情報の取得

NISやLDAPなどを使用していると、きちんとと設定されているのか、誰が認証でき …