古いノートPCで Ubuntu 9.04 LiveCD のネットワークブート

古い PenM ノート NEC VersaPro VJ11/BH-T でネットワークブートを敢行。

このノートに内蔵の光学ドライブはなく、USBメモリからのブートにも対応していないので、OSのインストールにはUSBの外付け光学ドライブが基本的に必要なんですが、そんな物は持っていないのでネットワークブートさせるしかないのでした。トホホ。

ネットで調べると色々なネットワークブート方法があり、Ubuntu LiveCD のブートも可能らしい。Yatta!

Ubuntu LiveCD をネットワークブートさせる方法自体にも色々あるみたいですが、自分は以下のリンク先に書かれている方法を参考に、Ubuntu デスクトップ(ホストOS)の VertualBox 上の Ubuntu 仮想マシン(ゲストOS, PXE ブートサーバ)に Ubuntu 9.04 LiveCD をセットし、ノートPC(PXE ブートクライアント)からネットワーク経由で LiveCD を起動させることにしました。

参考Creating a PXE boot for Jaunty Live. および ライブUbuntuをネットワークブートする − ディスクレスサーバ構築 – adsaria mood

まず既存の PC の方に VirtualBox(ver.2.1以上)をインストール。
そして、Ubuntu VirtualBox 用仮想マシンのイメージを入手してセットアップ。

http://www.virtualbox.org/wiki/Downloads

http://www.ubuntulinux.jp/products/JA-Localized/virtualbox

仮想マシンの Ubuntu がホストOSの外側から見えるようにするために、この仮想マシンの 設定 >ネットワーク > 割り当て で Bridged Adapter を選択。

仮想マシンを起動させてログインし、以下のディレクトリを作成。

/pxe

/pxe/images

/pxe/images/ubuntu

/pxe/pxelinux.cfg

次に syslinux の書庫をダウンロードして好みの場所で展開。

http://www.kernel.org/pub/linux/utils/boot/syslinux/

展開した書庫の core フォルダ内にある pxelinux.0 というファイルと、com32/menu フォルダ内にある menu.c32 ファイルを先ほど作成した /pxe ディレクトリにコピー。
syslinux の書庫やそれを展開したフォルダ内の残りのファイルは必要ないので削除してオーケー。

/pxe/pxelinux.cfg ディレクトリに default という名前のファイルを新規作成して以下の内容を記入。(192.168.1.12 部分は仮想マシン(PXE サーバ)のIPの指定で、環境に合わせた変更が必要。ifconfig コマンド等でIPを確認。自分の場合、ホストOSマシンのIPは 192.168.1.11 で仮想マシンのIPは 192.168.1.12 だったので。)


DEFAULT menu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 600

MENU TITLE PXE Boot Menu

LABEL Ubuntu Jaunty Live Desktop
kernel images/ubuntu/casper/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.12:/pxe/images/ubuntu initrd=images/ubuntu/casper/initrd.gz -- splashd


LABEL Ubuntu Jaunty Live Install
kernel images/ubuntu/casper/vmlinuz
append boot=casper netboot=nfs nfsroot=192.168.1.12:/pxe/images/ubuntu initrd=images/ubuntu/casper/initrd.gz -- splash only-ubiquity


続いて、最終的にネットワークブートでノートPC にインストールすることになる Ubuntu 9.04 LiveCD のイメージをダウンロードしてマウント。

http://www.ubuntulinux.jp/products/JA-Localized/download

イメージの中身すべてを /pxe/images/ubuntu ディレクトリにコピー。(直接このディレクトリにマウントするようにしてもよいかも。)

dnsmasqnfs-kernel-server をインストール。dnsmasq は DNS フォワード機能の他、ネットワークブートに必要な DHCP 機能、TFTP 機能もサポート、nfs-kernel-server は LiveCD の内容ファイルをネットワーク越しに共有できるようにする機能を提供するみたい。

# apt-get install dnsmasq nfs-kernel-server

インストールしたら /etc/dnsmasq.conf ファイルを編集。ファイルにはコメントアウトされた記入例の記述があるだけだと思うので、以下の内容をファイルの一番最後に追記。IP の部分は環境に合わせた変更が必要。(たぶん server=/localnet/192.168.1.1 はDNSの指定、dhcp-options=3,192.168.1.1 はルータのIPの指定だと思います。自分が使用しているルータには DHCP 機能があり、ルータのDHCPの設定では 192.168.1.11 から 192.168.1.20 の範囲でローカルエリアネットワーク内のPCにIPを割り振るように自分はしてるので、VirtualBox ホストマシン(192.168.1.11)と仮想マシン(192.168.1.12)のIPを除いた以下のようにしてみました。あと自分は resolv-file=/etc/nameservers 行を削除しました。)


no-hosts
server=/localnet/192.168.1.1
dhcp-range=192.168.1.13,192.168.1.20,2h
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/pxe
resolv-file=/etc/nameservers  #プロバイダのDNSを利用するなら必要のない行?
dhcp-option=3,192.168.1.1


さらに /etc/exports ファイルを編集。このファイルもコメントアウトされた記入例の記述があるだけだと思うので、以下の1行をファイルの一番最後に追記。

/pxe/images *(ro,sync,subtree_check)

最後に /etc ディレクトリに nameservers という名前のファイルを新規作成して自分が使用しているDNSを追加。(以下はOpenDNSを使用する例。プロバイダのDNSで必要十分かなと思ったので自分はこのファイルを作成せず、上記の dnsmasq.conf ファイルの方でも resolve-file=/etc/nameservers 行は記載してません。)

nameserver 208.67.222.222
nameserver 208.67.220.220

これで仮想マシン側のブートサーバとしての設定は完了。dnsmasqnfs-kernel-server を再起動します。

# /etc/init.d/dnsmasq restart

# /etc/init.d/nfs-kernel-server reload

次にクライアントとなるノートPCの方の設定。

ノートPCをLANケーブルでルータと有線接続して、BIOS設定でネットワークブートを有効にして再起動。

すると、Ubuntu をLive起動させるか、インストールするかを選べるネットワークブートのメニューがあっさり表示されました。

ばんざい。
PXE BOOT MENU

試しに Live Desktop を選択すると、無事に起動。その後インストールも問題なくできました。

Live Desktop

広告

4件のコメント »

  1. […] 参考にしたのはこちらのサイト→ 古いノートPCで Ubuntu 9.04 LiveCD のネットワークブート […]

  2. shige said

    我が家のレッツノートR2でネットワークブートをためすのにとても参考になりました。ありがとうございます。

  3. ubuntuでubuntuをネットワークブートでインストール(12.04LTS版)…

    ubuntu12.04LTSをサーバとし、古いPCにubuntu12.04LTSサーバー版を ネットワークブートを用いてインストールする手順のまとめです。 参考先は ・古いノートPCで Ubuntu 9.04 LiveCD のネットワークブー……

  4. はじめまして、
    ubuntu12.04LTS版でネットワークブートを行う際、こちらのサイトが非常に参考になりました。
    ありがとうございました。
    事後報告ですが、私のブログの方で12.04版の手順をまとめる際紹介させていただきました。
    不都合等ありましたらご連絡いただければと思います。それでは

RSS feed for comments on this post · TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。