
Ubuntu日本語フォーラム
ログインしていません。
先週初めてLinuxをインストールしました。
1台のノートPCにはインストールできてデュアルブートできました。
もう一つのノートにはグラフィックセーフモードでしかインストールできなかったのですが無事起動しました。
しかしこの2台目Ubuntuのみしか起動せずWinXPがデュアルブートできません。
まずどのようにすればいいでしょうか・・・・?
オフライン
自分は詳しいことは説明できないので簡単にキーワードだけ。
WinXPのパーティションを調べて、GRUBの/boot/grub/menu.lstを編集することになります。
単純に、WinXPを起動させるべき部分がコメントアウトされているのかもしれません。
StartUp Managerを使うと楽って話も聞きます。
このへんのキーワードでフォーラムやWebを検索すると答が見つかると思います。
オフライン
mozさんが、つい先ほど作られたトピックは参考になりませんか?
http://forum.ubuntulinux.jp/viewtopic.php?id=593
オフライン
Shibataさ
んyukionさん
有り難う御座います。
Shibataさんの仰ってることギリギリ解らないような感じです泣。
GRUBの/boot/grub/menu.lstというファイルのどこかを書き換えればboot刷るときにPCがboot元を読みに行くところが変わると言うことでしょうか?
(実はGRUBって何?と言うのが正直なところ。ググります。)
yukionさんの張ってくれたトピックはどうやらisoファイルを落としてbootCDを作るということから始めると良さそうです。
トライしてみます。
オフライン
自分も付け焼き刃な知識で書いているという前提を考慮してもらうとして。
GRUBはWindowsやLinuxを起動させるのに必要なブートローダの一種です。
Windowsは標準でNTLDRというブートローダを使っています。
Windowsがインストールされている環境に、あとからUbuntuをインストールすることで
デュアルブート環境にしたい場合、NTLDRをGRUBに置き換えて、
menu.lstを適切に設定することで、UbuntuもWindowsも起動できるようにします。
これは、Ubuntuのインストーラが自動で設定してくれるのですが、
環境によってはうまくいかないことがあります。
一つの解決方法は、menu.lstを直接手動で書き換えることです。
menu.lstの書き方と、Windowsをインストールした場所さえわかれば比較的簡単に設定できます。
menu.lstの書き方については、その中に簡単な解説が書いてありますし、
検索すれば日本語の情報がいろいろ出ると思います。
別の解決方法は、Ubuntuの起動をあきらめてとりあえずWindowsだけでも
起動できるようにする方法です(バックアップをとりたいとか)。
これはようするに、今度はGRUBを消して、NTLDRに置き換えるということです。
mozさんの方法はその一例です。
Windowsのインストールディスクがあるなら
http://linux2ch.is.land.to/index.php?MultiBootFAQs#k2db217c
こちらの方法も参考になると思います。
いずれにせよ、書き換えるのは「ブートするための領域」なので、
慌てて余計なことをしない限り、WindowsやUbuntuが消えることはありません。
落ち着いて「今、自分がやろうとしていること」を理解してから実行するようにしましょう。
とりあえず、UbuntuのLiveCDで起動してUbuntuやWindowsの
必要なデータのバックアップを取ることをおすすめします。
オフライン
Shibataさん
ご丁寧な開設有り難う御座いました。
実はhttp://forum.ubuntulinux.jp/viewtopic.php?id=593
のトピックスで5の手順をやって再起動するとno active partation fouundと表示が出てLinuxも起動しなくなりました。
menu.lstで検索してみます・・・・泣。
オフライン
Terminal で
sudo fdisk -l
を書いて、ここにCopy&Pasteして下さい。
オフライン
エラーメッセージが表示されたのなら、それで検索するのが定石です。
実際、Googleだとそのものずばりの解答が見つかります。
ようするに、WindowsやUbuntuをブートローダから起動するには、
WindowsやUbuntuをインストールしたパーティションにおいて、
「ここにシステムファイルがあるよ!」とわかるようなフラグが必要で、
そのフラグが存在するパーティションが「アクティブパーティション」ということらしいです。
5の手順において、そのフラグが消えちゃったんじゃないでしょうか。
それで、「起動できるディスク領域がないよ」といわれちゃったと。
フラグを立てなおす方法はいくつかあります。
一番確実なのは先ほどのリンク先のfdiskコマンドを使う方法です。
ただし、ちょっと見た目はとっつきにくいかもしれません。
グラフィカルな方法だとmozさんの解説6にあるGPartedを使うといいでしょう。
Windowsのパーティションの"Flags"にbootが設定されるようにしてください。
fdiskにしろGpartedにしろ事は慎重に。全ての作業をメモっておくぐらいのつもりで。
オフライン
ubuntu27さん
有り難う御座います。
TerminalはLinuxが起動しなくては使えないと思ってましたがもしかしてfdbootcdを起動した画面でも操作できるのでしょうか?
ちょっとやってみます。
Shibataさん
エラーメッセージはお決まりの文句なのですね。
まずそのフレーズを調べてみるようにします。
そしてわかりやすい解説有り難う御座いました。
GRUBとかMBRとかも調べてみました。
そういうものがあるのか・・・?で、どうすればいいの・・・?
という感じなのですがShibataさんmozさんの解説にGPartedをDLして起動させてみます。
Linuxを立ち上げたときにWinのBootディスクが認識されていたのでパーテーションは存在するはず。
なのでデュアルブートは出来ると考えています・・・。
最後の編集者: RainyDay (2007-07-18 16:05:45)
オフライン
"fdisk -l"はLinuxでのコマンドだと思います。
fdbootcd(FreeDOS?)だと"fdisk /status"(もしくは"fdisk /info")が該当するんじゃないでしょうか。
オフライン
GPartedを起動させてWinのパーテーションであるdev/hda5を右クリックFlagsをboot
にして再起動。
しかしやはりメッセージはno active partation fouundのまま。
Linuxの入ってるhda6のFlagsをbootにしても変化無し。
何か根本的に勘違いしています・・・・?
オフライン
RainyDay による投稿:
GPartedを起動させてWinのパーテーションであるdev/hda5を右クリックFlagsをboot
にして再起動。
bootにした後、[適用]を忘れているということはないでしょうか?
オフライン
適用・・・・?
どうすればいいのでしょう・・・・泣?
ただまたGpartedを再起動しても一番右の列flagにbootの表記は残っていました。
オフライン
RainyDay による投稿:
適用・・・・?
GPartedのツールバーに「適用」というボタンがあるはずです。
たぶん、既に適用はされてるんじゃないでしょうか。
/dev/hda5がWindowsのパーティションで、/dev/hda6がLinuxのパーティションなんですね。
ちょっと不思議な構成のような……hda1-4には何が入っているんでしょう?
ubuntu27さんがfdiskの出力結果をコピー&ペーストしてほしいと言ったのは
そのへんの構成と、ブートフラグがついているかどうかを確認するためです。
だから、いまからでも貼り付けてもらえると他の人が状況を確認しやすいかもしれません。
ブートフラグをつけてもブートできないのなら、ハードディスクの先頭(MBR)に
ブートローダがちゃんと入っていない可能性もあります。
UbuntuのLiveCDやWindowsのインストールCDから
ブートローダをインストールする方法はあるらしいのですが、
自分は今のところ具体的には説明できません。ごめんなさい。
オフライン
RainyDay による投稿:
ubuntu27さん
有り難う御座います。
TerminalはLinuxが起動しなくては使えないと思ってましたがもしかしてfdbootcdを起動した画面でも操作できるのでしょうか?
ちょっとやってみます。
GRUBにはUbuntuが表れるがWindowsは表れない状態でしょ?
Linuxの(Ubuntuでもなんでも良い) Terminal で
sudo fdisk -l
と書くとパソコンのHard Drives Partitionsはどうなっているか調べることができます。例えばWindowsはどこのPartitionにあるかどうか分かることが出来ます。
私の場合は:
ubuntu27@Blessed:~$ sudo fdisk -l Password: Disk /dev/sda: 120.0 GB, 120060444672 bytes 240 heads, 63 sectors/track, 15508 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 1 589 4452808+ b W95 FAT32 /dev/sda2 * 590 8217 57667680 7 HPFS/NTFS /dev/sda3 8218 15311 53630640 83 Linux /dev/sda4 15312 15508 1489320 5 Extended /dev/sda5 15312 15508 1489288+ 82 Linux swap / Solaris ubuntu27@Blessed:~$
私のパソコンではUbuntu Linuxは sda3 (partition 3) にあり、Windows は sda2 にあります。
それから貴方の/boot/grub/menu.lst が正しいかどうかどうか見ないとね。
もしLinuxをHard Drive からアクセス出来ないのなら、Live CD で gparted か qtparted を使って、partitionsが どうなっているのかをこのフォーラムに書いてください。
最後の編集者: ubuntu27 (2007-07-20 15:36:29)
オフライン
Sihbataさん
ubuntu27さん
何度も恐れ入ります。
ubuntu27さんがCopy&Pasteして欲しいとは何をコピペするのか意味が分かってませんでした。
Gpartedで起動してやってみました。
以下、転記します。
Disk /dev/hda: 100.0 GB, 100030242816bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/hda1 2 12161 97675200 f W95 Ext'd (LBA)
/dev/hda5 2 10855 87184723+ 7 HPFS/NTFS
/dev/hda6 * 10856 11828 7815591 83 Linux
/dev/hda7 11829 12161 2674791 82 Linux swap / Solaris
でした。
オフライン
menu.lstを書き換えればいいのかと思いgeditで編集しようとしたのですが書き込み禁止区域になっていて変更保存できませんでした・・・泣。
オフライン
RainyDay による投稿:
menu.lstを書き換えればいいのかと思いgeditで編集しようとしたのですが書き込み禁止区域になっていて変更保存できませんでした・・・泣。
menu.lst はシステムのファイルなのでRoot でなければ保存できません。Sudoでmenu.lstを開けてください。
念のため、menu.lstのコンテントをここにコピーして下さい。menu.lst が 貴方の fdisk -l に合ってるのかどうかを比べなければなりません。
オフライン
ubuntu27さん
有り難う御座います。
いえ日本語はよくわかります。
Sudoでmunu.lstを開ける方法が解らない私でした泣。
ここまで皆さんに教えて頂いたのですが操作ミスでlinuxの入っているところを/dev/hda6を消してしまったようです。申し訳ありません。
データはまだ何もなかったのでよかったのですが・・・。
正しいmenu.lstとは
Disk /dev/hda: 100.0 GB, 100030242816bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/hda1 2 12161 97675200 f W95 Ext'd (LBA)
/dev/hda5 2 10855 87184723+ 7 HPFS/NTFS
/dev/hda6 * 10856 11828 7815591 83 Linux
/dev/hda7 11829 12161 2674791 82 Linux swap / Solaris
この場合どうなっているのが正解なのでしょう?
http://www2.i-e-c.co.jp/grub2.html
ここを見たのですが真ん中どころに赤字で
kopt=root=/dev/hda1 ro
と書かれてるのが大事と解説がありました。
しかし、私のmenu.lstは
kopt=root=/**************** ro
となっていて******の場所にランダムな英数字の羅列があったのです。
ともあれもう一度インストールを試みます。
オフライン
RainyDay による投稿:
menu.lstを書き換えればいいのかと思いgeditで編集しようとしたのですが書き込み禁止区域になっていて変更保存できませんでした・・・泣。
HDD内のファイルなら編集可能です。これが CD-ROM上のファイルならば物理的に無理かもだけど。
んで, 書き込みに失敗しているのは権限がないから。パンピーが編集するのは不許可ってことです。
一時的に管理者としてソレを行うには sudoを付けてコマンドを実行するです。
sudo gedit /boot/grub/menu.lst
RainyDay による投稿:
正しいmenu.lstとは
Disk /dev/hda: 100.0 GB, 100030242816bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/hda1 2 12161 97675200 f W95 Ext'd (LBA)
/dev/hda5 2 10855 87184723+ 7 HPFS/NTFS
/dev/hda6 * 10856 11828 7815591 83 Linux
/dev/hda7 11829 12161 2674791 82 Linux swap / Solaris
この場合どうなっているのが正解なのでしょう?
そのためにも …
ubuntu27 による投稿:
念のため、menu.lstのコンテントをここにコピーして下さい。menu.lst が 貴方の fdisk -l に合ってるのかどうかを比べなければなりません。
オフライン
私も大変勉強になりました。皆様お疲れさまでした。
それで、もしWindowsも再インストールなさるなら
(緊急起動ディスク)
http://www.vector.co.jp/soft/winnt/util/se328382.html
これは、緊急起動ディスクと言う名前のソフトですが、Windowsのブートディスクです。
一枚作っておかれたら良いと思います。
ただ、どうしても必要な注意事項があります。
それは、どうやら9X系のフロッピーとNT系のフロッピーとは、別物らしいのです。
http://www.geocities.com/thestarman3/
データディスクとしてなら構わないが、システムディスクとしてはダメだよ、と言う事の様です。
必ず、bootdiskを作るPCでフォーマットしたフロッピーディスクを使って下さい。
訂正
Windowsでは、必ず同一のOSでフォーマットしたフロッピーディスクを使って下さい。
最後の編集者: ecolingo (2007-07-21 11:39:21)
オフライン
ecolingoさん
>必ず、bootdiskを作るPCでフォーマットしたフロッピーディスクを使って下さい。
必ずそうともいえません。自分も使用していますが、XP機の場合は、他のXP機で作成した緊急起動FDでも
起動できます。XPでフォーマットするなら他のPCで作成してもいいです。が、boot.iniの違いには気をつけたほうが
いいと思います。
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
上記のpartition(2)の数字のところです。この数字を起動したいPCのそれにあわせます。
RainyDayさん
緊急起動FDの作成方法は、まずフォーマットして、そしてC:\の
ntldr boot.ini bootfont.bin NTDETECT.COM
をFDにコピーするだけです。必要に応じて先のboot.iniを書き換えます。
他にXP機をお持ちでFDを使えるなら試して下さい。ただし、windowsのロゴがでるまで、時間が
かかっていたような気がします。
オフライン
marin様
ご指摘ありがとうございます。
確かに、明らかに間違っているのと、まだ上にあるので、レスさせていただきました。
ある程度自由になる、二台の同一OSのパソコンが想定できなかった事と、OSと記すべきところを
PCとしてしまいました。
「必ず、bootdiskを作るPCでフォーマットしたフロッピーディスクを使って下さい。」は
「Windowsでは、必ず同一のOSでフォーマットしたフロッピーディスクを使って下さい。」と
訂正させていただきます。
上のHPには、同一系統のOSならほとんど同じだ、とあるので転用可能かも知れませんが。
今後ともお気づきの事がありましたら、よろしくお願いいたします。
オフライン
RainyDay による投稿:
ubuntu27さん
有り難う御座います。
いえ日本語はよくわかります。
Sudoでmunu.lstを開ける方法が解らない私でした泣。
ここまで皆さんに教えて頂いたのですが操作ミスでlinuxの入っているところを/dev/hda6を消してしまったようです。申し訳ありません。
データはまだ何もなかったのでよかったのですが・・・。
正しいmenu.lstとは
Disk /dev/hda: 100.0 GB, 100030242816bytes
255 heads, 63 sectors/track, 12161 cylinders
Units = cylinders of 16065 * 512 = 8225280bytes
Device Boot Start End Blocks Id System
/dev/hda1 2 12161 97675200 f W95 Ext'd (LBA)
/dev/hda5 2 10855 87184723+ 7 HPFS/NTFS
/dev/hda6 * 10856 11828 7815591 83 Linux
/dev/hda7 11829 12161 2674791 82 Linux swap / Solaris
貴方の menu.lst をここにパースとして下さい。Terminalを開けてこのコマンドを書いてください。
cat /boot/grub/menu.lst
これでmenu.lstをTerminal(cat)で開けるはずです。 最後の 「## ## End Default Options ##」の後に出て来るのをCopyしてここのスレッドにPasteして下さい。
例 - Example
## ## End Default Options ##
title Ubuntu, kernel 2.6.20-16-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=8dff7af8-0ab3-4c59-9bbe-d665bfeaf768 ro quiet splash
initrd /boot/initrd.img-2.6.20-16-generic
quiet
savedefault
title Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=8dff7af8-0ab3-4c59-9bbe-d665bfeaf768 ro single
initrd /boot/initrd.img-2.6.20-16-generic
title Ubuntu, kernel 2.6.20-15-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=8dff7af8-0ab3-4c59-9bbe-d665bfeaf768 ro quiet splash
initrd /boot/initrd.img-2.6.20-15-generic
quiet
savedefault
title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.20-15-generic root=UUID=8dff7af8-0ab3-4c59-9bbe-d665bfeaf768 ro single
initrd /boot/initrd.img-2.6.20-15-generic
title Ubuntu, memtest86+
root (hd0,2)
kernel /boot/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/sda1
title Windows NT/2000/XP
root (hd0,0)
savedefault
makeactive
chainloader +1
# 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
オフライン