お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-12-16 18:35:49

akayuki
メンバ
登録日: 2008-08-17

Ubuntu8.10→Windows→Fedora10のマルチブートへ

最近、兄弟forumのFedoraUsersForumで教わりながら、Windows->Fedora10->Ubuntu8.10マルチブートを一応やってみた者です。当forumのデュアルブート関連トピックも読ませていただき、今度はUbuntu8.10→Windows→Fedora10を次の手順で試みたいと思っています。
①Ubuntu8.10を20ギガのHDDにインストール
②GpartedLiveCDでext3を縮小し、空き領域を作成
③その領域にWindowsXPをインストール
④Ubuntu8.10インストールCDで①のUbuntuを起動し
⑤Ubuntuのgrubを第1パーティションに作成
⑥grubにWindowsの為のチェーンロード記述を加える
⑦取敢えずUbuntuとWindowsのデュアルブートを確認
②、④は初体験でしたが⑥までは順調に進みました。しかし⑦は選択画面も出ず、Windowsがパッと立ち上がって...、失敗です。
すみません、今Windowsでこれを書いています。ご迷惑でしょう(違反?)がここで一回送信させていただきます。④のUbuntu から後ほど続けます。(pw失念、Ubuntu未稼働の為少々時間がかかりそうです):rolleyes:

最後の編集者: akayuki (2008-12-16 20:30:34)

オフライン

 

#2 2008-12-16 19:55:59

のんき
メンバ
登録日: 2007-03-04

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

>①Ubuntu8.10を20ギガのHDDにインストール
(hd0,0)にgrubがインストールされる。

>②GpartedLiveCDでext3を縮小し、空き領域を作成
>③その領域にWindowsXPをインストール
(hd0,0)にNTLDRがインストールされる。

>④Ubuntu8.10インストールCDで①のUbuntuを起動し
>⑤Ubuntuのgrubを第1パーティションに作成
(hd0,1)にgrubがインストールされる。

>⑥grubにWindowsの為のチェーンロード記述を加える
(hd0,1)の/boot/grub/menu.lstにWindowsXPのChainを設定

>⑦取敢えずUbuntuとWindowsのデュアルブートを確認
(hd0,0)のNTLDRが起動しWindowsXPが起動した。

こんな感じで動作を推測しましたがいかがでしょうか。

UbuntuとWindowsXPのデュアルブートをお望みなら
(hd0,0)のブートローダーをgrubか、NTLDRか、どちらにするかで
この後インストール方法が異なってきます。
お手軽なのはgrubです。
NTLDRをお使いになるのでしたBOOT.INIに設定を行ってください。
MBM、PARTBOOT、GRUB4DOSなどデュアルブート設定用アプリも
数あるようですのでお好きなのをご利用ください。

雑感
WindowsXPの物理的なパーティション配置はHDDの先頭の方が
良いように思います。WindowsXPの場合、システムパーティション
ブートパーティションと分けられますがNTLDRが最初にアクティブな
システムパーティションを探しに行きますので先頭の方が良いと
思います。OSのインストール順位はお好きな順番で良いと思います
メニューの並びはBOOT.INIか、/boot/grub/menu.lstの並びで
決まりますのでインストール順番を意識する必要はないです。

オフライン

 

#3 2008-12-16 20:56:18

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

のんきさん、ありがとうございます。100%ご推測の通りと思います。

のんき による投稿:

雑感
WindowsXPの物理的なパーティション配置はHDDの先頭の方が
良いように思います。WindowsXPの場合、システムパーティション
ブートパーティションと分けられますがNTLDRが最初にアクティブな
システムパーティションを探しに行きますので先頭の方が良いと
思います。OSのインストール順位はお好きな順番で良いと思います
メニューの並びはBOOT.INIか、/boot/grub/menu.lstの並びで
決まりますのでインストール順番を意識する必要はないです。

よく解りました。特に「NTLDRが最初にアクティブなシステムパーティションを探しに行きます」がモヤモヤしていたところです。
まずgrubをやってみてその後NTLDRでやって見ることにします。

最後の編集者: akayuki (2008-12-16 21:11:39)

オフライン

 

