お知らせ

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

#51 2011-03-06 21:29:23

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

Re: Grub2 でのUUID 変更方法を教えてください。

> 以上はhir0さんが予想されているとおりの動作と推察します。

\(TT)/ 想定外です.orz

Windowsが起動したのには期待はありました。
起動メニューのUbuntuの項目がアップグレード無しで10.04から10.10に書き換わる事は有り得ません。
(何だか今回は有り得ない事の連続、、、と言うことは私の理解する範疇を越えているのかな?)


起動時のOS選択画面はシステムによって自動で/boot/grub/grub.cfg に書き込まれます。
Ubuntuの設定が書き込まれている場所は「### BEGIN /etc/grub.d/10_linux ###」から「### END /etc/grub.d/10_linux ###」の間に書き込まれ「menuentry」の行の文字がOS選択画面に表示されます。

Windowsを含む、他のパーティションのOSは「### BEGIN /etc/grub.d/30_os-prober ###」から「### END /etc/grub.d/30_os-prober ###」の間に記述されます。

これはシステムが制御していて手書きで変更しても一定のタイミングで強制的に書き戻されてしまいます。
#50 で案内されている方法の一つ

> -- /etc/grub/40_custom に insmod part_msdos を追加するなど設定ファイルを弄ることで凌ぐ.

は、/etc/grub/40_custom ファイルにユーザーが設定を書きこんだ場合はシステムが自動で書き込む項目とは切り離されているので(ユーザーのカスタム設定用に用意されている)その方法を用いることを選択肢の一つとして提案されています。





さて、Ubuntuですが先程も書いたように有り得ない状況です。
通常考えられることは「10.10にアップグレードされた」です。最悪はアップグレードは中途半端で中断されてシステムはおかしくなっているのかも。
取り敢えず起動させなければ進みません。


一つずつ確認しながら起動手順を行なってみましょう。
長いディレクトリやファイル名は途中まで入力して[tab]キーを押すと自動で補完されます。候補が多いときは全て表示されます。
例えば grub> ls (hd1,2)/boot/vml   と入力して[tab]キーを押すとvmlで始まるディレクトリもしくはファイル名が自動で書き込まれます。複数存在する場合は全ての候補が表示されますので vml から続く文字を複数入力して[tab]キーを押すことで更に絞り込まれます(と言う便利機能を活用してください)

上記便利機能と相反しますがパーティションの読み込み確認と最新の(xxの番号の大きな物)「vmlinuz-2.6.xx-xx-generic」と一つ前の物をメモっておきましょう。

grub> ls (gd1,2)/boot

recordfailは必要かどうかの判断が付きませんが取り敢えず。

grub> recordfail

デフォルトで読み込まれているはずですが念の為に

grub> insmod ext2

grub> set root='(hd1,2)'

[tab]補完機能を使ってみましょう(手書きでも可)

grub> linux /boot/vmlinuz-2.6.xx-xx-generic root=/dev/sdb2 ro

initrd.imgのバージョンはvmlinuzと同じにする必要が有ります

grub> initrd /boot/initrd.img-2.6.xx-xx-generic

grub> boot

システムが正常なら起動するはずです。
ただ気になるのがいつの間にかgrub.cfgの記述が10.04から10.10に書き換わり以前のUUIDが認識されなくなったことが正常なシステム状態を保っているかどうかが気になります。

何か最初から終始、狂ったシステム上で足掻いている気がします。

・インストール時に問題の無かったGRUBが問題を起こし、入れ替え再設定後も改善されない。
・システム上からはデバイス、パーティション、ファイルシステム、OSを認識している。
・アップグレードは行なっていない(断定ではない)のにOS選択メニューが10.04から10.10に書き換わった。
・起動していたUbuntuのUUIDが書き換わった、もしくはGRUBから件のUUIDを識別できなくなった。


tugianiさん、認識、意識されていないだけで色々な事をされていませんか?
もし何もしていないなら、このシステム(現在インストールしているUbuntu)を使用するには不安を感じます。

オフライン

 

#52 2011-03-06 21:38:01

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Grub2 でのUUID 変更方法を教えてください。

tugiani さん による投稿:

hir0さんから教えて頂いた一連の呪文(?)を実行後、(Windowsの?)「オペレーティングシステムの選択画面」が表示され、Windowsを選択すると、正常にWindowsXPが起動するようになりました。これで解決か?と一瞬喜びましたが、再起動後同様に呪文を実行して、上述の「オペレーティングシステムの選択画面」で Ubuntu を選択すると、今度は別のOS選択画面(選択肢は、Ubuntu 10.10、Ubuntu 10.10、Windows)が表示され、一番上の Ubuntu 10.10 を選択すると、以下のように表示されました。
Booting Ubuntu 10.10
uuid (省略)
Error 22: No Such partition
Press any key to continue...

