« Sierra各種検証結果 | トップページ

2017年6月 1日 (木)

Fedora 25をメディアなしでインストールする

Fedora の Spin (派生物)の一つに Fedora Games というゲームを集めたものが存在する。今回、ふと思い立って、通常の Fedora Workstation の代わりにこの Games をインストールしてみることにしたが、インストール用の ISO ファイルをダウンロードしたところ、大きさが 4.03 GB もあり、所有している 4.0 GB の USB メモリにはギリギリ入らなかった。

そこで、以前「Fedora 18をメディアなしでインストールする」に書いたやり方で、すでにインストールしてある Ubuntu の GRUB を用いてハードディスクから ISO ファイルを直接起動できないかどうか、試してみた。

結論から言うと、無事成功した。この記事は、その覚書である。

なお、今回インストールしたのは Fedora Games である。通常の Fedora Workstation の ISO ではなぜかインストーラーが起動できない。

使用したマシンは Mac Book Pro (Retina 13-inch, Early 2015) (MacBookPro12,1) だが、普通の Windows マシンでも同じやり方が可能なはずである。

前提として、Ubuntu は外付け HDD にインストールされており、そのパーティションのデバイスパスは /dev/sdb10 である。

以下の作業は Ubuntu 上で行う。

  1. Fedora 25 Games をダウンロード」から ISO イメージファイル(Fedora-Games-Live-x86_64-25.iso)をダウンロードする。
  2. /dev/sdb10 のルートディレクトリに「Fedora」という名のフォルダーを作る(パスで言えば /Fedora)。
  3. ダウンロードした ISO を /Fedora フォルダーに移す。
  4. Fedora のインストール ISO が置かれているミラーサーバーから「vmlinuz」と「initrd.img」という二つのファイルをダウンロードする。それらのファイルは、例えば KDDI 研究所の FTP サーバーなら http://ftp.kddilabs.jp/Linux/packages/fedora/releases/25/Workstation/x86_64/os/isolinux/ ディレクトリーに置かれている。
  5. Ubuntu がインストールされているパーティションのルートディレクトリ / に「Fedora」というディレクトリを作成し(パス名でいうと /Fedora)、そこに、インストール ISO ファイルをコピーする。
  6. /boot ディレクトリ内に「install」というディレクトリを作成する。
  7. 「vmlinuz」と「initrd.img」を「/boot/install」ディレクトリへコピーする。
  8. Ubuntu の GRUB の設定ファイルに、Fedora を起動するための記述を行う。そのためには「/etc/grub.d/40_custom」の中に
    menuentry "Fedora Install" {
        set root='hd0,gpt10' ※注1
        linux /boot/install/vmlinuz inst.stage2=hd:/dev/sdb10:/Fedora ※注2
        initrd /boot/install/initrd.img
        }
    
    と書き加える。
  9. 「update-grub2」コマンドでいまの記述を GRUB に反映させる。
  10. Ubuntu を再起動する。
  11. Ubuntu が起動する過程で表示される GRUB の選択画面において、「Fedora Install」を選択する。すると、ISO から Fedora が立ち上がるはず。
  12. ISO の Fedora が起動完了したら、あとはデスクトップのインストーラーをダブルクリックし、指示に従ってインストールを開始する。

以上。


※注1
二行目の「hd0, gpt10」の部分は、筆者の Ubuntu が一番目のハードディスクの十番目の GPT パーティションにインストールされていることを意味する。環境によって適宜書き換える必要がある。例えば二番目ディスクの七番目のパーティションなら「hd1,gpt7」になる。ハードディスクの番号は0を起点にしているが、パーティションのほうは1が起点である。

なお、上記の通り、筆者の Ubuntu は外付け HDD /dev/sdb にインストールされており、これは二番目のハードディスクなのだから「hd1,gpt10」となりそうなものだが、なぜかそうはならない。おそらく、GRUB が起動する時点では GRUB がインストールされているハードディスクを一番目と認識しているということなのだろうか。


※注2
「inst.stage2=」以下で ISO の置かれた内蔵 HDD のパーティションを指定しているが、この時はなぜか「sdb」になる(内蔵 HDD を一番目と数えているようだ)。

くれぐれも「:」(コロン)が二つあることを見落とさないように。

説明しておくと、「hd:デバイス名:ディレクトリ名」となっており、この場合のディレクトリ名は ファイルを内包しているディレクトリである。ディレクトリ名だけを指定すればよく、 ファイル自体は指定する必要がない。

パーティションのトップレベルに置かれている場合は

inst.stage2=hd:/dev/sdb10:/

のようにスラッシュで終える。


(余談)
以前、「Fedora 18をメディアなしでインストールする」で試した時は、「vmlinuz」と「initrd.img」を ISO 内の isolinux ディレクトリーから取り出した。今回もそのやり方で行おうとしたのだが、ISO 内のものは「initrd.img」がなぜか 0 バイトのファイル(つまり空ファイル)となっていて、そのままそれを使って上記の方法で起動しようとすると途中で止まってしまうのである。そのため、今回はダウンロードせざるを得なかった次第である。


« Sierra各種検証結果 | トップページ

コメント

コメントを書く

(ウェブ上には掲載しません)

« Sierra各種検証結果 | トップページ