CentOS5をGPTパーティションで新規インストールする
CentOS 5 の新規インストール時に GPT パーティションを使いたい場合は、 CentOS 6 の様に一筋縄では行かない。今回は
を参考に、下記のような手順で仮想マシン作成作業を行ってみた
- ネットワークインストール用の ISO イメージをダウンロードし、仮想マシンに CD イメージとして読み込ませる設定を行う
- 起動選択画面で
linux resque
と入力し、レスキューモードでサーバを起動する - 起動後は言語選択、キーボード設定、ネットワーク設定、レスキューモード用イメージのダウンロード先を指定して進める。既存 OS 選択画面では Skip を選択して進める
レスキューモードのシェルが立ち上がるので、下記のようにコマンドを実行してディスクのパーティションを切る
parted /dev/sda (parted) mklabel gpt (parted) mkpart primary ext3 0 200MB (parted) mkpart primary linux-swap 200MB 2248MB (parted) mkpart primary ext3 2248MB 21.5GB (parted) set 1 boot on (parted) quit mkfs.ext3 /dev/sda1 mkfs.ext3 /dev/sda3 mkswap /dev/sda2 tune2fs -c 0 -i 0 /dev/sda1 tune2fs -c 0 -i 0 /dev/sda3
そのままでは Anaconda のエラーメッセージが出てインストール処理を先に進められないので、 Anaconda を下記の手順で上書きする
mkdir /mnt/anaconda mount -t tmpfs none /mnt/anaconda cd /mnt/anaconda tar -cpf - -C /mnt/runtime/usr/lib/anaconda . | tar -xpf - vi partitions.py # ここで 1082 行目の errors を warnings に書き換えて保存する mount -o bind /mnt/anaconda /mnt/runtime/usr/lib/anaconda
このまま Anaconda を起動すると
/sbin
が存在しているというエラーが出て起動できないため、下記の手順で空の/sbin
を用意するexport PATH=$PATH:/sbin.bak mv /sbin /sbin.bak mkdir /sbin
Anaconda の起動準備が完了したので、適切なミラーサイトの URL を使って Anaconda を起動する
anaconda --dmraid --selinux -T -m "http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/"
インストール処理は、ディスクのパーティション設定以外、いつもの通りに進める。パーティション設定の画面では、すでに作成されているパーティションにマウントポイントを割り当てるにとどめ。パーティションの再フォーマットなどは行わない。 GPT では起動できないとの警告が出たら、そのまま OK を押して進める
インストールが終わったら再起動を行うが、その前に、後の GRUB のインストール作業のために、 ISO イメージを CentOS 5 のものから CentOS 6 のものに差し替えておく
再起動を行う。そのまま再起動ボタンを押しても、 Anaconda が終了するだけで再起動処理が行われないので、
Ctrl+Alt+Delete
を入力するなどして再起動するCentOS 6 のディスクで起動してきたら、レスキューモードを選択して進める。言語選択、キーボード設定を行うが、ネットワーク設定は不要。既存 OS 選択画面では Skip を選択して進める
シェルが立ち上がったら下記の手順で
/boot
パーティションをマウントし、必要な GRUB のファイルを上書きするmkdir /boot mount /dev/sda1 /boot cp /usr/share/grub/x86_64-redhat/e2fs_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/fat_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/ffs_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/iso9660_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/jfs_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/minix_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/reiserfs_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/stage1 /boot/grub/ cp /usr/share/grub/x86_64-redhat/stage2 /boot/grub/ cp /usr/share/grub/x86_64-redhat/ufs2_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/vstafs_stage1_5 /boot/grub/ cp /usr/share/grub/x86_64-redhat/xfs_stage1_5 /boot/grub/ umount /boot
ファイルを上書きしたら、 MBR へ GRUB をインストールする
grub grub> root (hd0,0) grub> setup (hd0) grub> quit
GRUB のインストールが完了したら、 ISO イメージを取り出し、再起動を行う
以上の手順で、 GPT パーティションが有効な状態で、新規インストールした CentOS 5 が起動できた