は,#26

tugiani さん による投稿:

アドバイスに従って、grldr、menu.lst 及び boot.ini をCドライブのルートに準備しました。

再起動後、(Windowsの?)「オペレーティングシステムの選択画面」が表示され、選択肢としてMicrosoft Windows, Ubuntu が表示されました。Microsoft Windowsを選択すると、正常にWindowsXPが起動します。一方、Ubuntu を選択すると、別の(Grubの)選択画面が表示され、選択肢としてUbuntu 10.10 が2つとMicrosoft Windowsが表示されます。ここでUbuntu 10.10を選択すると以下のように表示されます。(なお、2つあるうち、いずれを選択しても同じ結果でした。)

  Booting Ubuntu 10.10
  uuid fbfea167-5351-4f37-92db-1c0806c167e2
  Error 22: No Such partition
  press any key to continue...

の残滓です.

オフライン

 

#53 2011-03-06 22:29:53

tugiani
メンバ
登録日: 2010-10-11

Re: Grub2 でのUUID 変更方法を教えてください。

einundzwanzighundertsechs さん による投稿:

- 10.10 にアップグレードする./* 同じ環境に無いので,絶対確実と保証はできません */
- LTS のままで修正されるのを待つ.待つ場合は
-- 起動 OS の切り替えは,grub ではなく,BIOS による起動ドライブの選択でしばらく我慢する.
-- /etc/grub/40_custom に insmod part_msdos を追加するなど設定ファイルを弄ることで凌ぐ.

うーん…。最も簡単なのは10.10 にアップグレードすることでしょうが、hir0さんのご意見も聞いた上で今後どうするか決めたいと思います。

オフライン

 

#54 2011-03-06 23:57:32

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

Re: Grub2 でのUUID 変更方法を教えてください。

あー、そうでしたか気が付きませんでした!ごめんなさい#51は全却下です。
そうでしたね#37でUbuntuの起動が確認が取れて#45でWindowsが起動できることも確認できたので後はWindowsを起動する設定を書き込むだけです。

最初のGRUBのOS選択メニューからWindowsを選ぶとWindows側のOS選択画面が出ます。
これはgrub4dosの時の設定が残っているので(指摘されるまで分からなかったorz)boot.iniに書きこんだ一行を削除すると標示されなくなります。

Ubuntuを起動して端末から
$ sudo gedit /etc/grub.d/40_custom

テキストエディタが開き既に5行ほど書き込まれています。
その記述はそのまま残して行を変えて以下を書きこんで保存してください。

menuentry "Microsoft Windows XP  (40_custom)" {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,1)'
    chainloader +1
}

「 { } 」を忘れないでください。

$ sudo update-grub

を実行すると次回起動から
Microsoft Windows XP  (40_custom)

が表示されます。

#53 ですが私の意見ですか、、、何だか遠回りに引っ張りまわした感が多々あって恐縮ですが40_custom を利用してデュアルブートを行いUbuntu側でアップデートの通知が有れば元からのWindowsの起動メニューを選択して改善されたかどうか確認してやり過ごすのが良いかなと思います。

ただ最初に問題なく起動出来ていた事が(今後に影響は無いと思いますが)気掛かりです、原因は別の所に隠れているのではないかとの思いが残ります(後を引くような事を書いてスミマセン)

もしUbuntuが使い込んだ環境でないのなら現在と同じ10.04をもう一度インストールされるとどうなるのか知りたい所ですが少し図々しい考えですね。(もし再インストールが可能なら、ついでにHDDが2TB有るのだからパーティションを幾つか分けるとHDDの使用幅が広がりますよ)

オフライン

 

#55 2011-03-07 00:06:14

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Grub2 でのUUID 変更方法を教えてください。

40_custom に追加するのは

コード:

insmod part_msdos

だけで(の方が…かな)良いのではないでしょうか.
効果を特定のメニュー項目に限定しない方が,何らかの理由で grub シェルに落ちたときにも都合が良いし,
何より,短くて間違いにくいし.

オフライン

 

#56 2011-03-07 01:33:17

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

Re: Grub2 でのUUID 変更方法を教えてください。

オフトピ
今回は度々すみません、勉強になります。
知りませんでした、grub.cfgの記述はブロックで無いのは、そのまま実行されていくのですね。
実機で確認しようとしましたがモジュールを明示的に読み込まなければいけない環境が無いために確認は取れませんでしたが幾つか気が付いた事がありました。

