お知らせ

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

#1 2011-01-09 13:19:20

sony5614
メンバ
登録日: 2009-08-17

Windows 7 grubインストール先

こちらで質問をさせていただきます。

現在、Wubiを使用してWindows7とUbuntu 10.04のデュアルブートを行っているのですがWubiの不具合が多く、パーティションを切った正式な方法で再度、UbuntuをHDDにインストールさせたいのですが
grubに関しての質問です。
HDD 320GB
1.Windows 7 (NTFS) 200GB
2.Ubuntu      (ext4)  100GB

windowsのMBRを基準にしてインストールを行いたいです。
PC起動

MBR(日本語)が表示され
Windows 7
Ubuntu
二番目のUbuntu選択

grubが起動し、Linuxのカーネルを選択

といったようにさせたいです。
HDD内にはWindows 7が入っているので普通にUbuntuをインストールしてしまうとgrubが上乗せされてしまうと思います。

その際、ブートローダのインストールデバイスをHDDの2番目のパーティションに選択すれば可能でしょうか?
(普通は(hd,0)だったと思うのですが)
また、可能でしたら以降のgrubアップデート時の注意点等があれば教えていただきたいです。

オフライン

 

#2 2011-01-09 14:20:20

sempook
メンバ
登録日: 2009-08-19

Re: Windows 7 grubインストール先

PC起動

MBR(日本語)が表示され
Windows 7
Ubuntu
二番目のUbuntu選択

grubが起動し、Linuxのカーネルを選択

といったようにさせたいです。

MBRのプログラムにはOSを選択する画面を表示する機能はありません。
MBRはアクティブな領域のブートセクタの位置をBIOSに示すだけです。

デュアルブートの為にはwindwosブートマネージャかgrubのような
選択機能があるブートマネージャかブートローダを経由しなければなりません。

したがってMBRをオリジナルのままデュアルブートするにには
1.MBR→windowブートマネージャ→winload.exe→windows
                  →grub→ubuntu

2.MBR→grub→windwosブートマネージャ→winload.exe→windows
        →ubuntu
のいずれかを選択しなければなりません。

いずれにしてもgrubはubutnuをインストールする領域のブートセクタにインストールします。
1.はBCDという設定書類を編集して手動でgrubへのエントリーを追加する必要があります。
  easybcdを使うと楽でしょう。

2.はubuntuをインストールした領域をアクティブにします。
  grubにwindowsの領域のブートセクタへのエントリーが自動的に追加されますので
  オートマティックでデュアルブートになります。
  (もちろんubuntuの領域が基本領域である必要があります。)


