← 記事一覧

トリプルブート

時間がないので超速で書く。
Windows8が発売されたこともあり、自分のノートパソコンのOSを入れ替えた。

windows8とLinuxMintとCentOS。
綺麗なブーストの仕方ではない気がするけど、一応動いているのでここまでの流れの備忘録。

最初にLinuxMintをインストール
次にCentOSインストール
Windows8インストール

基本的にはそのままだが、パーティションだけ分けた。
LinuxMint 30G
CentOS 30G
Windows8 200G
ハードディスク上のパーティションもまさしくこの順番。ブートローダ系の知識が全くなく、途中MintやCentが起動できなくなったけど「grub4dos」を利用するという方法にぶつかった。

普通はWindowsを最初にインストールしてWindowsのブートローダの上にLinuxのブートローダのGRUBに書き換えるとスムーズらしいけど、

Grub4dosを使うとWindowsのブートローダにGrub4dosのブートローダを読みこませることができる。
Grub4dosのブートローダを編集してあげてLinuxを呼ぼうって話。

今の状態
Windows8ブートローダ→「Windows8」「Linux」→「Linux」選択→Grub4dos起動→Linux「LinuxMint」「CentOS」

引っかかったのは、Windows8入れたあとに
●Grub4dos入れる
●Linuxのブートローダの「Menu.lst」編集

●Grub4dosを入れる
Grub4dosの入れ方はググればいろんなとこで出てくる。
1. grub4dosをダウンロードしたら、grldrとgrldr.mbrをC:にコピー。
2. Windowsのブートメニューをいじるためにはコマンドラインからでなければならないので、管理者モードでコマンドプロンプトを開く。
3. 次のコマンドでLinuxを追加。

$ bcdesit $ bcdedit /create /d “Linux” /application bootsector エントリ {xxxx} は正常に作成されました。 $ bcdedit /set {xxxx} device partition=C: $ bcdedit /set {xxxx} path grldr.mbr $ bcdedit /displayorder {xxxx} /addlast

こんな感じ。{xxxx}はめちゃ長いけど写す。

●Linuxのブートローダの「Menu.lst」編集
ぼくの場合、CentOSをあとから入れたのでLinuxのブートローダはCentOSにある。Grub4dosでLinuxに入ったら、CentOSに入り、Menu.lstを編集する。(Mint入れたあとにCent入れたら自動的にデュアルになると思ってたんだけど結局なってなくて、ここでその設定をした。ここではまだMintはでてなかった。)
ここで入れないと少しめんどくさい。

<Grub4dosからLinuxに入れなかった場合>
Windows8のブートローダでGrub4dosに入り、そこからLinuxを選択したいわけだが、入れなかった場合、Grub4dos起動したあとすぐに矢印キー連打してCommandモード的な奴に入り、直接MintかCentを起動する。
よく分かんないけどこんな感じでLinuxMintを起動できた。

grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83

grub> kernel /boot/vmlinuz-3.2.0-23-generic root=/dev/sda1 [Linux-bzImage, Setup=0x4200, size=0x4b81d0]

grub> initrd /boot/initrd.img-3.2.0-23-generic [Linux-inited @ 0x7f279000, 0xd85e6b bytes]

grub> boot

変えなくちゃいけないのは、最初のroot(hd0,0)と、kernelって売った行の最後のsda1ってとこ。hd0って言うのはハードディスクの構成で一枚目だからhd0、二枚目ならhd1的な。そんで(hd0,0)の二個目の0はパーティションの順番を指している。ぼくの場合一番最初にMintを入れたから0、次に入れたCentを指定するときには(hd0,1)を指定する。
次にsda1っていうのはよくわからんけど、一番最初は1始まりだから1らしい。
ぼくの場合、Mintはsda1, Centはsda2っぽい。
こんな感じでLinuxどっちでもいいけど起動する。ここまでがLinuxに入れなかった場合。

そんで次にやっと「Menu.lst」を編集する作業に入る。
LinuxのブートローダのMenuを編集するんだが、まずそのファイルがどこにあるかを探す。
ぼくの場合、CentOSの「/boot/grub/menu.lst」にあった。これをvimで編集した奴がこれ。

[root@s-kotake]# cat menu.lst

grub.conf generated by anaconda

Note that you do not have to rerun grub after making changes to this file

NOTICE: You do not have a /boot partition. This means that

all kernel and initrd paths are relative to /, eg.

root (hd0,1)

kernel /boot/vmlinuz-version ro root=/dev/sda2

initrd /boot/initrd-[generic-]version.img

#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,1)/boot/grub/splash.xpm.gz hiddenmenu title Linux Mint root (hd0,0) kernel /boot/vmlinuz-3.2.0-23-generic ro root=/dev/sda1 initrd /boot/initrd.img-3.2.0-23-generic

title CentOS (2.6.32-279.11.1.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-279.11.1.el6.x86_64 ro root=UUID=79c217e1-c0f2-4d85-b942-561fd6cef379 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM rhgb initrd /boot/initramfs-2.6.32-279.11.1.el6.x86_64.img

title CentOS (2.6.32-279.el6.x86_64) root (hd0,1) kernel /boot/vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=79c217e1-c0f2-4d85-b942-561fd6cef379 rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=128M LANG=ja_JP.UTF-8 rd_NO_LVM rd_NO_DM rhgb initrd /boot/initramfs-2.6.32-279.el6.x86_64.img

って感じ。今のところこれで何とかトリプルブートができてる良い感じ良い感じ。

Windows8のブートのところがおしゃれ。

コメント 2

過去に寄せられたコメントです。現在、新規コメントは受け付けていません。

admin

おっkおっk!!!また今度教えたげる(^^)

スターダスト

オレもブートしたいよー.
今度教えてくれー.