grub rescue> の環境でなければ、grub> ならntfs.mod を明示的に読み込まなくてもNTFSを理解できる。
10.04では05_debian_themeがいつの間にか採用されていない。
10.10ライブCDではgrub-pcがインストールされている、GRUB2はインストール候補に無い。
10.04の環境でgrub-pcと、その他設定ファイルが健在ならGRUB2がパッケージマネージャ等を使用して削除されても「grub-install」コマンドは使用できる。
(これも違います、と指摘されたりして)
今回は沢山得ることがありました、最近は探求心が少ないのかも、11.04はデスクトップ環境も変わる様だし見えない所で目紛るしく変化が起こっているのを痛感しました。

今後も至らない所が有ればご指摘下さい。

tugianiさんへ、
私の書いた#54は/dev/sda1の起動(/sda1のメニュー選択時)にのみ「part_msdos」が採用されます。

#55の様に part_msdos だけを記入して保存(#54参照)してupdate-grubを実行してください。
メニューの標示もスッキリしますしシステムの更新による変更も気にする必要は有りません。

オフライン

 

#57 2011-03-07 23:40:21

tugiani
メンバ
登録日: 2010-10-11

Re: Grub2 でのUUID 変更方法を教えてください。

hir0さん、einundzwanzighundertsechsさん、アドバイスありがとうございます。

#55, #56 に従ったところ、正常に戻ったようです。
grubメニューの選択結果は以下のとおりです。(正確にメモしたわけではないので表記等多少違うかも知れません。)
1.一番上の Ubuntu を選択すると Ubuntu が起動しました。
2.一番下の Microsoft Windows XP  (40_custom) を選択すると、同じメニューに戻るだけで、先に進みません。
3.下から2番目のMicrosoft Windows XP を選択すると、「オペレーティングシステムの選択画面」が表示され、Microsoft Windowsを選択することにより、Windowsが起動しました!

当方が陥ったトラブルはどういうものだったのでしょうか?また、同様のトラブルに陥った場合に自力で解決するためには、何を理解しておく必要があるのでしょうか?手短で結構ですのでご教示お願い致します。

オフライン

 

#58 2011-03-08 00:35:44

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Grub2 でのUUID 変更方法を教えてください。

手短な回答は「10.10 にアップグレードすれば,少なくとも同じ問題に悩まされずに済むであろう」です.

現在,一番理解しておかなければならないことは,設定ファイルに独自の変更を加えた場合,
「システム管理者」である tugiani さんがその変更部分を管理しなければならないということです.
種類にもよりますが,設定ファイルが属するパッケージがアップグレードする際に,
その変更を,廃棄するのか,維持するのか,などの選択を迫られまれることがあります.
それが不要になって廃棄するまでは,最低限,どのファイルをどう変更したかを,tugiani さんが記憶しておかなければなりません.

オフライン

 

#59 2011-03-08 01:04:08

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Grub2 でのUUID 変更方法を教えてください。

そうそう,紆余曲折があったので読み取りにくくなっていますが,#54,#55,#56 にかけて私と hir0 さんが提案しているのは,
/etc/grub.d/40_custom に

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
insmod part_msdos

と,太字部分を1行だけ追加し,sudo update-grub を実行することです.

オフライン

 

#60 2011-03-08 22:39:23

tugiani
メンバ
登録日: 2010-10-11

Re: Grub2 でのUUID 変更方法を教えてください。

einundzwanzighundertsechs さん  による投稿:

手短な回答は「10.10 にアップグレードすれば,少なくとも同じ問題に悩まされずに済むであろう」です.

現在,一番理解しておかなければならないことは,設定ファイルに独自の変更を加えた場合,
「システム管理者」である tugiani さんがその変更部分を管理しなければならないということです.

そうでした。hir0さんから指摘があって記憶を辿ると、10.10 にアップグレードしかけて、途中でキャンセルボタンを押したような気がします。キャンセルボタンを押してはいけなかったのですね!!!(押してはいけないボタンを設けているソフトウェアの設計方針を聞いてみたくなりました…。)

einundzwanzighundertsechs さん  による投稿:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
insmod part_msdos

と,太字部分を1行だけ追加し,sudo update-grub を実行することです.

part_msdos について、初心者向けの解説をご存知でしたらご教示願います。

オフライン

 

#61 2011-03-08 22:59:29

tugiani
メンバ
登録日: 2010-10-11

Re: Grub2 でのUUID 変更方法を教えてください。

