デュアルブート環境構築を失敗しかけた話
d:id:youandi:20130917:p1
既存Linux実行環境に別途Ubuntuの実行環境を作る為に事前に色々調べていたんですが、一番面倒になりそうなLVMを使った環境ではなかったのでホッとした。
でも想定していたこれだとどう対応したら良いのか?というケースに陥って、環境構築に失敗しかけたのでメモ。
まず前提として、HDDのパーティション構成として以下を満たす必要があります。
既存のパーティション構成
パーティション | デバイス名 | ファイルシステム | 用途 |
---|---|---|---|
基本パーティション | /dev/sda1 | ext2系 | 既存Linuxの/boot |
基本パーティション | /dev/sda2 | swap | - |
基本パーティション | /dev/sda3 | ext2系 | 既存Linuxの/ |
基本パーティション | /dev/sda4 | ext2系 | 既存Linuxの/home |
既にパーティション数が4つになっていてこれ以上作成出来ない状態になっていた・・・orz
最初に試したパーティション構成
パーティション | デバイス名 | ファイルシステム | 用途 |
---|---|---|---|
基本パーティション | /dev/sda1 | ext2系 | 既存Linuxの/boot |
基本パーティション | /dev/sda3 | ext2系 | 既存Linuxの/ |
基本パーティション | /dev/sda4 | ext2系 | 既存Linuxの/home |
拡張パーティション | /dev/sda2 | - | - |
論理パーティション | /dev/sda5 | swap | - |
論理パーティション | /dev/sda6 | ext2系 | Ubuntuの/ |
LVMが全く使われていないのでGPartedで/dev/sda2のswap領域を削除して未使用領域として残したまま、/dev/sda4の領域をリサイズして拡張パーティション/dev/sda2を作成。
この構成だと、/dev/sda6にUbuntuのインストールは出来たんですが、既存LinuxのGRUB1から/dev/sda6にインストールしたGRUB2のローダーを見に行く事が出来なくてせっかくインストールしたOSを起動する事が出来なかった。
GRUBのコマンドモードで、chainloaderコマンドを指定すると、GRUBが認識しているHDDやパーティション情報を確認する事ができ、これで確認したら、/dev/sda2以降のデバイスは見えてなかった。
うまくいったパーティション構成
パーティション | デバイス名 | ファイルシステム | 用途 |
---|---|---|---|
基本パーティション | /dev/sda1 | ext2系 | 既存Linuxの/boot |
拡張パーティション | /dev/sda2 | - | - |
論理パーティション | /dev/sda5 | swap | - |
論理パーティション | /dev/sda6 | ext2系 | Ubuntuの/ |
基本パーティション | /dev/sda3 | ext2系 | 既存Linuxの/ |
基本パーティション | /dev/sda4 | ext2系 | 既存Linuxの/home |
GPartedで/dev/sda3, /dev/sda4をHDDの最後尾にコツコツと移動して、元々/dev/sda2のswap領域だった部分に空き領域を作成。
既存LinuxのGRUB1で確認したら、デバイス番号が連番ではないとか/dev/sda3, /dev/sda4がBIOSから見えないセクター位置にあるとか警告が出るものの/dev/sda6が見えるようになり、無事にデュアルブート環境が構築出来ました。
この辺の試行錯誤に4時間もかかってしまった。