#4 2008-12-17 00:24:01

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

ubuntuからのlogin pwがわかるまで、まだWindows専用PCから送信します。

grubで続けます。HDDの構成は以下になっています。(操作コピー)
デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1               1         736     5911888+  83  Linux
/dev/sda2   *         737        2373    13149202+   7  HPFS/NTFS
/dev/sda3            2374        2482      875542+   5  拡張領域
/dev/sda5            2374        2482      875511   82  Linux swap / Solaris

④⑤の結果です。(操作コピー)
a@a:~$ sudo grub-install /dev/sda1
Searching for GRUB installation directory ... found: /boot/grub
Installing GRUB to /dev/sda1 as (hd0,0)...
Installation finished. No error reported.
これはどうやらOKです。
⑥では$gedit /boot/grub/menu.lstで最終行に
title WindowsXP
root (hda0,1)
makeactive
chainloader +1
を加えて再起動の結果⑦となったのです。(ssh経由では表示されないので/menu.lstをコピーできないのですみません)
「WindowsXPの物理的なパーティション配置はHDDの先頭の (方が良い) ように思います」とありますが、今回は2番目(デュアルブートの解説のほぼ全てが先頭にを前提にしているので敢えて2番目にして見たのです)なのでroot (hda0,1)としました。それが間違っているのでしょうか?やっぱり理解できていないんだなと今思い知らされました。
よろしくご教示をお願い致します。

オフライン

 

#5 2008-12-17 02:26:08

のんき
メンバ
登録日: 2007-03-04

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

図で説明出来れば良いのですが・・・
HDDの構成
・HDDの先頭にMBR(Master Boot Record)がある。
 MBRはBIOSの起動デバイスとして割り当てられた時ブートアップローダーとして機能する。
・各パーティションがある。
・パーティションの先頭にPBR(Parttion Boot Record)がある。
 PBRはMBRのローダーにより起動するブートアップローダーとして機能する。

①で行ったことは下記となります。
ubuntu 8.10 インストーラーで特にgrubの登録先を指定しない場合は
プライマリHDDのMBRにgrubを登録します。

③で行ったことは下記となります。
WindowsXP インストーラーは無条件に
プライマリHDDのMBRにNTLDRを登録します。

>a@a:~$ sudo grub-install /dev/sda1
この意味はgrubを第一パーティションのPBRに登録します。

ですからMBRにはまだNTLDRが登録されていることになります。
grubをMBRに登録するにはLive CD起動後
grubコマンドで
>root (hd0,0)
>setup (hd0)
>quit
を実行してください。

オフライン

 

#6 2008-12-17 10:03:24

yamato
メンバ
登録日: 2007-12-04

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

akayuki様、
以下のgrubのシーケンスの中のrootコマンドの引数の記述は間違っています。

>title WindowsXP
>root (hda0,1)     <-- これです(すみません、引用に付け加えて)。
>makeactive
>chainloader +1

root (hd0,1)
が正解だと思います。
それと、ubuntuには、update-grubって言うコマンドでmenu.lstを再構築出来る様です。

これでもブートしないなら、Win-XPの回復コンソールからFIXBOOTコマンドにて第二パーティションの第一セクタへNTDLR(及び必要なもの)を再度入れてみては如何でしょうか。

上記に於いても、のんき様がご教授されているようにMBRにgrubかMBMが入っている前提です。

最後の編集者: yamato (2008-12-17 10:15:34)

オフライン

 

#7 2008-12-17 12:20:36

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

のんきさん、yamatoさんありがとうございます。
成功しました!!

「ですからMBRにはまだNTLDRが登録されていることになります。grubをMBRに登録する」

これで眼の前が開けました。昨日のご教示「(hd0,0)のブートローダーをgrubか、NTLDRか、どちらにするか」がポイントだなと思っていましたが、「grubを(NTLDRが鎮座する)MBRに(手動で)登録する」なんて私にとっては聖域に踏込む行為でした。
menuにはデフォルトで載っているWindowsがトップに、最後に追加Window分が出ました。なるほど追加は不要なのですね。
さて、ここで復習し続いて、Fedora10を追加しようと思います。