その際、ブートローダのインストールデバイスをHDDの2番目のパーティションに選択すれば可能でしょうか?
(また、可能でしたら以降のgrubアップデート時の注意点等があれば教えていただきたいです。

はい、2番目のっていうか、ubuntuをインストールした領域を選択します。
grubのアップデートは特に注意は必要ないと思います。

オフライン

 

#3 2011-01-09 14:53:25

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

早くも返答ありがとうございます。

easybcdは使用したことがありますのでバックアップを取りつつ実行したいと思います。

また問題が起こってしまったらこちらで質問させていただきます。

オフライン

 

#4 2011-01-09 15:26:29

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

すみません

さっそく問題が発生しました。
grubのインストール先が
HDD(/dev/sda)とwindows(/dev/sda1)の二つしかありませんでした。
現在はしょうがなく、/dev/sdaにインストールさせましたが
やはりgrub->windowsMBR->windows起動
という仕様になってしまいました。

grubのインストール先はどうすればいいでしょうか?
もう一つパーティションを切った方がいいでしょうか?
1.Windows
2.grub用(未フォーマット)
3.Ubuntu

オフライン

 

#5 2011-01-09 19:25:54

sempook
メンバ
登録日: 2009-08-19

Re: Windows 7 grubインストール先

現在はしょうがなく、/dev/sdaにインストールさせましたが
やはりgrub->windowsMBR->windows起動
という仕様になってしまいました。

いや、そうではなくて貴方はgrubをMBRに上書きしてしまったのですよ。
だからwindowsMBRというものはもう存在しません。
(MBRのプログラムはIBMがPC/AT互換機の仕様として定めたもので
windwosMBRなどと呼ぶのはかなり語弊があるのですが。)

現在のwindowsのブートの機序は
grubからwindwosの領域のブートセクタを経由して->ウィンドウズブートマネージャ
->winload.exe->windows起動となってるはずです。

もうブートセクタにgrubをインストールする意味はありません。
そのままお使いください。

どうしても元々のMBRに戻したければwindows7のインストールディスクで起動して
bootrec /fixmbrでmbrを修復した後に
ubuntuの領域のブートセクタへgrubをインストールしなければなりません。
もしwindows7のインストールディスクをお持ち出なければちょっと厄介かも。

オフライン

 

#6 2011-01-09 19:26:04

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

やはりgrub->windowsMBR->windows起動
という仕様になってしまいました。
grubのインストール先はどうすればいいでしょうか?

MBRをWindowsのものに書き戻して再チャレンジということでしょうか?
それでしたら
$ sudo grub-install -f /dev/sda2
$ sudo update-grub

パーティションエディタを起動して/dev/sda2 にbootフラグを立てる。で解決しないでしょうか。

オフライン

 

#7 2011-01-09 19:39:17

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

MBRに関してはいろいろ試したことがあるので
一応インストールディスクとMicrosoft公式のツールでUSBにコピーさせているものと2つあります

再度チャレンジしてみたいのですが
grubのインストール先を変更
$ sudo grub-install -f /dev/sda2
$ sudo update-grub
その後、MBRに上書きしてしまったgrubを削除してMBRを修復
windowsからツール等を使用してMBRの表示の方に/dev/sda2のエントリーを追加
といった手順でよろしいのでしょうか?

できればもう少し詳しく教えていただきたいです。

オフライン

 

#8 2011-01-09 20:30:18

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

ubuntuが基本領域(通常は/dev/sda1~/dev/sda3 拡張領域を作成していない場合は/dev/sda4 も含みます)にインストールされている事が前提です。

/dev/sda2 のUbuntuを起動して/dev/sda2にGRUB2をインストールしgrub.cfgを更新させて起きます。
$ sudo grub-install -f /dev/sda2
$ sudo update-grub

GPartedを起動して/dev/sda2を右クリック。
「フラグ」を選択して[boot]にチェックを入れて閉じる。

HDDのMBRをWindowsのものに書き戻す。
再起動。

オフライン

 

#9 2011-01-09 20:36:20

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

間違い。

MBRにパーティションテーブルが含まれている場合はブートフラグも書き戻されるので、手順としてはHDDのMBRをWindowsのものに書き戻してから、GPartedでbootフラグを/dev/sda2 に付ける。です。

フラグの確認はコマンドpartedで出来たはずですが、GPartedで2度ほど/dev/sda2 と/dev/sda1 と交互に変更させてやればフラグの2重書き込みの心配も無いと思います。(fdiskはbootフラグを重複させてしまう)

オフライン

 

#10 2011-01-09 20:44:18

sempook
メンバ
登録日: 2009-08-19

Re: Windows 7 grubインストール先

grubのインストール先を変更
$ sudo grub-install -f /dev/sda2
$ sudo update-grub
その後、MBRに上書きしてしまったgrubを削除してMBRを修復

ここまでは間違いありません。


windowsからツール等を使用してMBRの表示の方に/dev/sda2のエントリーを追加
といった手順でよろしいのでしょうか?

重ねて申し上げますが、MBRにはOSの選択やそれを表示する機能はありません。
MBRにエントリーを追加することは不可能です。
/dev/sda1がアクティブなら/dev/sda1のブートセクタに処理が渡りますし、
/dev/sda2がアクティブなら/dev/sda2のそれに処理が渡ります。
これは選択の余地がありません。

OSの選択の機能があるのはウィンドウズブートマネージャかgrubです。
いずれかを使ってOSを選択することになります。

ウィンドウズブートマネージャを使う場合は/dev/sda1をアクティブにして
easybcdなどでbcdにgrubへのエントリーを追加します。
(ウィンドウズブートマネージャは直接linuxを起動できませんので必ずgrub経由です。)

grubを使う場合は/dev/sda2をアクティブにすれば自動的にデュアルブートができます。

オフライン

 

#11 2011-01-09 20:47:40

sempook
メンバ
登録日: 2009-08-19

Re: Windows 7 grubインストール先

すみません、hir0さんの書き込みに気づかず投稿してしまいました。

オフライン

 

#12 2011-01-09 21:27:05

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

sempookさん
すみません、癖でMBRと書いてしまいました。

現在、MBRを修復しました。
hir0さんが書かれた

GPartedでbootフラグを/dev/sda2 に付ける。

というのはUSBもしくはインストールディスクからUbuntuを起動させ、HDDの/dev/sda2にbootフラグをつければよいのでしょうか?

オフライン

 

#13 2011-01-09 21:30:34

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

追記です。
現在は/dev/sda1にbootと表示されています。
こちらは何もしなくてよろしいのでしょうか?

オフライン

 

#14 2011-01-09 22:00:55

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

/dev/sda1のbootフラグを外して/dev/sda2に付けます。

オフライン

 

#15 2011-01-09 23:33:47

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

bootフラグを変更しましたが
黒い画面のまま起動しませんでした
grubもインストールさせていませんが
/dev/sda2にbootフラグを付けてしまったら
ウィンドウズブートマネージャが起動しないのではないのでしょうか?

オフライン

 

#16 2011-01-10 00:23:32

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

ごめんなさい。
私が書いているのはMBRを含め、Windowsに変更を加えずにデュアルブートを行う方法です。
方法としては#8と#9を読んでください。
#10に説明が書かれているので読んでください。

>/dev/sda2にbootフラグを付けてしまったら
>ウィンドウズブートマネージャが起動しないのではないのでしょうか?
この質問の答えは#2を読んでください。

質問の内容が#1に書いてあるように「Windowsのブートローダーから起動したい」、つまりWindowsのメニュー選択画面からUbuntuを起動したいのでしたら#2にあるようにWin7のメニューにエントリーを追加して抜き取ったPBRかgrub4dosのgrldrを使用するとお望みの状態になるかと思います。

オフライン

 

#17 2011-01-10 01:14:09

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

現在の状況は
HDD
1.windows 7
2.ubuntu
MBR->windowブートマネージャ->Windows 7起動
といった状態で、grubをどこにもインストールしていません。

/dev/sda2へのインストールも不可能でした。(エラーは後日、記載します)
なのでWindows 7しか今のところ起動できません。

easybcdを使用する際、追加するエントリーの情報(BCD IDやBootloader Pathなど)はどのようにして得たらよいでしょうか?

オフライン

 

#18 2011-01-10 21:17:11

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

エラーコードです。

コード:

$ sudo grub-install -f /dev/sda2
/usr/sbin/grub-probe: error: cannot find a device for /boot/grub (is /dev mounted?).
No path or device is specified.
Try '/usr/sbin/grub-probe --help' for more information.
Auto-detection of a filesystem module failed.
Please specify the mount with the option '---modules' explicitly

ここで2つ質問したいことがあります。
いままでの上記の質問も踏まえて
1.grub2はどこへどのようにしてインストールするか(MBRに上書きさせない)
2.ウィンドウズブートマネージャに追加するエントリーの情報はどこから読み取るのか
この2つをお聞きしたいです。

オフライン

 

#19 2011-01-10 22:26:28

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

1、RAID でしょうか? RAID は分かりません。
2、https://forums.ubuntulinux.jp/viewtopic.php?pid=24922#p24922
URLのwubiとvistaな所は関係有りません。grub4dosを使用すれば解決しませんか?

オフライン

 

#20 2011-01-11 00:09:51

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

grub4dosを使用して起動することができました。
ありがとうございます。

たぶんこれが最後の質問になると思うのですが
MBR->ウィンドウズブートマネージャ->grub4dos->grub2->Ubuntuという起動になりますよね?
grub4dosはCドライブ直下のmenu.lstを読み込んで旧grubのように選択して起動できるようになっていますがそれを自動選択することは出来るでしょうか?

menu.lstの中には

コード:

title    Linux Ubuntu
root (hd0,3)
kernel /boot/grub/core.img

と書いてあるだけです。
これ一つしかないのですがこれを自動選択することができれば
MBR->ウィンドウズブートマネージャ->Ubuntuを選択
(grub4dosが起動しLinux Ubuntuと表示されるのでEnter)←ここを省略し自動化
grub2起動->Ubuntu
という感じになりますよね?
これは可能でしょうか?

オフライン

 

#21 2011-01-11 00:28:04

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

https://forums.ubuntulinux.jp/viewtopic.php?pid=74434#p74434

>MBR->ウィンドウズブートマネージャ->grub4dos->grub2->Ubuntuという起動になりますよね?
menu.lst の記述によっては
MBR->ウィンドウズブートマネージャ->grub4dos->Ubuntu になります。

オフライン

 

#22 2011-01-12 21:28:59

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

できればUbuntuを起動させる前にgrub2を通したいです。
何かあった際、リカバリーモードから起動できるようにもしたいですし。。。

menu.lstを再度編集したのですが今度は適応されなくなりました。
defultやrebootを追加してみたのですが表示は変わらず

オフライン

 

#23 2011-01-12 22:04:29

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

私もコミュニケーションは不得手な方ですが、投げられたボールを投げ返すと次は違うボールが帰ってくるような、その都度、仕切り直しの様な対話形式でスレッドが成り立っている様に思えて状況が把握しきれていないのと、理解した部分も本当にそうなのか分からない状態です。

#20でgrub4dosを使用してGRUB2からUbuntuの起動に成功していますよね。

menu.lstを再度編集したのですが今度は適応されなくなりました。
defultやrebootを追加してみたのですが表示は変わらず

元に戻せば良いのではないですか?

(grub4dosが起動しLinux Ubuntuと表示されるのでEnter)←ここを省略し自動化

選択したエントリーに制御を渡すまでの秒数を短縮してメニューを非表示、自動で選択される項目を明示的に指定してやる事で望みの状態に近い動作が得られると思ったのですがURLの内容が分からなかったのでしょうか、それともgrub4dosもしくはsony5614さんの環境ではmenu.lstのオプションが適用されないのかな?

オフライン

 

#24 2011-01-12 23:39:00

sony5614
メンバ
登録日: 2009-08-17

Re: Windows 7 grubインストール先

誤解を招くような書き方をしてすみません。

menu.lst内のroot (hd0,3)
の数値を何度か変えてどの数値で起動できるか試していたのですが
その際、コード全体では

コード:

title    Linux Ubuntu
root (hd0,?)
kernel /boot/grub/core.img

というコードにして保存し、実行していました。
数値が0,3で起動できることが確認できたので今度はこのコードに
メニューを非表示にさせるコードや新しくエントリーを追加してみようと思ったのですが上書き保存し、再起動しても反映されませんでした。

起動はするのですがその後に追加したコードすべてが反映してくれないという状況です。

オフライン

 

#25 2011-01-13 01:01:39

hir0
メンバ
登録日: 2008-09-28

Re: Windows 7 grubインストール先

いや~、

誤解を招くような書き方をしてすみません。

menu.lst内のroot (hd0,3)
の数値を何度か変えてどの数値で起動できるか試していたのですが
その際、コード全体では
コード:
title    Linux Ubuntu
root (hd0,?)
kernel /boot/grub/core.imgというコードにして保存し、実行していました。
数値が0,3で起動できることが確認できたので今度はこのコードに
メニューを非表示にさせるコードや新しくエントリーを追加してみようと思ったのですが上書き保存し、再起動しても反映されませんでした。

いや~、それはいろんな数値を宛がっても起動するはずが無く、、、、、、、、、、、、、
意味が分からず続けているのですたら分野が違いすぎるのでサヨナラです。

オフライン

 

Board footer

Powered by FluxBB