USBメモリブートでCentOS 6.3 x86_64をネットワークインストールする

CentOSでサーバを構築することが多いのですが、バージョンが上がるたびにインストールDVDを作り直すのはDVD-Rがもったいないと思うようになりました。PXEによるネットワークインストールという手段もあるのですが、環境作りの手間がかかりすぎます。

そこで、USBメモリからブートして、ネットワークインストールをする方法を試してみました。これならバージョンが上がっても、USBメモリを上書きすれば済みますし、常に最新のパッケージをインストールすることができます。ただし、インストールするPCのBIOSが、USBメモリからのブートに対応していることが前提となります。

1. PCとネットワーク環境を用意する

インストールするPCは普通のものでかまいません。今回は64bit機を用意しました。あとでネットワークインストールをするので、DHCPが使えるネットワーク環境が必要です。

今回インストールするのは、CentOS 6.3 x86_64です。

2. USBメモリを用意する

使用するUSBメモリはFATフォーマットされている通常のものでかまいません。空き領域は50MBもあれば充分ですので、机の引き出しの隅に転がっているような、古いものを再利用するとよいかもしれません。

3. 必要なファイルをコピーする

インストールディスクとして起動するために必要なファイルをCentOSの適当なミラーサイト(2)からダウンロードします。今回はCentOS 6.3 x86_64をインストールするので、 Linux/centos/6.3/os/x86_64/isolinux/ にある全てのファイルをダウンロードしてください。

ファイル一覧

  • boot.msg
  • grub.conf
  • initrd.img
  • isolinux.bin
  • isolinux.cfg
  • memtest
  • splash.jpg
  • vesamenu.c32
  • vmlinuz

ダウンロードしたファイルはUSBメモリのルートフォルダにコピーしてください。また、isolinux.cfgはsyslinux.cfgにリネームしておきます。

4. ブートディスク化する

USBメモリMBRをインストールします。MBRのインストールにはsyslinuxを使います。syslinuxはkernel.orgミラーサイトから、最新のものをダウンロードしてください。

現時点での最新はsyslinux-4.05.zipでした。これを展開したら、コマンドプロンプトでsyslinux-4.05\win64フォルダに移動し、syslinux64コマンドを実行します。USBメモリは E: ドライブにマウントされているものとします。コマンドプロンプトは管理者として実行しておく必要があります。

syslinux-4.05\win64> syslinux64.exe -ma E:

これでUSBメモリにMBRがインストールされ、ブートディスクとして使えるようになりました。

参考 : The Syslinux Project

5. USBメモリからブートする

PCに先ほどのUSBメモリを挿し込んで起動します。必要ならばBIOSで起動優先順を確認し、USBメモリから起動するように変更しておきましょう。起動するとインストールメニューが表示されるので、ネットワークインストールを開始します。

Installation MethodにはURLを選択し、以下のように入力します。

http://ftp.riken.jp/Linux/centos/6.3/os/x86_64/

後はいつもどおり、CentOSをインストールすればOKです。