yamatoさん、よく見るとroot (hd0,1)と記述していました。書き写しミスです。update-grub次回使ってみます。ありがとうございました。

最後の編集者: akayuki (2008-12-28 18:47:22)

オフライン

 

#8 2008-12-17 17:02:51

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

「menuにはデフォルトで載っているWindowsがトップに、最後に追加Window分が出ました。なるほど追加は不要なのですね。」これ真赤な嘘でした。のんきさん、びっくりさせてご免なさい。
自分でも、そんな馬鹿な?と思いmenu.lstを見直しましたら、トップに記入していたのを忘れていました。何が
「なるほど」だと自分でも呆れました。
取りあえず報告いたしました。

オフライン

 

#9 2008-12-18 20:52:05

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

sda4にfedora10をインストール後menu.lstにUbuntuの(hd0,0)を指定記入して、無事grubマルチブートが成功しました。chainloaderの意味通りですね。

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         736     5911888+  83  Linux
/dev/sda2             737        1190     3646755    7  HPFS/NTFS
/dev/sda3            2374        2482      875542+   5  拡張領域
/dev/sda4            1191        1827     5116702+  83  Linux
/dev/sda5            2374        2482      875511   82  Linux swap / Solaris

のんきさんお世話になりました。ありがとうございました。

次はNTLDRでやってみます。またよろしくお願い致します。

オフライン

 

#10 2008-12-22 19:55:28

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

さてNTLDRでやってみようと思っています。のんきさんの
「雑感
WindowsXPの物理的なパーティション配置はHDDの先頭の方が
良いように思います。WindowsXPの場合、…先頭の方が良いと
思います。OSのインストール順位はお好きな順番で良いと思います
メニューの並びはBOOT.INIか、/boot/grub/menu.lstの並びで
決まりますのでインストール順番を意識する必要はないです。」
で先頭Windowsはベストとは思うものの敢えてfedora->ubuntu->WindowsXPでNTLDRをと…。

デバイス Boot      Start         End      Blocks   Id  System         (80ギガHDD)
/dev/sda1   *           1        1961    15751701   83  Linux          (fedora10)
/dev/sda2            1962        2101     1124550   82  Linux swap / Solaris  (共用)
/dev/sda3            2102        3925    14651280   83  Linux         (ubuntu8.10)
残り44.46gigaバイト 未アロケート

アクティブに(起動可)出来るpartitionの数は最大4つ、と何処かで見て、swapを共用にするなど工面してやっと上記のHDD構成まで辿り着きました。ところがいざ空き分へのWindowsXPのインストールで「partitionの最大数が存在するため選択した領域に新しいpartitionを作成できない」と出ました。何か大きな認識違いをしているのではないかと思いますが、よろしくご教示をよろしくお願い致します。

最後の編集者: akayuki (2008-12-22 19:56:59)

オフライン

 

#11 2008-12-22 22:08:49

のんき
メンバ
登録日: 2007-03-04

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

Windowsシステムでは1つのHDDには基本領域(プライマリ)と拡張領域(エクステント)
合わせて4つのパーティションを作成することができます。
そしてWindowsXPのNTLDRはアクティブなプライマリ パーティションにのみインストール
出来ます。
このルールにayayukiさんの構成をのっけてみると最後のパーティションは拡張領域に
あたります。エラーメッセージは妥当な答えです。
お望みの設定をするのであればLinux Swap領域を拡張領域、論理パーティションに
割り当てれば可能になると思います。
WindowsXPをHDDの先頭に持っていくことがそんなにお嫌な理由は判りませんが
WindowsXPと共にデュアルブートシステムを作られるのであればWindowsXPを
HDDの先頭にもって行くほうがシステムのオーバーラップがなく速い動作になると
思います。

オフライン

 

#12 2008-12-22 23:30:26

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

ありがとうございます。確認させていただきますと
基本領域(3)+拡張領域(1)=4(max)は〇で
基本領域(4)+拡張領域(0)=4(max)は×なのですね。

早速Linux Swap領域を拡張領域、論理パーティションに割り当ててみます。(さて自分ひとりでできるかな?)

