WindowsとCentOSのデュアルブート構成にしてみた

インフラの勉強を兼ねて、Windows7搭載のPCにCentOS6.6(以下、CentOS)をインストールし、デュアルブート構成にしてみました。 以下に手順をまとめます。

0. 事前準備
1. CentOSイメージを外部記憶媒体に書き込む
2. 1.で作成した外部記憶媒体からPCを再起動する
3. CentOSをPCにインストールする
4. CentOSのブートイメージを外部記憶媒体にコピーする
5. ブートマネージャーにCentOSエントリを追加する

0. 事前準備

今回の作業を進めていく中で間違った操作をしてしまい、既存のPC内データが消えてしまったり、PCが思うように起動しなくなったりすることがあり得ます。最悪のケースになっても元の状態に戻せるように、出荷時の状態に戻せるシステム修復ディスクを作ることと、データのバックアップを取ることをおすすめします。

実際に今回いろいろ試している過程で、一度PCが起動しなくなりました。 CentOS6.6をインストールする前に、既にインストール済みだったCentOS7をPCから削除しようと思い、CentOS7がインストールされたパーティションを削除しました。その後、PCを再起動しようとしたら、下記のような文字列が表示されるだけになり、どのOSも立ち上げられなくなりました。

error: no such partition.
grub rescue> _

根本原因をまだ正確につかめていないのですが、同じ構成でCentOS7を再インストールしたり、MBRを復旧したりすることで最終的にCentOS7を削除できました。別の機会にこのあたりのことは整理して記事にまとめたいと思います。

1. CentOSイメージを外部記憶媒体に書き込む

ダウンロードサイト(32bit版)(64bit版

今回は、64bit版のminimalをDVD-Rに書き込みました。

2. 1.で作成した外部記憶媒体からPCを再起動する

DVD-RをPCに入れたまま、PCを再起動します。 DVD-Rから起動しない場合は、BIOSの設定画面でドライブの起動順位を変更する必要があります。

3. CentOSをPCにインストールする

画面の指示に従い、各種情報を設定します。主な設定内容は下記の通りです。

インストールタイプ

今回はデュアルブート構成にしたいので、「すべての領域を使用する」を選んではいけません。ここでは「カスタムレイアウトを作成する」を選択しました。

パーティション構成
マウントポイント/RAID/ボリューム サイズ タイプ
/boot 500 MB ext4
LVM物理ボリューム 69 GB LVM

(LVM物理ボリューム)

マウントポイント/RAID/ボリューム サイズ タイプ
/ 13 GB ext4
2 GB swap
/var 4 GB ext4
/home 50 GB ext4

※ 参考:9.15.5. パーティション設定に関する推奨

ブートローダーのインストール先

今回作成した「/boot」パーティションを指定します。

インストール完了後、DVD-Rが排出されますが、再度挿入して、PCを再起動し、「Rescue installed system」を選択します。

4. CentOSのブートイメージを外部記憶媒体にコピーする

Shellを起動し、ブートイメージを作成します。

bash-4.1# dd if=/dev/sda3 of=centos6.bin bs=512 count=1

input file(if)には、ブートローダーをインストールしたパーティションを指定します。

外部記憶媒体(今回はUSBメモリを使用)を指定フォルダにマウントした後、ブートイメージをコピーします。

bash-4.1# mkdir /mnt/usbmem
bash-4.1# mount -t vfat /dev/sdb1 /mnt/usbmem
bash-4.1# cp centos6.bin /mnt/usbmem
bash-4.1# umount /mnt/usbmem

USBメモリに該当するデバイス名(上の例では/dev/sdb1)は、fdisk -l コマンドで確認できます。

コピー後、DVD-RとUSBメモリを外し、PCを再起動します。

5. ブートマネージャーにCentOSエントリを追加する

Cドライブ直下にcentos6.binをコピーした後、管理者権限でコマンドプロンプトを実行します。

CentOS6エントリを追加する一連のコマンドは以下の通りです。

C:¥Windows¥system32> bcdedit /create /d "CentOS 6" /application bootsector
C:¥Windows¥system32> bcdedit /set {エントリ番号} device partition=C:
C:¥Windows¥system32> bcdedit /set {エントリ番号} path ¥centos6.bin
C:¥Windows¥system32> bcdedit /displayorder {エントリ番号} /addlast

エントリ番号には、最初のコマンドを実行した時に表示される番号が入ります。

PCを再起動すると、ブートマネージャー画面が表示され、Windows7とCentOS6を選択できるようになります。