Linux複数のデュアルブート環境構築
題名の通り「Linux複数のデュアルブート環境構築」をします.
したいことは次の通りです.
1. 1つのHDDに「Ubuntu10.04」と「Ubuntu12.04」のデュアルブート環境を作りたい.
2. 後でOSを再インストールするかもしれないということを考えて,Grubの上書きをせずに,
下に示すのように片方のOSを起動するときは,2重のGrubを通って起動させたい.
/sda
/sda1 =>> Ubuntu10.04
/sda2 =>> Ubuntu12.04
/sda3 =>> Swap
完成イメージ
起動 => Ubu10.04のGrub(/sdaの先頭)
(ここでUbuntu10.04を選択した場合)
/sda1のUbuntu10.04起動
(ここでUbuntu12.04を選択した場合)
/sda2の先頭のUbuntu12.04のGrubが起動する,
「Ubuntu12.04」を選択して/sda2のUbuntu12.04が起動する
こんな感じを目指します.
1.
まず,普通にUbuntu10.04をインストールします.
この時にUbuntu12.04をインストールする場所をあけておいてもいいですし,
Ubuntu10.04をインストールした後にGPartedなんかで空きを作ってもいいです.
2.
Ubuntu12.04をインストールします.
この時,パーティションなどを手動で切れるようにしておいて
ブートローダーを「sda2」にインストールするようにします.
3.
再起動すると普通にUbuntu10.04のほうが起動すると思います.
このままではUbuntu12.04がどこにあるのかをUbuntu10.04のGrub(/sdaの先頭)が分からないので,Ubuntu12.04を起動できません.
そこでGrubを編集してUbuntu12.04の場所を教えます.
ここで注意するのはGrubとGrub2ではこの設定の方法が違うということです.
Grubでは"/boot/grub/grub.conf"というファイルを直接編集すればよかったのですが,
Grub2ではそれが"/boot/grub/grub.cfg"に置き換わり,
しかも,変更方法が直接grub.cfgを編集するのではなく,
"/etc/default/grub"や"etc/grub/"などを変更して,
「update-grub2」というコマンドをたたき,
"grub.cfg"を自動生成するという方法に変わりました.
Ubuntu10.04,Ubuntu12.04ともにGrub2の方に対応しているので注意が必要です.
では設定を変更していきます.
として,下を一番下の行に追加していきます.
ここでhdx.xとsdxの対応は,例を挙げると,
sda1 ==>> hd0,1
sda2 ==>> hd0,2
sda3 ==>> hd0,3
sdb1 ==>> hd1,1
sdb2 ==>> hd1,2
sdc1 ==>> hd2,1
sdc3 ==>> hd2,3
このくらい挙げておくと大丈夫でしょうか.
そして,編集が終わったら
とすると
$ sudo update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-33-generic
Found initrd image: /boot/initrd.img-2.6.32-33-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 12.04.2 LTS (12.04) on /dev/sda2
done
それらしい出力が出てきます.
そして再起動するとUbuntu10.04のGrubに「Ubuntu12.04」という項目ができて,
それを選択するとUbuntu12.04が起動できるようになります.
参考になったサイト
LinuxMania: Linux をマルチブートする方法
http://www.linuxmania.jp/linux_multiboot.html
LinuxMania: Fedora と Ubuntu をデュアルブートする方法
http://www.linuxmania.jp/dualboot_fedora_ubuntu.html
Momonga Linux/マルチブート環境 - yohgaki's wiki
http://wiki.ohgaki.net/index.php?Momonga%20Linux%2F%E3%83%9E%E3%83%AB%E3%83%81%E3%83%96%E3%83%BC%E3%83%88%E7%92%B0%E5%A2%83
GNU GRUB を使用してシステムを起動する方法
http://www.turbolinux.com/support/document/knowledge/277.html
俺様Linux備忘録 ubuntu10.04のGRUBの設定
http://daisuke55.blog93.fc2.com/blog-entry-328.html
GRUB2 めも@Palm84
http://www10.plala.or.jp/palm84/grub2.html
Ubuntu 10.04のgrub.cfg - DB@WEB
http://dbweb.0258.net/wiki.cgi?page=Ubuntu+10.04%A4%CEgrub.cfg
grub2 - How to restore Windows XP menu entry in GRUB? - Ask Ubuntu
http://askubuntu.com/questions/11916/how-to-restore-windows-xp-menu-entry-in-grub
Ubuntu日本語フォーラム / ブートメニュー項目をいくつか削除したい
https://forums.ubuntulinux.jp/viewtopic.php?pid=52018
Grub 2 入門 | rionaoki.net
http://rionaoki.net/misc/ubuntu/grub-2-basics
(Linux)GRUB2でのマルチブート設定方法 : 3流プログラマのメモ書き
http://jehupc.exblog.jp/14527942/
Ubuntu | 物忘れの覚書き
http://freebee.oz-w.com/?cid=1
Ubuntu日本語フォーラム / スワップファイルの格納場所を変更したい
https://forums.ubuntulinux.jp/viewtopic.php?id=7122
Ubuntu日本語フォーラム / インストール時のスワップ領域について
https://forums.ubuntulinux.jp/viewtopic.php?id=4877
Ubuntu日本語フォーラム / <解決済み>LINUXーSWAP領域変更?
https://forums.ubuntulinux.jp/viewtopic.php?id=3947
したいことは次の通りです.
1. 1つのHDDに「Ubuntu10.04」と「Ubuntu12.04」のデュアルブート環境を作りたい.
2. 後でOSを再インストールするかもしれないということを考えて,Grubの上書きをせずに,
下に示すのように片方のOSを起動するときは,2重のGrubを通って起動させたい.
/sda
/sda1 =>> Ubuntu10.04
/sda2 =>> Ubuntu12.04
/sda3 =>> Swap
完成イメージ
起動 => Ubu10.04のGrub(/sdaの先頭)
(ここでUbuntu10.04を選択した場合)
/sda1のUbuntu10.04起動
(ここでUbuntu12.04を選択した場合)
/sda2の先頭のUbuntu12.04のGrubが起動する,
「Ubuntu12.04」を選択して/sda2のUbuntu12.04が起動する
こんな感じを目指します.
1.
まず,普通にUbuntu10.04をインストールします.
この時にUbuntu12.04をインストールする場所をあけておいてもいいですし,
Ubuntu10.04をインストールした後にGPartedなんかで空きを作ってもいいです.
2.
Ubuntu12.04をインストールします.
この時,パーティションなどを手動で切れるようにしておいて
ブートローダーを「sda2」にインストールするようにします.
3.
再起動すると普通にUbuntu10.04のほうが起動すると思います.
このままではUbuntu12.04がどこにあるのかをUbuntu10.04のGrub(/sdaの先頭)が分からないので,Ubuntu12.04を起動できません.
そこでGrubを編集してUbuntu12.04の場所を教えます.
ここで注意するのはGrubとGrub2ではこの設定の方法が違うということです.
Grubでは"/boot/grub/grub.conf"というファイルを直接編集すればよかったのですが,
Grub2ではそれが"/boot/grub/grub.cfg"に置き換わり,
しかも,変更方法が直接grub.cfgを編集するのではなく,
"/etc/default/grub"や"etc/grub/"などを変更して,
「update-grub2」というコマンドをたたき,
"grub.cfg"を自動生成するという方法に変わりました.
Ubuntu10.04,Ubuntu12.04ともにGrub2の方に対応しているので注意が必要です.
では設定を変更していきます.
sudo vim /etc/grub.d/40_custom
として,下を一番下の行に追加していきます.
menuentry "Ubuntu 12.04" {
set root='(hd0,2)'
chainloader +1
}
ここでhdx.xとsdxの対応は,例を挙げると,
sda1 ==>> hd0,1
sda2 ==>> hd0,2
sda3 ==>> hd0,3
sdb1 ==>> hd1,1
sdb2 ==>> hd1,2
sdc1 ==>> hd2,1
sdc3 ==>> hd2,3
このくらい挙げておくと大丈夫でしょうか.
そして,編集が終わったら
sudo update-grub2
とすると
$ sudo update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-33-generic
Found initrd image: /boot/initrd.img-2.6.32-33-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Ubuntu 12.04.2 LTS (12.04) on /dev/sda2
done
そして再起動するとUbuntu10.04のGrubに「Ubuntu12.04」という項目ができて,
それを選択するとUbuntu12.04が起動できるようになります.
参考になったサイト
LinuxMania: Linux をマルチブートする方法
http://www.linuxmania.jp/linux_multiboot.html
LinuxMania: Fedora と Ubuntu をデュアルブートする方法
http://www.linuxmania.jp/dualboot_fedora_ubuntu.html
Momonga Linux/マルチブート環境 - yohgaki's wiki
http://wiki.ohgaki.net/index.php?Momonga%20Linux%2F%E3%83%9E%E3%83%AB%E3%83%81%E3%83%96%E3%83%BC%E3%83%88%E7%92%B0%E5%A2%83
GNU GRUB を使用してシステムを起動する方法
http://www.turbolinux.com/support/document/knowledge/277.html
俺様Linux備忘録 ubuntu10.04のGRUBの設定
http://daisuke55.blog93.fc2.com/blog-entry-328.html
GRUB2 めも@Palm84
http://www10.plala.or.jp/palm84/grub2.html
Ubuntu 10.04のgrub.cfg - DB@WEB
http://dbweb.0258.net/wiki.cgi?page=Ubuntu+10.04%A4%CEgrub.cfg
grub2 - How to restore Windows XP menu entry in GRUB? - Ask Ubuntu
http://askubuntu.com/questions/11916/how-to-restore-windows-xp-menu-entry-in-grub
Ubuntu日本語フォーラム / ブートメニュー項目をいくつか削除したい
https://forums.ubuntulinux.jp/viewtopic.php?pid=52018
Grub 2 入門 | rionaoki.net
http://rionaoki.net/misc/ubuntu/grub-2-basics
(Linux)GRUB2でのマルチブート設定方法 : 3流プログラマのメモ書き
http://jehupc.exblog.jp/14527942/
Ubuntu | 物忘れの覚書き
http://freebee.oz-w.com/?cid=1
Ubuntu日本語フォーラム / スワップファイルの格納場所を変更したい
https://forums.ubuntulinux.jp/viewtopic.php?id=7122
Ubuntu日本語フォーラム / インストール時のスワップ領域について
https://forums.ubuntulinux.jp/viewtopic.php?id=4877
Ubuntu日本語フォーラム / <解決済み>LINUXーSWAP領域変更?
https://forums.ubuntulinux.jp/viewtopic.php?id=3947