あの~、WindowsXPをHDDの先頭に持っていくことが嫌だなぞと全く思っておりません。今までWindowsXPが先頭でなければNTLDRでのマルチブートは絶対出来ないと思い込んでいたので、実際にやって見たかっただけです。今回成功したら、勿論Windowsを先頭にします。

オフライン

 

#13 2008-12-23 15:24:26

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

拡張領域作成はOKでしたが、論理パーティション作成がうまくいかず,linuxはswapnonで動いていました。今のところ支障ないので落着いてから事後対策。
さてwindowsXpインストール->アクティブパーティションには他のOSが入ってるからそのパーティションを非アクティブにせよ  と出たので、検索してとにかく非にしました。その結果WindowsXPがsda4にインストールされ起動しました。
「メニューの並びはBOOT.INIか、/boot/grub/menu.lstの並びで
決ま」
るということで、無謀にもboot.iniの最後に2行追加してみました。

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\Linux="Fedora10"
multi(0)disk(0)rdisk(0)partition(2)\Linux="Ubuntu8.10"

でGO!
失敗です。menuに3つは載るものの、1番上のWindowsは起動しましたが、Linuxどちらも「<Windows root>¥system32¥hall.dll が存在しないか壊れているのでWindowsが起動できないぞ」と出てしまいました。無知の涙です。
へこたれずやりますのでよろしくお願い致します。

オフライン

 

#14 2008-12-23 16:31:37

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

アクティブを1にするとFedora、3にするとubuntu、4でWindowsがそれぞれ起動します。3つ共activeにするとパーティションtable errorになる状況です。
現在boot.ini最後2行は
c:\grub.br="Linux"
に変えています。

オフライン

 

#15 2008-12-23 16:45:27

のんき
メンバ
登録日: 2007-03-04

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

NTLDRはGRUBと異なり直接他のOSを起動することは出来ません。
そのため他のOSを起動する場合PBRを使用します。
各OSを登録しているパーティションのPBRにそれぞれGRUBを登録します。
そのGRUBの起動メニューは/boot/grub/menu.lstとなります。
ではそのPBRをキックする方法ですが下記のようになります。

準備
フロッピを1枚用意する。

操作
(1)Ubuntu Live CDを起動する。
(2)GRUBコマンドで各OSのPBRにGRUBを登録する。
(3)各PBRをフロッピィに書き出す。
      $ sudo dd if=/dev/sda1 of=/media/fd0/fedora.pbr bs=512 count=1
     $ sudo dd if=/dev/sda3 of=/media/fd0/ubuntu.pbr bs=512 count=1
(4)WindowsXPを起動する。
(5)C:\にフロッピィ内のfedora.pbr、ubuntu.pbrファイルを登録する。
(6)C:\のフォルダ属性を全て見せる、システムファイル更新許可に設定する。
(7)BOOT.INIの更新
    [boot loader]
   timeout=30
   default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS
   [operating systems]
   multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Microsoft Windows XP
    Professional" /noexecute=optin /fastdetect
   C:\fedora.pbr="Fedora10"
   C:\ubuntu.pbr="Ubuntu8.10"
   最後の2行を追加
(8)C:\のフォルダ属性を元の状態に戻す。
(9)WindowsXP再起動

最後の編集者: のんき (2008-12-23 16:46:43)

オフライン

 

#16 2008-12-24 18:09:21

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

出来ました!
fdが附いていないPCなので、FTPなどで.pbrを作成する方に時間がとられましたが、首尾良く行きました。
お陰様でNTLDR、GRUB、WINDOWS、Ubuntu、Fedoraのマルチブートスクランブルを体験できました。特にNTLDRは本当に勉強になりました。のんきさんがWindowsXPをHDDの先頭に持っていくことを薦めている理由も納得がいきました。
これから、じっくり復習します。
ありがとうございました。

オフライン

 

#17 2008-12-25 16:52:12

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

最後の仕上げと思い、UbuntuとFedoraの共有swapを/dev/sda5に設定しました。

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1961    15751701   83  Linux
/dev/sda2            1962        2101     1124550    5  拡張領域
/dev/sda3            2102        3925    14651280   83  Linux
/dev/sda4   *        3926        9728    46612597+   7  HPFS/NTFS
/dev/sda5            1962        2101     1124518+  82  Linux swap / Solaris

