
Ubuntu日本語フォーラム

ログインしていません。
はじめまして、arngと申します。
ノートパソコンでWindowsXPとUbuntuのデュアルブートをしているのですが、
先日、Windowsから再起動をかけたところ、起動時に
「grub loading... please wait
ERROR 15」
のようなメッセージが表示され、OSの選択をする画面に進めません。
いろいろと調べまわってみたものの、対処法が分からず右往左往するばかりです・・・
UbuntuのLiveCDがあるので、それをつかってとりあえず起動し、HDDの中身を見たりすることは可能です。
また、特になにか設定を弄った記憶もありません。
強いて言えば、OS選択画面から間違えてコマンドラインを起動してしまい、終了方法が分からず電源ボタンを押したことがありますが
その後は正常に起動できました。
よろしければ、対処法とその詳しい手順をお教えいただきたいです;;
オフライン
少し調べたのですが、このERROR15というのは、特定のファイル(カーネルなど、GRUBの設定に含まれるファイル)が発見できないときに返されるエラーみたいです。
LiveCDでの起動はできるようなので、Ubuntuのパーティションをマウントした上で端末を開き、
cd /media/(Ubuntuのパーティション)/boot
ls
と実行していただいた上で、その結果(ディレクトリ内のファイルが一覧表示されます)を正確にメモしていただいて、
それをこちらに貼っていただき、
それに加えて、/boot/grubというディレクトリの中にある、menu.lstの中身も張り付けていただければと思います。
少し手間のかかる作業となりますが、何か有効な解決手段を見つける鍵となるかもしれません。
もしよければ、上記の作業、行っていただければ嬉しいです。
オフライン
返信ありがとうございます。
早速実行してみましたが、lsで何も表示されませんでした・・・
bootというディレクトリには何も入っていないようです;
オフライン
bootディレクトリが空になっているのはおかしいですね。
もしそうなら、mblackさんが指示されたmenu.lstからヒントを得ることは出来ないとでしょう。
何れにせよこのままでは、状況が掴めないのでライブCDを起動しパーテーションエディターを起動してパーテーション構成を確認してみて下さい。ひょっとしたらGRUBが正しくインストールされてない可能性があります。
オフライン
捕捉ですが、端末(ターミナル)よりコマンド入力にて確認にんする場合は、以下のコマンドを入力してみて下さい。
$ sudo fdisk -l
オフライン
実行、ありがとうございます。
パーティション構成についてですが、Linuxでは、/etc/fstabというファイルにマウントするパーティションを記して利用します。
この際、パーティションをマウントするディレクトリを指定することができ、例えばext3の/dev/sda2(パーティションを識別する際に使うデバイス名です)を/boot、XFSの/dev/sda3を/などと割り当てることができます。
Ubuntuをインストールする際にもこのような割り当ての作業を行うことができるのですが、何かの操作などにより、/boot用のパーティションを作ったにも関わらず、そのパーティションが正常にマウントされない場合、正常に起動しなくなります。
tncさんが仰っていますが、
sudo fdisk -l
の結果、
それと、Ubuntuパーティション中の/etc/fstabの内容を載せて頂けると嬉しいです。
オフライン
LiveCD から起動して選択画面が出たら、F6 を押すと画面下のほうに起動オプションが出ます。
ESC キーを押すと入力出来るようになるので、矢印キーを使って移動し boot=casper という部分を探してください。
この部分を root=/dev/sda5 とかに書き直して Enter キーを押します。
(上記の数字部分は、ご自身が ubuntu をインストールしたパーティション番号に置き換えてください)
この操作で上手く起動できた場合は、端末を開いて下記を実行してください。
$ sudo update-grub
これで、/boot に grub ディレクトリが作られて、その中に menu.lst が再生成されるはずですが・・・。
起動そのものが上手くいかない場合は、また別の問題がありそうですね。
オフライン
たくさんの返信ありがとうございます。
返事が遅くなってしまって申し訳ありません。
sudo fdisk -l の実行結果
-------------------------------------------------------
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x1ecfb89b
Device Boot start End Blocks ls System
/dev/sda1 1 10 80293+ de Dell Utility
/dev/sda2 * 11 23699 19028192+ 7 HPFS/NTFS
/dev/sda3 26887 30401 28234237+ f W95 Ext'd(LBA)
/dev/sda4 23700 26886 25599577+ b W95 FAT32
/dev/sda5 26887 27129 1951866 82 Linux swap / Solaris
/dev/sda6 27130 27141 96358+ 83 Linux
/dev/sda7 27142 27749 4883728+ 83 Linux
/dev/sda8 27750 28357 4883728+ 83 Linux
/dev/sda9 28358 28600 1951866 83 Linux
/dev/sda10 28601 30075 11847906 83 Linux
/dev/sda11 30076 30401 2618563+ dd Unknown
Partition table entries are not in disk order
-------------------------------------------------------
/etc/fstab の中身
-------------------------------------------------------
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda11
UUID=73347ee7-0a5f-48ea-94ea-7c9c70573108 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda7
UUID=9cc856a0-89f8-44c0-b757-f4ea476dfeb6 /boot ext3 relatime 0 2
# /dev/sda10
UUID=e882ed50-359a-4baf-ad60-36a8149c7d64 /home ext3 relatime 0 2
# /dev/sda8
UUID=04c76c8a-3b85-4649-81bb-377c11240261 /usr ext3 relatime 0 2
# /dev/sda9
UUID=d4c4c846-f457-42a2-b611-d4d207e61baf /var ext3 relatime 0 2
# /dev/sda5
UUID=ed33762c-38e9-43ec-860b-792341a89f4e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
-------------------------------------------------------
このようになっていました。
よろしくお願いします。
あと、petitbootangさんの仰っている、Ubuntuをインストールしたパーティションの番号がわかりません。
どこかで確認できますか?;
オフライン
arngさん、ありがとうございます。
Ubuntuは複数のパーティションに分けてインストールされてますね。
/dev/sda11がルートで間違いないみたいですが、/bootも分けてインストールされてるようなので、LiveCDから起動した際に/bootパーティションの内部が空だったのではないかと思います。
再度お手数お掛けしますが、LiveCDを起動していただいて、
/dev/sda7をマウントしていただき、
cd /media/(/bootのパーティション名)
ls
を実行していただき、その内容を示していただいた上で、
/dev/sda7内の/grub/menu.lst
の内容も示していただけると嬉しいです。
また、petitbootangさんの方法も有用だと思うのですが、その際は、root=/dev/sda11として頂ければ良いのではないかと思います。
実際に試したことがないので分からないのですが、もし不備があればどなたか指摘していただければ幸いです。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
返信ありがとうございます。
>>mblackさん
/bootのパーティション というのは bootというディレクトリがあるパーティション ということでしょうか?;
いちおう、lsの実行結果です。
----------------------
bin cdrom etc initrd lib media opt root srv tmp var
boot dev home inited.img lost+found mnt proc sbin sys usr vmlinuz
----------------------
また、/grub/menu.lstはこのパーティションではなく、別のところにありました・・・
おそらく /dev/sda6 だと思います。
一応、/dev/sda6にあったものの内容を示します。
----------------------------------------------
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=73347ee7-0a5f-48ea-94ea-7c9c70573108 ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,6)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Ubuntu 8.04, kernel 2.6.24-16-generic
root (hd0,6)
kernel /vmlinuz-2.6.24-16-generic root=UUID=73347ee7-0a5f-48ea-94ea-7c9c70573108 ro quiet splash
initrd /initrd.img-2.6.24-16-generic
quiet
title Ubuntu 8.04, kernel 2.6.24-16-generic (recovery mode)
root (hd0,6)
kernel /vmlinuz-2.6.24-16-generic root=UUID=73347ee7-0a5f-48ea-94ea-7c9c70573108 ro single
initrd /initrd.img-2.6.24-16-generic
title Ubuntu 8.04, memtest86+
root (hd0,6)
kernel /memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
title Microsoft Windows XP Home Edition
root (hd0,1)
savedefault
makeactive
chainloader +1
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda6
title Microsoft Windows XP Embedded
root (hd0,5)
savedefault
makeactive
chainloader +1
----------------------------------------------
petitbootangさんの方法についても返信ありがとうございます。
まだ試していませんが、試してみましたら報告します。
>>kiyoshiさん
/dev/sda11 は確かリカバリ用の領域だったような気もします・・・
よく分からないので、操作は行わないでおきます。
また、パーティションを分けた理由ですが・・・わからないのです;
Ubuntuは、学校の授業の一環で導入したもので、
意味もわからず指示に従っただけだったのです;
オフライン
arngさん、繰り返して行って頂きありがとうございます。
lsを実行するディレクトリですが、/bootというフォルダの中身を確認したくて、カーネルや/grubが入ってるディレクトリの結果を出していただければと思って操作方法を書きました。
少し分かりにくかったですね。
混乱につながったら申し訳ないですし、以前も少し説明したのですが、パーティションと/etc/fstabについて少しご説明をさせていただきます。
Linuxはいくつかのパーティションに分けてインストールすることができ、これらのマウント等の管理をするために、/etc/fstabが利用されています。
/etc/fstabではいくつかのオプションに加えて、マウントするパーティションをはっきり設定する必要があります。
/grub/menu.lstというのは、通常だと/bootディレクトリの中に存在しています。
UbuntuしかLinuxについてインストールされていなかったら、このファイルがあるパーティションが/bootであるとほぼ間違いなく言えます。
しかし、/etc/fstabを見ると、/bootのパーティションは/dev/sda7になっています。
このことから、パーティションの操作などにより、GRUBが正常にロードできなくなったのではないかと思います?
指定された位置に、指定されたファイルが存在していないことが原因だと推測しているのですが、ここまでいろいろやっていただいた状況で申し訳ないこと極まりないのですが、Ubuntuの再インストールが比較的容易に問題を解決する手段なのではないかと思います。
また、LiveCDで起動したLinuxからGRUBの修復等を行えるものがあったと思うのですが、残念ながら経験不足のため、はっきりとお示しすることができません。
もし詳しい方で、そのような方法を勧めて問題ないと判断された場合は、続けて投稿していただいて、説明していただけるとありがたいです。
いつも、力不足で申し訳ありません。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
間に入って口を挟むようで申し訳ないのですが、
arng による投稿:
/bootのパーティション というのは bootというディレクトリがあるパーティション ということでしょうか?;
いちおう、lsの実行結果です。
----------------------
bin cdrom etc initrd lib media opt root srv tmp var
boot dev home inited.img lost+found mnt proc sbin sys usr vmlinuz
----------------------
また、/grub/menu.lstはこのパーティションではなく、別のところにありました・・・
おそらく /dev/sda6 だと思います。
一応、/dev/sda6にあったものの内容を示します。
と書かれているので、LinuxについてUbuntuが1つインストールされただけの状態だったら、
/dev/sda6が/boot(/grub/menu.lstがあることから分かる)、その他不明なパーティション(おそらく、先の方で出てた/bootが空のパーティション)が/ なのではないでしょうか?
いずれにしても、GRUBを再インストールする必要がある気がします。
オフライン
返信ありがとうございます。
>>mblackさん
こちらこそ、理解力が足りず申し訳ありません。
設定と、実際のパーティション構成がズレてしまっている、ということだったのですね。
LinuxはUbuntuしか入っていません。
再インストールも、調べて検討してみようと思います。
>>kiyoshiさん
sudo mount /dev/sda6 /mnt -o rw と ls /mnt
を実行しましたが、devやmntは見当たりませんでした。
また、root=/dev/sda6 での起動ですが、うまくいきませんでした。
エラーのような文(failedとか書いてありました)が表示され、コマンドラインの画面になってしまいましたので、
次に、mblackさんの投稿を参考にして root=/dev/sda10(/bootが空のパーティションです)で実行してみました。
すると、「解像度が低いですよ」のような警告画面(?)が出たので、Continueをクリックしたところ、
とりあえず LiveCDのものではなく、自分のPCにインストールしたUbuntuが起動しました!
・・・が、ノートパソコンンのタッチパッドが反応しないため、キーボードで操作しなければいけない状況です。
この状態からできることはありますでしょうか?;
オフライン
良かったです。
個人的には、これでとりあえず、解決に向けてかなり前進したと思います。
まずはオプションを選択せずにLiveCDで起動し、少し面倒な作業となりますが、次の作業を行っていただきます。
起動後、端末を起動していただき、
sudo gedit
で、root権限のgeditを立ち上げて頂きます。
立ち上がったgeditで、/dev/sda6の/etc/fstabを開いていただきます。
ここからが少し面倒な作業なのですが、
/home、/usr、/varの入ってるパーティションを確認します。
/bootはsda6だと分かっているので、残りのこれらのパーティションの確認をします。
次に、sda7〜sda9のパーティションをマウントしていただき、どのパーティションがどこに割り当てられているかの確認をします。
目印として
/homeはユーザー名のついたフォルダが入っています。
/usrは、/bin、/include、/share、/srcなどのディレクトリが入っています。ただ、この際に/パーティションとディレクトリ名などが似ていますので、sda7〜9の中のどれかであるということに注意してください。
/varは、/cache、/tmpなどのフォルダが入っています。
確認が終わりましたら、geditで開いた、/etc/fstabを見ていただき、
-------------------------------------------------------
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sda11
/dev/sda10 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda7
/dev/sda6 /boot ext3 relatime 0 2
# /dev/sda10
/dev/(sda1なのような、/homeの入っているパーティションの番号) /home ext3 relatime 0 2
# /dev/sda8
/dev/(同じように/usrの入っているパーティションの番号) /usr ext3 relatime 0 2
# /dev/sda9
/dev/(同じように/varの入っているパーティションの番号) /var ext3 relatime 0 2
# /dev/sda5
UUID=ed33762c-38e9-43ec-860b-792341a89f4e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
-------------------------------------------------------
のように、UUID=数字になっている部分を削除していただいて、/dev/パーティション名のように書き直していただけますでしょうか?
この際、当てはめるパーティション名は、さきほど確認していただいたものを当てはめていただき、その他の部分は変更しないでそのまま保存していただけますでしょうか?
その作業が終わりましたら、再起動していただきます。
再び起動前の画面になると思いますが、この画面ではオプションをroot=/dev/sda10と変更していただき起動していただきます。
起動後、タッチパッドが反応しないというのは少し大変ですが、その状態からもいくつか行えることはあります。
起動完了後、表示されたデスクトップの画面で、Alt + F2キーを押します。
そうすると、"アプリケーションの実行"というダイアログが出てきます。
ここで、gnome-terminalと入力します。
これで、端末が起動するかと思います。
ここで、
sudo grub-install --root-directory=/media/(/bootのパーティション名) /dev/sda
というコマンドを実行していただきます。
作業終了後、シャットダウンしてLiveCDを取り出して頂きます。
少し長い上に面倒ですが、私の知識が及ぶ範囲ですとこの操作を行えば起動するのではないかと思います。
ただ、GRUBのインストール作業などリスクが大きい操作がありますので、もし疑問に思った点は質問して頂ければと思います。
オフライン
返信ありがとうございます。
前進ですか! 嬉しいです。
とりあえず、/homeと/usr、/varのパーティションは確認しましたが、/etc/fstabは/dev/sda6ではなく、/dev/sda10にあります。
sda10のものを編集してもよいのでしょうか?
オフライン
正直なところ、質問を頂いたときにはあまり状況も分からず手探りだったので、そこから考えるとかなりの前進だと思います。
回復の望みが見えてきたので、地道に頑張ってみましょう。
引き続き、力量不足で役に立てないかもしれませんが、できる限りのお手伝いはしますよ。
/etc/fstabは/dev/sda10のものを編集して頂いて大丈夫ですよ。
/dev/sda6にあるカーネルや起動設定を利用して、/dev/sda10が/ のUbuntuを起動させるという作業をしてます。
/etc/fstabに関しては、/ パーティションにあるものを編集して頂ければ。
オフライン
返信ありがとうございます。
力量不足なんて、そんなことないと思います。
とても詳しい知識をお持ちで、素晴らしいと思います^^
さて、/dev/sda10のものを編集してよいとのことでしたので、編集し保存しました。
再起動をかけ、
sudo grub-install --root-directory=/media/(/bootのパーティション名) /dev/sda
を実行しようと思ったのですが、
--root-directoryまで入力したあと、=がどうしても入力できません・・・
=ではなく、_が表示されてしまいます;
オフライン
いえいえ。
少しでも、お役に立ててれば幸いです。
=じゃないくて、_がでてくるというのは、キーボードの配列の設定が間違ってることが考えられるのですが、
本来=が表示されるはずのキーの隣の、^やへが表示されてるキーを、単体でそのまま押してみてください。
もし出なかったら、また質問してくだされば幸いです。
オフライン
返信ありがとうございます。
隣のキーで出ました^^; ご迷惑をおかけしました。
=がでたので、先ほどのコマンドを実行しました。
うまくいったようなので再起動したところ、エラー15の画面は出ませんでした! が、
英語が数行と grub> と表示された、コマンドラインの画面になりました。
これは成功なのでしょうか?
元の画面は カーソルでOS名を選択して起動する画面だったのですが・・・;
オフライン
かなり複雑で面倒な作業、お疲れさまでした。
問題なければ、次の作業を行った後、通常の利用に復帰できるかと思います。
grub>と表示されたコマンドラインの画面で、
grub> root (hd0,9)
grub> kernel /vmlinuz-2.6.24-16-generic root=/dev/sda6 ro quiet splash
grub> initrd /initrd.img-2.6.24-16-generic
grub> boot
と順番に正確に入力していただくと、起動するかと思います。
問題なく起動できることを確認した後、端末を開き、
cd /boot/grub
sudo grub-install /dev/sda
を実行し、この操作のあと、問題なく再起動できれば大丈夫かと思います。
もしまた何か問題がありましたら、質問していただければお答えしますね。
オフライン
返信ありがとうございます。
上から2番目の、長いコマンドを入力したときに、
Error 15: File not found
と表示されてしまいました;
タイプミスは無いはずです・・・;
オフライン
申し訳ありません。
実は私もこのような操作に慣れておらず、私のミスかもしれません。
grub> root (hd0,5)
grub> kernel /vmlinuz-2.6.24-16-generic root=/dev/sda6 ro quiet splash
grub> initrd /initrd.img-2.6.24-16-generic
grub> boot
と入力してみてください。
もしまたエラーが出たら、質問していただければありがたいです。
手探りで、頼りないお返事の連続で申し訳ありません。
ただ、頼りにならないかとは思いますが、私が示した方法でもありますので、また問題が出たら誠意を持って再び対応させていただきます。
オフライン