Ubuntu9.10にWindows 7を導入する手順

私のiPhoneはいわゆる新ブートRom搭載なのでTethered Jailbroken状態にある。再起動する度に母艦からbrackraInやSnowBreeze等でロードする必要がある。普段はUbuntu機を持ち歩いているので、出先でリブートが掛かるとリロード出来ずにiPhoneが使いものにならなくなってしまう。

なのでWindows 7を入れてデュアルブートにしてみた。WindowsUbuntuを入れる場合は正常にブートローダが構築されるが、逆にUbuntuWIndowsを入れた場合は起動時に複数のOSを選択出来るようにブートローダ(ここではGRUB2)を再インストールしなくてはならない。

  1. UbuntuWIndows用のパーティションを作り、NTFSにフォーマットする。
  2. ついでにデバイスパーティションナンバーも確認しておく。
  3. 作ったパーティションWIndowsをインストール。
  4. Ubuntu Desktop LIVE CDからUbuntu Desktopを起動する。
  5. GRUB2を再インストールする。

○必要なもの

  • CD/DVDドライブ
  • Ubuntu Desktop LIVE CD

0. 準備
Terminalを開いて

grub-install -v

GRUBのVersionを確認する。Ubuntu 9.10はデフォルトでGRUB 1.97~beta4なので、一応バックアップをとっておく。

sudo cp /etc/default/grub /etc/default/grub.old
sudo cp -R /etc/grub.d /etc/grub.d.old
sudo cp -R /boot/grub /boot/grub.old
  • ここで一度GRUB 0.97に戻しておくと安定するかもしれないが、どちらでもいいと思う。なので以下は任意。

GRUBをパージ

sudo apt-get purge grub2 grub-pc

ここでブートローダー不在のワーニングが出るのでGRUB 0.97をインストール&menu.lstの作成

sudo apt-get install grub
sudo update-grub

Ubuntuが入っているデバイスを/dev/sdaとして、(パーティションナンバーは含めない)

sudo grub-install /dev/sda

1. GPartedでパーティションを作成
今回使用したハードディスクは60GBだったので5GBをスワップ用のロジカルドライブ、30GBをUbuntu、25GBをWinsows用に割り当てることにした。
BIOS画面でブートデバイス選択に入り、適切なドライブを選択して"Try Ubuntu without any change to your computer"。System>Administration下のGPartedでパーティションを構築する。各割り当て領域が大き過ぎず小さすぎないように慎重にやる。

2. Disk UtilityでNTFSにフォーマット
Windowsを入れるパーティションNTFSファイルシステムを使用するのであらかじめNTFSにフォーマットしておく。

3. 1.か2.のどちらかでLinux,Windowsのデバイス名を確認しておく。
ex)/dev/sda5 /dev/sdb1 など

4. Windowsをインストールする
Ubuntu LIVE CDと同様にWindows 7を起動する。Custom Installを選び1.-3.で作成したWIndows用のパーティションにインストールする。

5. GRUB2の再インストール
Windowsが正常に起動することを確認したら、もう一度Ubuntu Desktop LIVE CDから起動し、Terminalを開いて、Ubuntuが入っているデバイス(/dev/sdXYとする)をマウントする。

sudo mount /dev/sdXY /mnt

UbuntuをrootとしてGRUB2を再インストール(後ろの/dev/sdXにはパーティションナンバーを含まない)

sudo grub-install --root-directory=/mnt /dev/sdX

アンマウントする

sudo umount /mnt

/boot/grub/grub.cfgの更新

sudo update-grub

ハードディスク内に入っているOSを自動的に探してGRUB2に登録する。こんな感じになるはず

Generating grub.cfg ...
Found Debian background: Varun_Pramanik_GRUB2.png
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda2
done

6. 仕上げ
再起動してもまだブート画面はGRUB 0.97のままだと思うので、ここ等を参考にGRUB2にチェインロードしていく。といっても起動させるUbuntuパーティションの先頭にある"root"を"uuid"に変えるだけで出来ると思う。後はUbuntuに戻って

sudo upgrade-from-grub-legacy
sudo update-grub

で終了。

  • 参考サイトまとめ

http://ubuntuforums.org/showthread.php?t=1195275
How To Install GRUB 2 On Ubuntu 9.04
GParted -- A free application for graphically managing disk device partitions
http://www.gnu.org/software/grub/grub-2.en.html