ところが結果は
$ sudo mkswap /dev/sda5
Setting up swapspace version 1, size = 1124512 KiB
no label, UUID=45f171e0-849a-4b99-8ac9-f5017c82ae0b
$ sudo swapon -a
swapon: cannot stat /dev/disk/by-uuid/f09ce585-f142-4d95-82fe-dba017b79ca8: No such file or directory
になってしまいました。ここ迄来たら、毒食わば皿まで、の心境です。
ウルサイとお思いでしょうが、よろしくご教示をお願い致します。

最後の編集者: akayuki (2008-12-25 16:53:11)

オフライン

 

#18 2008-12-25 17:45:10

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

/dev/disk/by-uuid/45f171e0-849a-4b99-8ac9-f5017c82ae0b が /dev/sda5 を指しているのに、/etc/fstab には f09ce585-f142-4d95-82fe-dba017b79ca8 が指定されていませんか?

オフライン

 

#19 2008-12-25 20:25:15

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

mizunoさん、ありがとうございます。おっしゃる通りです。
fstabは以下のようになっています。

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# /dev/sda2
UUID=f09ce585-f142-4d95-82fe-dba017b79ca8 none            swap    sw              0       0


現在/dev/sda2に存在しないので(none)になっている。そこでswapファイルがあるsd5に変えようとしていますがそのコマンドや方法がわからない、というのが真意です。
よろしくお願い致します。

オフライン

 

#20 2008-12-25 21:10:01

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

~$ sudo mkswap /dev/sda5 (初期化)
/dev/sda5: Device or resource busy (になってしまいます)
構わず
$ sudo  swapon /dev/sda5
swapon: /dev/sda5: Device or resource busy(になってしまいます)

オフライン

 

#21 2008-12-26 14:43:19

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

busyとは働いているということだと覚りました。そもそも順序逆でした。fstabに記述してあるから起動時にそれに従うのですね。それで最終行にsda5にswap記述を加えました。uuidを使った方がいいそうですが取り敢えずデバイスで。
# /etc/fstab: static file system information.

#/dev/sda5
/dev/sda5     swap    swap defaults 0 0

さて、本当にswapとして働いているのを確認する方法を教えていただければと思います。

オフライン

 

#22 2008-12-26 22:27:50

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

検索してみたらfreeコマンドに遭遇しました。
起動後のswap状態
# free
             total       used       free     shared    buffers     cached
Mem:        773720     365096     408624          0      13748     178080
-/+ buffers/cache:     173268     600452
Swap:      1124508          0    1124508

swapをoffにしてみました。
# swapoff /dev/sda5
# free
             total       used       free     shared    buffers     cached
Mem:        773720     385192     388528          0      14044     191068
-/+ buffers/cache:     180080     593640
Swap:            0          0          0

確かにsda5でswapが働こうとしていたのがわかりました。でも何かもっとスマートな方法がありそうに思います。

最後の編集者: akayuki (2008-12-26 22:52:48)

オフライン

 

#23 2008-12-26 22:50:27

knxg9001
メンバ
From: Gifu
登録日: 2008-02-27

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

コード:

$ swapon -s
Filename   Type       Size     Used  Priority
/dev/sda5  partition  2980016  8108  -1

如何でしょうか。参考:Swap FAQ - Community Ubuntu Documentation

オフライン

 

#24 2008-12-26 23:28:49

akayuki
メンバ
登録日: 2008-08-17

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

knxg9001さんありがとうございます。グッとスマートですね。

$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda5                               partition    1124508    0    -1

どうやらこれで私のマルチブートへの旅は一応終りそうです。非常に勉強になりました。12月初頭迄mbr、pbr、ntldr,grub、基本領域、アクティブ、swap等の意味なんて考えたこともありませんでした。のんきさんはじめ皆様本当にありがとうございました。

オフライン

 

#25 2008-12-27 17:01:46

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: Ubuntu8.10→Windows→Fedora10のマルチブートへ

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

Board footer

Powered by FluxBB