
Ubuntu日本語フォーラム

ログインしていません。
8.04LTSから10.04LTSにアップグレードしたところ起動できなくなりました。
正確にはインストール後の再起動からおかしかったです。
調べてみたところ↓これに関するトラブルだと思われます。
GRUB menu.lst: メンテナーのバージョンをインストールするかローカルにあるバージョンを保持するか
https://wiki.ubuntu.com/LucidLynx/ReleaseNotes/ja
インストール中何度も聞かれましたがすべて"現在インストールされているローカルバージョンを保持する" を選択しました。
現在具体的には以下のような状態です。
再起動の手前まで無事に済みました。
ここで再起動を要求するダイアローグを消してブラウザを閉じた後、通常の終了ボタンをクリックしたところ普段の終了、再起動その他の選択画面が現れず文字だけの画面になりました。
しばらく放置してみましたが別に何を実行しているということでもなさそうなので強制終了。
その後起動するとOSの選択画面に行きますがここにインストールしたはずの10.04LTSはなく、仕方なく8.04LTSを選ぶと次のようなメッセージが現れます。
init:ureadahead main process(2726) terminated with status 5
libudev:udev monitor new from netlink :error getting socket:Invalid argument
mount all:mountall c:3204:Assertion failed in main :udev monitor =udev monitor new from netlink(udev,''udev'')
init:mountall main process(2729)killed by ABRT signal
General error mountinng filesystems.
A maintenance shell will now be started.
COTROL-D will terminate this shell and reboot the system.
root@****-desktop:~#
私にはここで何をすればよいのかわかりません。
どなたかお教えください。
よろしくお願いします。
オフライン
CUIのつーるの使用を避けると
root@****-desktop:~# ls /boot
vmlinuz-xxxxx の数字が上の物をメモ。
再起動してOS選択画面(8.10しか無いのですよね?)にカーソルを合わせて[E]Key を押します。
kernel で始まる行のvmlinuz-xxxxxxxxの数字をメモしたものに変更。
initrd の行の initrd-xxxxxxx の数字の部分もvmlinuzに合わせて変更(同じにする)。
変更が終わったら[Enter]Keyを押すとメニュー選択画面に戻りますので[b]Key を押して起動します。
起動後、端末から
$ sudo update-grub
を実行する。
以上がURLの内容を現状の環境で実行する方法です。
(単純にネット経由のアップグレードに失敗しているのでしたら何かと厳しい物が有るかも)
オフライン
ご教示ありがとうございます。
おかげさまでとりあえずが起動でき、アップグレード自体は成功していることが分かりました。
ただ、最後のステップで
>起動後、端末から
>$ sudo update-grub
>
>を実行する。
を実行すると端末の方では done と表示されるのですが再起動したときに反映されておらず元のままになっています。
もともと入っていたのは8.04LTSなので10.04LTSを起動させるまでの手順がhir0さんが書いてくださったものと若干異なっています。
>変更が終わったら[Enter]Keyを押すとメニュー選択画面に戻りますので[b]Key を押して起動します。
このステップで[Enter]Keyを押してもメニュー選択画面に戻らないのでそのまま[b]Key を押して起動しました。
このステップに何か問題があるのでしょうか。
ご教示お願いします。
オフライン
(以前のバージョンの扱いを忘れてしまいました)
/boot/grub/menu.lst を管理者権限でテキストエディタで開きます。
$ sudo gedit /boot/grub/menu.lst
開かれたmenu.lst の後半部分で以下の内容(詳細部分は違います)の箇所を探し出してください。
title Ubuntu 10.04.1 LTS, kernel 2.6.32-21-generic
uuid 39425500-a9ad-4142-ac36-364cfd461cba
kernel /boot/vmlinuz-2.6.32-21-generic root=UUID=39425500-a9ad-4142-ac36-364cfd461cba ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
quiet
[title]の行が起動時にメニューに表示される文字なので探しやすいかと思います。
GRUBメニューで変更した事と同じ変更を加えてください。
保存して下さい。
提案を幾つか書きます。
旧バージョンのGRUB Legacy (バージョン0.9x系) は 8.04 に採用されているものから進化しています。
新しいファイルシステムやパーティションへの対応です。
新にGRUB 2(バージョン1.9x系)が現在の主流で9.10?辺りから採用されています。
そこで、旧GRUBを使用するならバージョンを上げる。
$ sudo apt-get update
$ sudo mv -R /boot/grub /boot/grub-0.9x-old
$ sudo apt-get install grub
$ sudo grub-install /dev/sda
$ sudo update-grub
新しいGRUBを使用するなら
$ sudo apt-get update
$ sudo mv -R /boot/grub /boot/grub-0.9x-old
$ sudo apt-get install grub-pc
$ sudo grub-install /dev/sda
$ sudo update-grub
新しいGRUBとはGRUB2と呼ばれるもので旧バージョンと設定などの方法も異なります。
意図的に管理しないと2つのバージョンのGRUBのファイルが/boot/grubに混在する場合が有ります。
問題はありませんが、現在どちらをシステムが使用しているのかを調べるには
$ grub-install -v
を実行してください。
オフライン
ご教示ありがとうございます。
ようやくまともに起動するようになりました。
なおご提案にしたがいGRUB2を入れようとしたところ $ sudo mv -R /boot/grub /boot/grub-0.9x-old の R がおかしいというメッセージが出ました。
キーボード配置から察するにこれはTのミスタイプでしょうか?
オフライン
すみません。
mv コマンドにディレクトリへの操作を表すオプション R は必要有りませんでした。
-R を取り省いた状態で実行していただくと、/boot/grub がリネイムされます。
オフライン
状況によっては(GRUB2やGRUBの再インストールを行った後)/boot/grub をリネイムすると起動しなくなります。
リネイム(もしくは削除)した後でGRUB2のインストールやGRUBの再インストールを行はなければいけません。
/boot のgrubフォルダはリネイムしなくても各設定ファイルが混在するだけで実害はありません。
オフライン
お返事ありがとうございます。
$ sudo mv -R /boot/grub /boot/grub-0.9x-old
このラインが「意図的な管理」にあたり、これを飛ばすと2つのバージョンのGRUBのファイルが/boot/grubに混在することになるのでしょうか。
hir0さんの一番新しいご返信の内容は昨日のご返信のコマンドの順序についての説明と理解してよいですか?
自分で考えてコマンドを使ったことが無いので下らない質問で済みません。
ついでながら初心者向けのコマンド操作についての文献をご存知でしたらお教え願えないでしょうか。
オフライン
#8の理解で良いです。
コマンドについての説明(今回の件、GRUBに関した手解きドキュメント)は恐らく無いでしょう。
国内外に溢れる同様の内容、又はコマンドに付いて同等の内容の文書から「良質の」とは言いませんが理解できる物を探してもらう(情報を提供してもらう)しかないと思います。
説明が下手(文書力が、、、)なのは、申し訳ないです。
私に出来ることは踏み込んだ説明を残す事だけと思います。
旧バージョンのGRUBの更新は、今読み返すと少し疑問が残ります。
$ sudo apt-get upgrade
で大丈夫ではないか?と言う部分と、
$ sudo apt-get install grub
する前に
$ sudo apt-get remove grub
を実行しなくては? その辺りはシステムが自動で最新にしてくれるのかな? と、普段使っているだけに「やれば分かる」的な所が有ります(すみませんね)
さて、GRUB2の部分ですが
Ubuntu(の当確バージョン)が適用できるパッケージ(ソフトウェア)の情報を更新します。
$ sudo apt-get update
現在システムに有るフォルダをリネイムします。削除でよいのですが万が一問題が起こった場合に元に戻せるためです。
この作業は必須では有りませんが新旧の2つのGRUBは同じディレクトリの同名のフォルダを使用しますので後々に混乱(勘違い)を避けるためです。
$ sudo mv -R /boot/grub /boot/grub-0.9x-old
「-R」が不要でした。
GRUB2をインストールします、GRUB2とGRUB-PCはセットですので、これでGRUB2とそれに伴うパッケージが有れば同時にインストールされます。
GRUB2をインストールする事で「GRUB」は削除されます。
この時に/boot 内にディレクトリgrub が存在しなければ新たに生成されます。
$ sudo apt-get install grub-pc
先のGRUB2インストールはシステム(OS)内に配置しただけです。
実際にはブートローダGRUB2を何かのデバイス(ハードディスクやUSBメモリ等)にインストールしなければいけません。
通常はMBRと呼ばれる部分ですが用途によってはPBRにもインストールします。今回は内臓HDDのMBRについて書いています。
$ sudo grub-install /dev/sda
GRUB関連のツールがシステムを走査して自動で設定を書き込み(更新)します。
結構自動で実効されますが、どのタイミングなのか把握していないので最後に手動で実行しておくのが吉。
次回から間違いなく更新された設定が反映されます。
$ sudo update-grub
パッケージリストの更新
↓
grubフォルダの名前を変更して退避する。
↓
GRUB-PCをインストールする。
↓
依存関係でGRUB2も同時にインストールされる。
↓
既存のGRUBは案アンインストールされる。
↓
必須フォルダ「/boot/grub」が存在しない場合は新規に作成される。
↓
内臓HDDの先頭(MBR)にGRUB2をインストールする。
↓
完了! の前に保険的に設定の更新を実行。
オフライン
非常に丁寧なご説明ありがとうございます。
明日実行してみます。
なお文献の紹介のお願いについては今後を考えてのことです。
今後も人様のご厚意を当てにすることがあると思いますが、その際一方的に相手の方がこちらのレベルに降りてきて下さることを期待するのは心苦しいので(もちろん今回もなのですが。なので非常に感謝しております。)これを期に勉強してみようと思いました。
オフライン
おかげさまでGRUB2のインストールも無事終了しました。
今回は本当にお世話になりました。
ありがとうございました。
オフライン