
Ubuntu日本語フォーラム

ログインしていません。
はじめまして。
ubuntuをインストールして「GRUB Loading... Error 21」というエラーがでてパソコンが立ち上がらなくなりました。
ちょうどフォーラムで同じ内容のトピックがあり参考にして自分なりにやってみたのですが
どうしてもうまく生きません。
なんとかお助けください。
1、DEllのパソコンに古いハードデスク60GBを増設してそこにubuntuをインストールしています。
2、CDからインストール Japanese Teamが作成している日本語ローカライズドイメージです。
3、インストールはディスク全体を使う から 増設したHDを選択しました。
4、端末で sudo blkid の結果は以下のとおりです。
ubuntu@ubuntu:~$ sudo blkid
/dev/sda1: UUID="886802AD680299D8" TYPE="ntfs"
/dev/sda3: UUID="52D682EC34F88BE0" TYPE="ntfs"
/dev/sda5: UUID="E4CC59370C7C240E" LABEL="DATA" TYPE="ntfs"
/dev/sdb1: UUID="4903262c-3205-413a-a7bc-77589d6583a6" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb5: UUID="3da06291-e288-4d43-9e69-f66981176444" TYPE="swap"
/dev/loop0: TYPE="squashfs"
5、sudo grub-install--root-directory=/media/disk/dev/sdb1 をして、
再起動しましたがやはり「GRUB Loading... Error 21」のエラーが出て立ちあがりません。
なんとかubuntu使いたいのでよろしくお願いいします。
オフライン
sudo grub-install --root-directory=/media/disk /dev/sda(他のスレッドから)
sudo grub-install--root-directory=/media/disk/dev/sdb1(このスレッドからコピー)
このdiskと/devの間にスペースがはいってないのは打ち込みミスですか?もしかしたら打ち間違いなだけかもしれません
まあもう少し待ちますか=)
オフライン
GRUBは そこそこ高機能なため, MBRにインストールしたとしても, そこだけに収まりきるブツじゃなかったりするです。
第二ステージが (通常はインストールしたパーティションの /boot/grub/ のトコに) 存在して, それもすべてひっくるめて GRUBです。
( === 削除 === )
PCがブート順序を選択できるのなら, 第一ステージ・第二ステージを分けることなく同じ HDDにインストールする方がそーゆーエラーを発生せずに済むカモ。
/dev/sdb の MBRへインストール, この時 /media/disk へ Linuxのファイルシステムをマウントしているのなら, こんな感じカモ。
sudo grub-install --root-directory=/media/disk /dev/sdb
訂正:
Error 21は第二ステージ側で出してるよーですね。:P
たぶんこんなメッセージ
Error 21: Selected disk does not exist Press any key to continue...
何かキーを押して GRUB メニューに移り, 該当する項目を修正すれば起動できたカモ。
あるいは GRUB shellで入力するとかでも …
最後の編集者: RxOrca (2008-06-05 20:12:49)
オフライン
hide さん、RxOrca さん、さっそくありがとうございます。
diskと/devの間にスペースいれていませんでした。
スペースを入れてやってみましたが、
ubuntu@ubuntu:~$ sudo grub-install--root-directory=/media/disk /dev/sdb1
sudo: /dev/sdb1: command not found
とでてしまいました。
また、RxOrcaさんのコードも試してみましたが
ubuntu@ubuntu:~$ sudo grub-install--root-directory=/media/disk /dev/sdb
sudo: /dev/sdb: command not found
となってしまいました。
どこか間違っていますか?
他になにか方法はありませんでしょうか?
オフライン
wdia による投稿:
どこか間違っていますか?
他になにか方法はありませんでしょうか?
たぶん間違ってますよ。
行頭に sudo付けているのは管理者権限での作業だからです。
しかも /dev/sdb 等のインストール先を間違うと, 最悪その部分が壊れてしまうカモです。
(ウインドーズのパーティションに対してソレを行ったりすると …)
なので, 間違えないように慎重に行ってください。
Webブラウザーに表示されている内容をそのまま端末で入力する場合には, こんな手順で行うとよいカモ。
(1) 入力したい行をマウスで選択 (複数行ではなく 1行がよいカモ)
(2) 「端末」へマウスカーソルを移動させておいて, 中ボタン
オフライン
「grub-install--root-directory=/media/disk」の部分が間違いでは?
「grub-install」と「--root-directory=/media/disk」の間に半角スペースが必要です。
おそらく「grub-install--root-directory」という1つの環境変数を定義しただけとみなされているのではないかと推測します。
このコマンドは,「grub-install」というコマンドのオプションとして,「--root-directory=/media/disk」を指定し,MBRをインストールするデバイス名として,「/dev/sdb」を指定するのものです。正確には,
$ sudo grub-install --root-directory=/media/disk /dev/sdb
の形になります。上のコマンドをコピーしてみて下さい。
なお,RxOrcaがおっしゃっておられるように,デバイス名を間違えないように注意が必要です。
$ sudo fdisk -l
というコマンドで確認できます。
オフライン
RxOrcaさん、vine_userさん ありがとうございます。
コマンドをコピーしてやってみました。
まず、$ sudo fdisk -l の結果は以下のとおりです。
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2f679b6b
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 5323 42756966 7 HPFS/NTFS
/dev/sda2 5324 14589 74429145 5 拡張領域
/dev/sda3 14590 14593 32130 7 HPFS/NTFS
/dev/sda5 5324 14589 74429113+ 7 HPFS/NTFS
Disk /dev/sdb: 60.0 GB, 60060155904 bytes
255 heads, 63 sectors/track, 7301 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x4123e8f7
デバイス Boot Start End Blocks Id System
/dev/sdb1 1 7209 57906261 83 Linux
/dev/sdb2 7210 7301 738990 5 拡張領域
/dev/sdb5 7210 7301 738958+ 82 Linux swap / Solaris
そして、以下のとおりコマンドを実施すると 以下のようになってしまいました。
どこが間違っていますでしょうか?
お手数をかけて住みません。
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/media/disk /dev/sdb1
mkdir: ディレクトリ `/media/disk/boot' を作成できません: No such file or directory
オフライン
OK。これで,Ubuntuが入っているのは,/dev/sdbで決まりです。
「/dev/sdb1」ではなく,「/dev/sdb」です。
パーティションではなく,Disk名を指定します。
もし,実際には「/dev/sdb」と正しく入力しているのであれば,
他に原因があるかも知れませんけど。
最後の編集者: vine_user (2008-05-29 23:03:48)
オフライン
wdia による投稿:
そして、以下のとおりコマンドを実施すると 以下のようになってしまいました。
どこが間違っていますでしょうか?
お手数をかけて住みません。
「住みません」の字が間違ってるカモ。
… とゆーのは置いといて。:D
wdia による投稿:
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/media/disk /dev/sdb1
mkdir: ディレクトリ `/media/disk/boot' を作成できません: No such file or directory
2点間違ってるカモです。
1点目は vine_userさんの発言どおりです。
/dev/sdb1 を指定すると, (MBRではなく) パーティション 1の PBRにインストールしようとするはずです。
もう 1点は, /media/disk にマウントしているのなら と書いてる様に, それは前提条件です。
先にマウントしてないとダメかもです (別の所にマウントしたのならそこを指し示す様に変更が必要です)。
今の状況が分からないけど, もしも LiveCDで起動してて, しかもまだマウントしていないのなら, メニューの [場所][コンピュータ], 該当する HDDで右クリックから "ボリュームのマウント" を選ぶとマウントできるです。
念のため, 「端末」で次のコマンドを入力してマウントされているか確認するとよいカモです。
mount
つか, ややこしいなら再インストールって手もあるカモです。
インストールしない方の HDDを取り外しておいて 1つの HDDだけにしてインストールすれば間違いないカモ。
オフライン
えーと、横レスすいません。
なんかハードディスクのパーテーション番号がダブっているからブートローダーが混乱しているように思えます。
スレーブのHDにLinuxをインストールしてあるのでややこしくなっているのではないかと思います。
CUIで追っかけるのもいいけど、お手数ですがインストール時に手動を選びマスターのパーテーションで
Windowsが入ってないパーテーションへインストールしてみては。
まずは、Windowsを立ち上げてデータを引っ越すなりバックアップするなりしてパーテーションの
スペースを作って下さい。
因みに、私の場合はマスターの1台みですがWindowsインストール時にC・D・Eの三つに
パーテーションを切りました。CドライブはWindows領域にして、EドライブをUbuntuをインストール時に
さらにインストール領域とswapの二つに切りました。残ったDドライブはWindowsとUbuntuの共有領域
としました。 それと気になるのは増設したHDはセカンダリに設定してあるのでしょうか?
オフライン
さっそくお返事ありがとうございます。
やってみました。
まず、RxOrcaさん mount の結果です。
これ、マウントしていますか?
どこを見て判断していいのかわからないので・・。
結局教えていただいたように、 [場所][コンピュータ], 該当する HDDで右クリックでマウントしました。
ubuntu@ubuntu:~$ mount
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
tmpfs on /lib/modules/2.6.24-16-generic/volatile type tmpfs (rw,mode=0755)
tmpfs on /lib/modules/2.6.24-16-generic/volatile type tmpfs (rw,mode=0755)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
gvfs-fuse-daemon on /home/ubuntu/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=ubuntu)
/dev/sdb1 on /media/disk type ext3 (rw,nosuid,nodev,uhelper=hal)
で、vine_user さんに教えてもらったようにやったのですが、
どうもうまくいっていないようです。
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/media/disk /dev/sdb
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /media/disk/boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/media/disk/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /media/disk/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(hd0) /dev/sda
(hd1) /dev/sdb
ubuntu@ubuntu:~$
RxOrcaさん のおっしゃるように、インストールしないほうのHDDを取り外してインストールするのが
一番早いのでしょうか・・・。
オフライン
tncさん、ありがとうございます。
最悪、マスターのHDへのインストールも考えます。
その場合、ubuntu用のパーテーションのサイズはどれくらいがいいでしょうか?
マスターのHDは120GBで、スレーブが60GBなので、いまあるXPのデータはスレーブ側に移しても大丈夫ですよね?
それから、増設HDDのセカンダリの設定はしたのですが、
そういわれるとチョット自信がありません。
確認する方法はありますでしょうか?
よろしくお願いします。
オフライン
Wdiaさん
えーと,マスターにWindowsがインストールしてありますよね。
パーテーションの1番め=Cドライブ ですよね
このパーテーションをいじらない(フォーマット)ように注意してインストールして下さい。
パーテションの5番の容量だったら十分インストール出来そうだと思います。
ローカライズドCDでインストール時にディスク全体を使うではなく手動を選んで下さい。
この時、ディスク番号5をUbuntu領域とswap領域の二つに分けて下さい。
これだけでデュアルブートできる筈です。
オフライン
レスを投稿する前にお返事をいただいて行き違いになりました。
ディスクの容量ですが、私の場合はマスターの容量は全体で200GBあります。
それを三等分(Eドライブはフォーマットせずに置いとく)にして1番目(Cドライブ)へWindows XPを
インストールしました。さらにEドライブ(約65GB)をUbuntuインストール時に二等分にわけました。
約60GBをUbuntu領域とし、残りの約4GBをswap領域としました。
これだけで十分ですよ。
オフライン
tncさん ありがとうございます。
このまま増設HDDでデュアルブートが難しいようなら、マスターのHDDへのインストールをやってみます。
パーテーションの容量的には問題ないですね。
ちょっと時間がかかりそうですので 明日またご報告いたします。
みなさんに教えていただいて おぼろげながらわかってきたような・・。
オフライン
それと増設分のHDはUbuntuインストール後にマウントできるようでしたらFAT32でフォーマットしておけば
WindowsとUbuntuで共有できる筈です。
私の場合は、Windows XPでDドライブをNTFSにてフォーマットしてあるのでUbuntu側からだと両領域が読み書き出来ます。でもWindows側からはCドライブとDドライブはマウント出来ますがUbuntu領域はext3
でフォーマットしたのでWindows側からは見ることが出来ません。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-05-30 13:02:54)
オフライン
kiyoshi による投稿:
解決方法2)
(RxOrcaさんのご指摘のように)WindowsXPの入ったドライブ(内蔵ハードディスク)をパソコン本体から取り出して、Ubuntuをインストールしたいドライブ(内蔵ハードディスク)のジャンパーピンなどをマスターに変更して、ケーブルのマスターの位置に接続してみてください。ジャンパーピンの位置は場合によってはCable Select(CS)でも良いかもしれません。これで、LiveCDから起動してインストールしてみてください。
備忘:(自分のためのメモです。気にしないでください。)
BIOSでMBRへの書き込みが禁止されているとか?いや、それならそもそもGrubのエラー21が吐かれないから違うでしょう。
ジャンパーピンのマスタースレーブ設定がおかしい?
DELLのパソコンはちょっとトラブルが多い?Googleってみるのが必要かも。
Grubのmap、/etc/fstabは大丈夫かなぁ。←後の問題。
実はインストールが正常に終了していなくて、/boot/grubの中身が無いとか?なら、上記findで分かるでしょう。
kiyoshiさんおはようございます
前レスでスレ主さんに、HDの設定の件で指摘したんですけど
やっぱりkiyoshiさんのおっしゃるとおり(マスター スレイブ)の設定がおかしいかもしれないですよね。
一台目のWindows搭載のHDがマスターだとして増設したUbuntu搭載のHDはパーテションが6番から
始まっていなくてはならないのに1番から始まっているのでおかしいですよね。
これって明らかに両方ともマスターになっていますよね。
仮に二台目をスレーブにしても起動時のアクセス権をマスターにしてあれば、Windowsが先に立ち上がる
のでBiosでの設定も必要になってくるのではないでしょうか?
なんか細かい設定をするよりも、マスターHDの開いたパーテーションにUbuntuをインストールして
スレーブを再フォーマットして、パーテションを切って保存領域として有効に利用したほうがいいと思いますがどうでしょうか?
最後の編集者: tnc (2008-05-30 06:54:04)
オフライン
wdia による投稿:
これ、マウントしていますか?
どこを見て判断していいのかわからないので・・。
(中略)
/dev/sdb1 on /media/disk type ext3 (rw,nosuid,nodev,uhelper=hal)
sdb1 (Linuxのパーティション) は /media/disk にマウントされてるです。
wdia による投稿:
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/media/disk /dev/sdb
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /media/disk/boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/media/disk/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /media/disk/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(hd0) /dev/sda
(hd1) /dev/sdb
うまくいってない訳でもなさそげです。
試しに, (先にも書いたとおり, これができるとゆー前提で進めてるけど) 起動の順番を変更して, 増設した HDDを優先にして起動してみてください。
オフライン
tnc による投稿:
前レスでスレ主さんに、HDの設定の件で指摘したんですけど
やっぱりkiyoshiさんのおっしゃるとおり(マスター スレイブ)の設定がおかしいかもしれないですよね。
???
主に, BIOSなどでの HDDの順番と, GRUB内での順番に違いがある時にこんな風になるです。
(でも mapとも違うはず)
だから通常は, インストール対象の HDD以外を取り除いてインストールすればよいカモ。
訂正:
"第一ステージが第二ステージを読み込めない" が原因じゃなく, GRUBはきちんと起動していたよーです。
最後の編集者: RxOrca (2008-06-05 20:14:58)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-05-30 13:09:49)
オフライン
RxOrca による投稿:
tnc による投稿:
前レスでスレ主さんに、HDの設定の件で指摘したんですけど
やっぱりkiyoshiさんのおっしゃるとおり(マスター スレイブ)の設定がおかしいかもしれないですよね。???
最初の方で書いた様に, これは第一ステージが第二ステージを読み込めないってことです。
主に, BIOSなどでの HDDの順番と, GRUB内での順番に違いがある時にこんな風になるです。
(でも mapとも違うはず)
だから通常は, インストール対象の HDD以外を取り除いてインストールすればよいカモ。
なるほど、理屈はよく分かりました。
でもスレ主さんは、Windowsとのデュアルブートにしたいとのことですが
それだったらマスターにOSをまとめた方がスッキリするのかなと思ったところでした。
あとkiyoshiさんそうですね、やっぱ私の勘違いでした2台めの1番でOKでした。
オフライン
みなさん、いろいろとありがとうございます。
増設HDDがスレイブの設定になっていないのですね。
私にとって一番わかりやすいのが、もともとのHDにウィンドウズとubuntuをインストールする方法かなと
思っています。
ほんとうは増設HDDにubuntuをインストールしたかったのですが・・。
HDDのスレイブの設定方法ですが、増設しているHDDが古いものですので説明書がありません。
HDDに印刷されている説明をみて設定したのですが、一度取り外して設定を確認します。
スレイブ設定でまた質問させていただくと思いますので、よろしくお願いします。
オフライン
Debianの例ですが,こちらのサイトに詳しく書かれていました。参考になれば…。
http://www.ep.sci.hokudai.ac.jp/~tutaka/dual_boot.htm
マスターとスレイブを入れ替えてインストールすれば,解決できるかも知れませんね。
最後の編集者: vine_user (2008-05-30 12:25:08)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-05-30 13:12:36)
オフライン