hir0さん、とても当方の理解が追いつきませんでしたが、何はともあれ昨日報告しましたように、デュアルブートが復活して一安心です。(他にもかな漢字変換等でトラブルを抱えていますので、一息ついたら別テーマで投稿予定です。)

hir0 さん  による投稿:

もしUbuntuが使い込んだ環境でないのなら現在と同じ10.04をもう一度インストールされるとどうなるのか知りたい所ですが少し図々しい考えですね。(もし再インストールが可能なら、ついでにHDDが2TB有るのだからパーティションを幾つか分けるとHDDの使用幅が広がりますよ)

正直なところ、もはやインストールは懲り懲りです。HDDはパーティションを分けず、NAS構築を予定しています。いろいろ教えてくださいましてありがとうございました。

オフライン

 

#62 2011-03-08 23:59:10

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

Re: Grub2 でのUUID 変更方法を教えてください。

アップグレード開始前のキャンセルは問題ないです。途中で長い間止まったままなので何だかの方法で強制的な終了を行った場合です。
今回の不可思議な「起動メニューに10.10の項目が表示される」はCドライブに作成したmenu.lstが読み込まれてしまったからです。

私も「えっ!」と驚きましたが、ご指摘を受けて、思い出しました。GPTを読み込めなかったgrub4dosの後処理をしないで次に移行してしまったのです混乱を招いてしまって申し訳ないです。

「part_msdos」に付いてはエンドユーザー側に向けてのドキュメントは無いかも知れません。
あくまで内部の一つの機能であって、それを末端のユーザーにアナウンスする必要は無いからです。
近い将来にはGRUB2のモジュール群の解説が有志のウェブサイトに公開されていく可能性は有ります。

(また余計な事を書いてしまいますが)
シェアの多いMicrosoft社のOSが動く事を基準に殆どの製品(部品)が作られています。
ビジネスとして大きく金銭的な利益を得られる為に互いに情報を共有しています。
実際には(Microsoftの)OS様が、「今度新しい機能を実装するから」と発表すると、その公表された技術書を元にハード、ソフトメーカーは新規に開発してWindows対応と発売するもに対して、Linux側は逆にメーカーサイドの情報の提供に委ねている所が多く有ると思います。

加えて開発から実際に使用するまで、極端に言うと(全て)ボランティアのチームが集まって組織だって役割分担して世界中にに存在します。
時間的コストも人員数も設備も営利目的の団体とは明らかに太刀打ちできない規模かな、、、

その辺を理解して頂ければ、普通は感じるだろう疑問や違和感等が和らげば良いなと思います。
tugianiさんの今回の投稿が次の改善にダイレクトに役に立ったりもします、あー何を書いているのか良く分からなくなって来ましたが「何か変だよね」って感じた所が少しほぐれたら、もっとUbuntuを触りたくなるかなぁって「part_msdos」から掛け離れすぎましたね。

NAS構築のノウハウなど蓄積されましたらtips か wiki にお願いします、それも皆が共有できる情報になるので。

オフライン

 

#63 2011-03-09 21:19:30

tugiani
メンバ
登録日: 2010-10-11

Re: Grub2 でのUUID 変更方法を教えてください。

hir0さん、コメントありがとうございます。

> アップグレード開始前のキャンセルは問題ないです。途中で長い間止まったままなので何だかの方法で強制的な終了を行った場合です。
そうであれば安心です。

> 今回の不可思議な「起動メニューに10.10の項目が表示される」はCドライブに作成したmenu.lstが読み込まれてしまったからです。
#16 に従って、確かに10.10を記述していました…。

> 私も「えっ!」と驚きましたが、ご指摘を受けて、思い出しました。GPTを読み込めなかったgrub4dosの後処理をしないで次に移行して
>  しまったのです混乱を招いてしまって申し訳ないです。
いえいえ、自分ではどうにもならなかったので、とても感謝しています。

> 「part_msdos」に付いてはエンドユーザー側に向けてのドキュメントは無いかも知れません。
そうですか…。自分でも検索しましたが、見つからなかったので質問しました。参考までに、hir0さんが「part_msdos」についての理解を深められた情報がどこにあるかご教示願います。(見たとしても理解できるようなものではないでしょうが、興味があります。)

> NAS構築のノウハウなど蓄積されましたらtips か wiki にお願いします、それも皆が共有できる情報になるので。
とても当方が他の方の参考になるような情報を提供できるとは考え難いです。でも、別の分野で、Ubuntu をお使いの皆さんに貢献できたら、とは思っております。(できるか否か分かりませんので、内容はまだ秘密です…。)

オフライン

 

Board footer

Powered by FluxBB