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
COMODO Defense+ の 信頼ベンダー(trusted vendor)リストを削除する

最近COMOD Firewall を入れると、Defense+ の信頼ベンダーリ …

no image
リモートデスクトップのWindows10のシャットダウン

デスクトップ画面でAlt + F4 を押すと、シャットダウンメニューが出てきます …

no image
Android のセキュリティ確保したけりゃこれ使ってみろ

最近は、Androidもマルウェアやウィルスにさらされてくるようになりました。 …

no image
sshダイナミックフォワーディング@cygwin

OpenSSHクライアントのsshコマンドでトンネリングをする方法として-Lオプ …

no image
rdesktopの改造@Debian etch

LinuxからWindowsのリモートデスクトップに接続するコマンドです。 De …

no image
ディスクイメージを直接マウントする@Linux

以前、ディスクイメージファイルをkpartxを使ってマウントする方法を紹介しまし …

no image
TracのDBのスキーマとチケットレポート作成 @ Trac 0.10.3 on Debian Etch

Tracのチケット のレポートを作成するには、TracのDBのスキーマをある程度 …

no image
Portable Ubuntu for Windows

Portable Ubuntu for Windowsなるものがあるらしいです。 …

no image
screenを起動するとウィンドウの幅が変わる@RHEL6

Windows上からsshログインしたRHEL6でscreenを使うと、ウィンド …

no image
電池使用状況@Galaxy S

電池の持ちが悪いときは、端末の情報を覗いてみると何かわかるかもしれません。 以下 …