CDもUSBもフロッピーも使えない古いノートPCにOSをインストールする方法

Pocket

CDもフロッピーも使えないノートパソコンにOSをインストールする方法のメモです。

かなり古いノートパソコンでBIOSのバージョンも古く、もちろんUSBからインストールすることもできません。メーカー製ノートパソコンなのでBIOSのアップデート等のサポートも終了されていますしね(´・ω・`)

今回はPXEという仕組みを利用して、CentOSをネットワークインストールしてみます。

さて、環境は以下の通りです。
当たり前ですがLANで繋がっています。

インストールサーバ用のパソコン

自作パソコン:Windows7
サーバソフト:tftpd32 v4.00 standard edition (zip)

※サーバと書くと敷居が高く感じるかもしれませんが、インストール無しのサーバソフトですのでレジストリは汚しません。ネットワークインストールが成功したらゴミ箱へ捨ててしまってOK!(でも後々再インストールする際には必要になるから消さないで置いた方が良いかも)

CentOSをインストールするポンコツノートパソコン

VAIO VGN-S94PS(PCG-6H1N)
CentOSの最新バージョンは6.xですが、5.9の32bit版をインストールします。
後述しますが、このノートパソコンはPAEに対応していないためCentOS6はインストールできません。

また、CPUが32bit版のため、CentOSも64bit版ではなく32bit版(i386)をインストールします。


スポンサードリンク


それでは長い?作業になりますが手順です。
  1. まずは注意事項

    • CentOS6以降のバージョンでは、インストール条件としてPAEという仕組みに対応したCPUが必要になり、CPUがPAEに対応していない場合はインストールすることができません。CentOS6の公式FAQでは、CPUがPAEに対応していない場合バージョン5をインストールするように書かれています

      Questions about CentOS 6より引用

      4. Why does CentOS-6 refuse to install on my i686 CPU?

      Upstream has made the decision not to support non-PAE capable CPUs. If your CPU does not support PAE then when running the installer you will see the error:

      This kernel requires the following features present on the CPU pae cx8

      You can still install CentOS-5 but will not be able to run CentOS-6.

      CPUがPAEに対応しているか調べる方法は次項で説明します。


    • 以下に紹介する手順にて、フォルダ・ファイル作成を行うシーンがあります。当たり前ですがスペルミスには注意しましょう。(自分はこれで半日はまりました^^;)

  2. パソコンのスペックの確認

  3. 前もってインストール対象となるCPUのスペックを把握しておきましょう。それによりインストール可能なCentOSのバージョンが異なります。
    • CPUがPAEに対応しているか確認する

      Windowsの場合、Coreinfoというツールを使用するとCPUの詳細を知ることができます。Coreinfoを実行し、PAEの項目に「*」が付いていれば対応、「-」なら未対応です。CoreinfoはMicrosoftのページからダウンロードできます。なお、Coreinfoの使用方法等は@ITのこの記事が参考になります。
    • CPUがPAEに対応していない場合はCentOS 5.9、対応している場合は最新バージョンをインストールしましょう

  4. Tftpd32(サーバソフト)のダウンロードと設定

  5. 訳のわからない単語が出てきても今は気にしないで設定しちゃってください。
    • c:\tftpd32\centos
    • c:\tftpd32\centos\pxelinux.cfg
    • ※pxelinux.cfgは拡張子が付いてますがフォルダです。
  6. c:\tftpd32\centos\pxelinux.cfg配下に以下のファイルを作成
    • c:\tftpd32\centos\pxelinux.cfg\default
  7. defaultをテキストエディタで以下を記述して保存。
  8. default centos
    
    label centos
    kernel vmlinuz
    append load initrd=initrd.img devfs=nomount

  9. tftpd32.exeを起動しウィンドウ下部の「Settings」をクリック
  10. 「GLOBAL」タブを以下のように設定
  11. tftpd32 settings global
    「TFTP server」「DHCP server」にチェックを入れます。

  12. 「TFTP」タブを以下のように設定
  13. tftpd32 settings tftp
    「PXE Compatibility」「Allow “\’As virtual root」「Translate Unix file name」にチェックをいれます。LANの使用状況にもよりますが、Timeoutは長めに設定しておいた方が良いケースもあるようです。タイムアウトしていまう可能性があります。

  14. 「DHCP」タブを以下のように設定
  15. tftpd32 settings dhcp
    • 「IP pool starting address」には、Windowsと同一ネットワーク上の使用していないアドレスを入力してください。
    • 「Size of pool」はDHCPサーバ機能が割り当てるアドレスの数です。この例だと5に設定してあるので、192.168.11.101から192.168.11.105までは割り当てられます。
    • 「Boot File」は「pxelinux.0」と入力(なぜこの値なのかは今は気にしなくてOK)
    • 「WINS/DNS Server」「Default router」「MASK」はLAN上のルータのアドレスとサブネットマスク
    • あとは画像通りに設定してください

  16. 以下のようなダイアログが出るので、一度Tftpd32を閉じて再び起動します
  17. tftpd32 settings restart
  18. 起動直後の画面の「Current Directory」に上記「TFTP」タブで設定した「BASE Directory」のパスが表示されているはずです。


  19. 各種ファイルのダウンロードと配置

    • syslinuxの最新版をダウンロードし解凍します。Windows上で解凍するのでzipを選択すると良いでしょう。今回はsyslinux-6.01.zipをダウンロードしました。
    • 「syslinux\bios\core\pxelinux.0」を「c:\tftpd32\centos」直下にコピーします
    • 「syslinux\bios\com32\elflink\ldlinux\ldlinux.c32」を「c:\tftpd32\centos」直下にコピーします
    • CentOS5.9のカーネルファイル(vmlinuz、initrd.img)をミラーサイトからダウンロードし、c:\tftpd32\centos配下にコピーします。CentOSのバージョンを間違わないようにしてください。
    • 以下のようなフォルダ構成になりました
    • c:\ftpd32\centos
      • pxelinux.cfg
        • default
        • initrd.img
        • ldlinux.c32
        • pxelinux.0
        • vmlinuz



    • ネットワーク関連の設定を一時的に変更

    • Windowsファイアーウォールやセキュリティソフトのファイアーウォール機能がONになっていると上手く動作しないことがあるようです。
      • Windowsファイアーウォール、セキュリティソフトのファイアーウォール機能をOFFにします
      • ルーターにDHCP機能がついており、それを利用している場合は一時的にDHCP機能をOFFにします。(Tftpd32のDHCP機能と競合してしまうため)

    • CentOSをインストールするノートパソコンのBIOS設定

      • PXEによるネットワークインストールを行うためには、インストールするパソコンのBIOSの設定を変更する必要があります。設定方法はBIOSの種類にもよるのですが、PhoenixBIOSの場合は「Network Boot」を「Enabled」にしました。
      • boot順序を「network」を最優先に設定します


    以上で設定は終わりです。
    ノートパソコンを起動し、ノートパソコンのモニタと並行してTftpd32の「Log viewer」をモニタリングします。何かしらのエラーが発生した場合、ノートパソコンのモニタに表示されているメッセージとTftpd32のログを参考に問題解決に取り掛かることになります。


    正常に動作した場合、CentOSのインストール画面が表示されるはずです。


    はまったところ

    • ルーターのDHCP機能とTfptd32のDHCP機能を動作させていたため、ノートパソコンがIPアドレスを取得できなかった(エラー:No DHCP or proxy DHCP offers were received)
    • Windowsのファイアーウォール機能が邪魔をして、ノートパソコンがIPアドレスを取得できなかった(エラー:No DHCP or proxy DHCP offers were received)
    • c:\ftpd32\centos\pxelinux.cfg\defaultのスペルを間違えていたため、ノートパソコンが設定ファイルを読み込めなかった(エラー:unable to locate configuration file)
    • 最初はCentOS6をインストールしようとしていたが、ノートパソコンのCPUがPAE未対応だったためインストール時にクラッシュしていた(エラー:BUG:unable to handle kernel paging request at xxxxx)


    参考にしたページ

    • http://siguniang.wordpress.com/2013/02/15/how-to-install-rhel-on-non-pae-cpu/
    • http://shenafu.com/smf/index.php?topic=25.0
    • http://squeezesetup.wordpress.com/pxe-booting-centos/
    • http://lohas12345.blog115.fc2.com/blog-entry-11.html



    お役に立てましたか?

    ブックマークをどうぞ!

    スポンサード リンク