
Ubuntu日本語フォーラム

ログインしていません。
grub4dosを使用してWindows XPとubuntu10.04のデュアルブートの作業を行いました。
すべての手順を終了後、WindowsのブートメニューからLinuxを選択しましたが、
Dos画面にgrub>と表示されカーソルが点滅するだけでubuntuが起動できず困惑しました。
"Ubuntu Tips/その他/GRUB を使う" の記述を参考にして
https://wiki.ubuntulinux.jp/UbuntuTips/Others/GrubShell
grub>chainloader +1 grub>boot
上記のコマンドを入力してEnterを押したところ、grubメニューが表示され無事起動することが
できました。
しかし次に再起動およびシャットダウン➙起動すると、またgrub>カーソル点滅から先に進まず
上記のコマンドを再度入力しないとubuntuが起動できません。
どのようにすればWindowsのブートメニューからLinuxを選択後、上記のコマンドを入力せずに
grubメニューが表示されubuntuが起動できるようになるのでしょうか?
以下に私が行った手順を記述します。
<PC環境>
--------------------------------------------------------------
<エプソンダイレクトEndeavor NT2500>
CPU : Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
チップ : SiS 650 Rev 00
グラフィック・ドライバ : SiS M650_651_650_740
メモリ : 768MB
HDD : 120GB
--------------------------------------------------------------
1. Windows XPをインストール後、Gpartedにて"root、swap、home、windows E:ドライブ"の
パーティションを作成してからubuntu 10.04をインストール。
以下がsudo parted lsの結果です。
ubuntu@ubuntu:~$ sudo parted -ls Model: ATA SAMSUNG HM121HC (scsi) Disk /dev/sda: 120GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 32.3kB 32.2GB 32.2GB primary ntfs boot 2 32.2GB 64.4GB 32.2GB primary ext4 3 64.4GB 120GB 55.6GB extended 5 64.4GB 65.5GB 1077MB logical linux-swap(v1) 6 65.5GB 108GB 43.0GB logical ext4 7 108GB 120GB 11.6GB logical ntfs
sda2(hd0,1)にgrubをインストールしました。
(インストール準備完了の画面の"拡張"をクリックして/dev/sda2にインストール)
2. Windows XPのC:ドライブ直下にダウンロードしておいたgrub4dosの "grldr" および "grldr.mbr"を
配置し、ワードパッドで作成した "menu.lst"もC:ドライブ直下に配置しました。
以下が作成したmenu.lstの記述です。
title Linux root (hd0,1) kernel /boot/grub/core.img
3. Windows XPのboot.iniに以下を追記しました。
C:\grldr="Linux"
説明が上手くなく申し訳ありません。アドバイスして頂ければ幸です。
宜しくお願いします。
オフライン
$ ls /boot
カーネルのバージョンを確認してご自身の環境に合わせて書き換えてください。
XP側のmenu.lst
default 0
timeout 10
title Linux(/dev/sda2 kernel)
root (hd0,1)
kernel /boot/vmlinuz-2.6.32-21-generic ro quiet splash
initrd /boot/initrd.img-2.6.32-21-generic
quiet
title Linux(/dev/sda2 PBR)
root (hd0,1)
chainloader +1
title Windows
root (hd0,0)
savedefault
chainloader +1
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
mabuhayさんが混乱しちゃわない?
#3を採用するなら以下のエントリーも追加するのが妥当です。
kernel /vmlinuz.old ro quiet splash
initrd /initrd.img.old
出来ればデフォルトな構成を示して、必要であれば仕組みを理解してもらう為の基本的なパターンから始めたかったのですが、、、
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
#2を否定されたつもりは毛頭ありません。
あー、、、 root=デバイスファイル名、 もしくはroot=UUID= が抜けている事が言いたいんですね。
何か何時も視点が違うなあー。。。
#3でカーネルのリンクを指定するなら一つ前のバージョンもエントリーさせるのが妥当ってだけ。
>オフトピ:kernel行にroot=が無くても起動するのだろうか?わくわく。
起動する分けないじゃん。 どの辺にワクワク感を感じてんだろw
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
kiyopさん、hir0さん、お世話になります。
#2を若干変更した、menu.listはこれからWindows に戻り試してみます。
結果から先に申しますと、すべて起動できませんでした。
以下がLinuxを選択後に表示されたメニューを選択した時に表示された結果です。
#2の結果:
Booting Linux (/dev/sda2 kernel)par Filesystem type is ext2fs, partition type 0x83 The current working directory (i.e., the relative path) is \par kernel /boot/vmlinuz-2.6.32-21-generic ro quiet splash\par Error 15: File not found
#5の結果:
Booting Linux /vmlinuz and initrd.imgpar find --set-root /initrd.img\par Error 15: File not found
#3の結果:
Booting Linux(/dev/sda2 kernel)par Filesystem type is ext2fs, partition type 0x83 The current working directory (i.e., the relative path) is \par kernel /vmlinuz ro quit splash\par Error 15: File not found Booting Linux (/dev/sda2 PBR)par Filesystem type is ext2fs, partition type 0x83 The current working directory (i.e., relative path) is \par chainloader +1\par Error 1: Filename must be either an absolute pathname or blocklist
以下がdfの結果です:
~$ df ファイルシステム 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda2 30961696 2496604 26892332 9% / none 363472 272 363200 1% /dev none 367692 544 367148 1% /dev/shm none 367692 84 367608 1% /var/run none 367692 0 367692 0% /var/lock none 367692 0 367692 0% /lib/init/rw /dev/sda6 41286796 491888 38697624 2% /home
$ ls /boot/vmlinuz*の結果です:
~$ ls /boot/vmlinuz* /boot/vmlinuz-2.6.32-21-generic
kiyopさん、#8の件了解しました。
これからWindowsの方に行ってきます。
オフライン
起動出来ました!!
Linuxを選択後30秒位の間Dos画面で文字が凄い勢いで流れて行き、
その後無事起動できました。
本当にありがとうございます。
$ uname -rの結果です:
:~$ uname -r 2.6.32-21-generic
質問なのですが今現在保留中のlinux-generic、linux-headers-generic、linux-image-generic 2.6.32.22.23を
明日アップグレードする予定ですが、アップグレード後にmenu.lstの記述を2.6.32.21.22から2.6.32.22.23に
書き換えるのでしょうか?
もしカーネルをアップグレード後もmenu.lstを書き換えない記述方法はあるのでしたらアドバイス頂ければ幸です。
宜しくお願いします。
オフライン
直接カーネルを選択せずに最新のカーネルへのリンクを指定。
title Linux(/dev/sda2 kernel)
root (hd0,1)
kernel /vmlinuz root=/dev/sda2 ro quiet splash
initrd /initrd.img
quiet
title Linux(/dev/sda2 back version kernel)
root (hd0,1)
kernel /vmlinuz.old root=/dev/sda2 ro quiet splash
initrd /initrd.img.old
quiet
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
kiyopさん、hir0さん、お世話になります。
今日kiyopさんの以下の書き込みが気になったので起動に失敗したmenu.listを
ワードパッドおよびメモ帳ですべて確認してみました。
kiyopさん による投稿:
半角の「\」
そして
par
が気になります。なぜ、こんなものが入っているのでしょうか?
もしかして、Ubuntuで起動して、menu.lstを編集しませんでしたか?
改行コードの違いが問題で、おかしくなっている可能性があります。
Windowsで menu.lstが正しいかチェックしてください。行末に
par
のようなものがあったら、削除してください。
ワードパッドで確認したところ、"\" および "par" はありませんでしたが
メモ帳で開いた場合、"\" および "par" そして入力していない数字・アルファベットが
たくさん記述してあり驚きました。
起動に失敗したmenu.lstは、Ubuntuで参考にしたサイトおよび今回アドバイスして頂いた記述を
まずgeditにコピー > C:ドライブをマウント > Winのデスクトップにテキストファイル張り付け >
ワードパッドに記述をコピー > ファイル名をmenu.lstにして保存しました。
(#1のmenu.lstはWin XP-Ubuntu9.10[wubi]で上記と同じ手順です)
取りあえず一番最初にC:ドライブ直下に配置したmenu.lst (#1) をメモ帳で開き、
"\" および "par" および入力していない数字・アルファベットを削除して上書き保存後
#2を若干変更したmenu.lstと入れ替えて再配置して起動したところ、
Linux(Winブートメニュー)選択 > Linux(grldrメニュー)選択 > grubメニューからカーネルを選択で問題なく起動できました。
ご親切にアドバイスして頂いたkiyopさん、hir0さん、ご迷惑お掛けして本当に申し訳ありませんでした。
本当に恥ずかしいです・・・
オフライン
起動に失敗したmenu.lstは、Ubuntuで参考にしたサイトおよび今回アドバイスして頂いた記述を
まずgeditにコピー > C:ドライブをマウント > Winのデスクトップにテキストファイル張り付け >
ワードパッドに記述をコピー > ファイル名をmenu.lstにして保存しました。
(#1のmenu.lstはWin XP-Ubuntu9.10[wubi]で上記と同じ手順です)
ひょっとして、wordpadで保存するときに、テキスト形式ではない形で保存していませんか?
wordpadは名前の通り(?)古い形式のword文書を開いたり、rtf形式のファイルを保存をしたり出来ますから、テキストファイルを作成したい場合には、テキストファイルになるよう意識して用いる必要があります。
# テキストファイルを、MS-Wordで操作する場合とほぼ一緒です(「既存のテキストファイルを開いた」なら、上書き保存すれば同じ形式(=テキストファイル)になります。が、新規作成した場合は、形式が何になっているか(大抵は1番便利な/最新の/独自の形式がデフォルト)注意が必要です)
間違わない方法は、テキストファイルしか扱えないツールを使うことです。
# そうすると、標準ではメモ帳なのですが、メモ帳自身の機能の不便さもあるので、別途ツールを導入して・・・という人は多いのではないかと思います。
オフライン
weykさんの書き込みにある「テキストファイルを作成したい場合には、テキストファイルになるよう意識して用いる必要があります。」
と同じ意見ですが、コードの様なものを記述する時はメモ帳などのシンプルなエディタかプログラムで使用されるものがお勧めです。
ワードパッドやその他の高機能なソフトは目に見えないコードを文章に混入させます。
それは太字や下線等の装飾を行うための特殊な記号で、シンプルなエディタでは理解できずにそのまま文字として出力されてしまったのでしょう。
オフライン
hir0さん、weykさん、こんばんは。
起動に成功した#2を若干変更した、menu.listはWindows XPのデスクトップ上で右クリックして
出るコンテキストメニューのワードパッドから作成し、起動に失敗したmenu.listはメニューの
すべてのプログラムから起動したワードパッドで作成しました。
weykさん による投稿:
ひょっとして、wordpadで保存するときに、テキスト形式ではない形で保存していませんか?
wordpadは名前の通り(?)古い形式のword文書を開いたり、rtf形式のファイルを保存をしたり出来ますから、テキストファイルを作成したい場合には、テキストファイルになるよう意識して用いる必要があります。
起動に失敗したmenu.listは確か保存するときにrtf形式のテキストだったと思います。
weykさん による投稿:
間違わない方法は、テキストファイルしか扱えないツールを使うことです。
# そうすると、標準ではメモ帳なのですが、メモ帳自身の機能の不便さもあるので、別途ツールを導入して・・・という人は多いのではないかと思います。
以前Windowsのみ使用しているときはメモ帳・ワードパッドは一切使わずにTerapadを使用してました。
今回は恥ずかしいミスをした私に親切にご指導・アドバイスして頂いたhir0さん、kiyopさん、weykさん、
本当にありがとうございました。
今月中には契約中のISP(海外)の2年間持続契約プロモーションで無料のデスクトップPC(Ubuntu 9.10プレインストール)が
届くので妻+息子用にubuntu 10.04をインストールする予定です。(Ubuntuだけなのでミスしないと思いますが)
ありがとうございました。
オフライン