
Ubuntu日本語フォーラム

ログインしていません。
Windows 2000 に grub4dos を導入し、空き領域にubuntu 8.04 LTS をインストールしました。
dev/sda6 にubuntu と grub (Legacy) をインストールしています。
menu.lst も sda6 にあります。
問題なく ubuntu を起動出来ます。
アップデートマネージャに「10.04.1 LTSにアップグレード」という表示が出ましたが、
これを実行するとどうなるでしょうか?
予想では、10.04 では、grub 2 が導入されると思うので menu.lst が grub.cfg となって、ubuntu が起動出来なくなるように思います。
もしくは、Windows 2000 も起動できなくなるのではと心配です。
正解はどうなりますでしょうか?
よろしくお願いいたします。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
私の認識ではgrub4dosはパーティションを走査してmenu.lstを探しません。
configfile (hd0,n)/boot/grub/menu.lst
の様な設定か別の何かその様な方法を用いているのでしょうか。
grub4dosのデフォルトでは
configfile /menu.lst
configfile /boot/menu.lst
configfile /boot/grub/menu.lst
となっていて、"/" はCドライブを指しています。
Cドライブにmenu.lstは有りませんか?
------------------------------------------
[Cドライブのmenu.lstを使用している場合]
/dev/sda6にチェインロードしている場合は問題は無いです。GRUBからGRUB2への変更を促された場合は同じ様に/dev/sda6にインストールする必要が有ります。
通常の記述でUUIDを使用している場合はUUIDが書き換わってしまうと起動できなくなりますのでデバイスファイル名に変更します。必用であれば起動後に$ blkid を実行してUUIDを確認して書き戻してください。
カーネルの指定が/vmlinuz 等のカーネルへのリンクを指定している場合は問題はありません。
直接/boot/vmlinuz-2.6.3n-nn-generic と指定している場合は変更しなくてはだめです。
まとめると、menu.lstの記述しだいです。
Windowsの方は問題は無いです。
ただし過去においてWindowsのパーティションテーブルが壊れる報告が有り。私も細部未確認ながら再現出来た現象です。と言う様な事が再発しないとは断言できません。
オフライン
あら?
すみません、またやってしまいました。#2の書き込みに気がつかずに「送信」してしまいました。
オフライン
このような質問たびたびですみません。
hir0 さん
私のPCでは、C:ドライブ(Win2k)にmenu.lstはありません。
grub4dosを解凍したときに出てきたmenu.lstは削除しました。
ファイルの検索でC:ドライブのどこにもmenu.lstが無いことを確認しています。
grub4dosがパーティションを走査して/dev/sda6の/boot/grub/menu.lstを見ているように思われます。
しかも、高速です。
ということは、やはりmenu.lstをC:ドライブに新しく作らなければなりませんね。
まず、
title ubuntu 10.04 LTS
root (hd0,5)
kernel /vmlinuz root=/dev/sda6 ro
initrd /initrd.img
で起動し、端末から
$ blkid
を実行して/dev/sda6 のUUIDを調べて<2ae*****-9e17-***-8eb3-35d1c0d6**>であったとすると
title ubuntu 10.04 LTS
uuid 2ae*****-9e17-***-8eb3-35d1c0d6**
kernel /vmlinuz root=UUID=2ae*****-9e17-***-8eb3-35d1c0d6** ro
initrd /initrd.img
でよろしいでしょうか?
すみません、もう一度UUIDを使うメリットを教えてください。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
成る程、順次パーティションを捜査する機能は働いていたんですね。不安定な機能として認識していました、改めます。
そうなるとSOkadaさんの#1の予想は当たりです。
10.04アップデート時にブートローダをメンテナーのバージョンをインストールせずにローカルにあるバージョンを保持する選択をすればよいということになります。
grub4dosを使いGRUBをシステムのメインにしてGRUBとGRUB2を使用する場合は
10.04アップグレード時にGRUB2を導入(メンテナーのバージョンをインストール)する。
もしくは10.04をGRUBで使用している場合は
$ sudo apt-get install grub-pc
$ sudo grub-install -f /dev/sda6
$ sudo apt-get install grub
$ sudo update-grub
grub4dosからUbuntu の/boot/grub/menu.lst を使用するのでカーネルのアップデート,GRUB2の呼び出し新規OSの登録が自動で(update-grub)で行われる。
GRUB2で使用されているconfig.file grub.cfgは「uodate-grub」の影響を受けないので更新されない
grub4dosを使いGRUB2をシステムのメインとしてUbuntuを起動する場合は
10.04アップグレード時にGRUB2を導入(メンテナーのバージョンをインストール)する。
もしくは10.04をGRUBで使用している場合は
$ sudo apt-get install grub-pc
$ sudo grub-install -f /dev/sda6
menu.lstを
/menu.lst に置いて今まで通り直接カーネルを呼ぶか/dev/sda6にチェインロードします。
起動時に表示されるmenu.lstはupdate-grubの影響を受けないので直接カーネルを呼ぶ場合は設定の更新が必用です。
私のPCは悲しいかなgrub4dosは別のパーティション内を探してくれません(TT) ので起動時の挙動は未検証ですが、「grub4dosを使いGRUBをシステムのメインにしてGRUBとGRUB2を使用する場合」でmenu.lstにWindowsが検出されませんでした(私のPCの問題かもしれませんが)。
この場合起動時の挙動としてHDDに他のOSが検出されない場合はメニューを表示せずに設定された秒数後にOSが起動されるハズです。
カウントダウン中に[esc]キーを押すとメニューが現れます。
これを回避するには手動でWindowsへのチェインロードを記述するかmenu.lst の「hiddemenu」の先頭に#をつけてコメントアウトします。(パーティションの捜査もしないし、この現象は固有のものかもしれません)
device file name
/dev/sda 等のデバイス名にパーティション番号を付けたものはPCが認識するデバイスの順番とパーティションの先頭からの番号。デバイスの順番はa,b,c,d,e,f,g と順に振り分けられパーティションは1,2,3,4,5と付けられます。
内臓HDDは基本的に一番最初に認識されるので(SATAの場合)/dev/sda となり内蔵HDDの最初のパーティションは/dev/sda1になります。
/dev/sda1の内容が変更されようがサイズが変わろうが、その場所が最初に認識されるデバイスの第一パーティションである必用が有ります。
UUID
デバイスファイル名での指定は固定されたデバイスでは有効ですがUSB経由の取り外し可能なデバイスの場合、接続する順序によってデバイスファイル名が変更されます。 抜き取り方によっても使用されたデバイスファイル名が破棄されずに直ぐに接続しなおしても変更される場合もありますので、世界で一つだけのIDを割り当てることで解決します。
デバイスファイルが変更された場合(サイズが変わったりフォーマット形式が変わった場合)は、新たにUUIDが割り振られます。UUIDの変更前、変更後とも同じ場所/dev/sda1 であっても見失ってしまいます。
最近のパーティショニングツールはサイズ変更によるUUIDの変更を行わない情報がありましたが、まだ環境依存のようなので変更される可能性を留めて置くと良いかも。
LABEL
ラベルはデバイスファイル名の変わりに任意の名前を付けて指定の対象に出来ます。
UUIDと基本的に同じ扱いと思いますが名前の衝突が起こった場合の挙動は分かりません。
個人のシステムであればラベルに「Windows_XP_/dev/sda1」(使用できない記号などの有無は分かりません)などと付ければmenu.lst 以外にもUbuntu上でデバイスをマウントしたときの名称等が分かり易くなります。
オフライン
kiyop さん どうもです。
hir0 さん んん~ 私のおつむでは完全に理解ができかねそうです。
すみません。結局どうしたかというと、ubuntu 10.04 LTS をCDから新規にインストールしてみました。
結果、うまく行った?よぅです。
インストーラーが美しく現れ、順調に進み、「空き領域を最大限利用する」を選択すると、
sda6 を ext4 に、sda7 を スワップにするという案内が現れました。8.04 と同じです。
ただインストールの最後の画面で「詳細」をクリックすると「ブートローダーをインストール」にチェックが入っているのですが、
インストール先に /dev/sda6 を入力できません。
しかたがないのでブートローダーインストールのチェックを外して最後までインストールしました。
C:\ には menu.lst として、
title ubuntu 10.04 LTS
root (hd0,5)
kernel /vmlinuz root=/dev/sda6 ro
initrd /initrd.img
を置いています。
でもこれでは起動しないだろうと思いましたが、驚くかな起動してしまいました。
これで正解なのでしょうか?
パネルが切れているのが気になりましたが、プロパティをいじっていると正しく表示されました。
気になるのは、8.04 のインストーラーではブートローダーのインストール先を /dev/sda6 に指定できたのに、
10.04のインストーラーでは出来ません。インストーラーのバグではないでしょうか?(まさか…)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
みなさま ありがとうございました。
結局、8.04からのアップグレードではなく、10.04を新規にインストールするという結末で申し訳ありません。
無事、win2k、ubuntu 10.04ともMBRを温存して起動できるようになりました。
ただ、何度ubutuを起動しても、上下のパネルが切れる。
grub2がないとwindows 7とのデュアルブートが不安。
最後にもう一度だけ、新しいスレを立たせてください。
後から、grub2をインストールする最も簡単な方法について
しつこくて本当にすみません。:rolleyes:
オフライン
GRUB2の(PBR=パーティションの先頭)/dev/sda6へのインストールについて。
10.04のインストーラでは指定できたはずですが定かではありません。
10.10ではMBR,PBRともに指定できますが「インストールしない」は選択できなくなっています。
コマンドラインからのインストールは「PBR」についてGRUB2dではPBRへのインストールを推奨していないので幾度かのマイナーチェンジが行われています。
現状では、--force オプションを使用するのですが -f でも代用できます。
$ sudo grub-install -f /dev/sda6
オフライン