
Ubuntu日本語フォーラム

ログインしていません。
先日、「Linuxの全てがわかる本」と言う本を見て Windows Vistaとubuntuのデュアルブートを試みたのですが、インストールが成功したと思い、再起動をするとOSを選ぶ画面の時に表示されるはずのWindows Vistaが表示されませんでした。
そして、このフォーラムで初心者なりにいろいろ調べたところ、ubuntuからVistaのものと思われるフォルダやファイルが見えるため、MBRあたりが原因なのではないかと思い、grubをインストールし直して見たりKnoppix6.2を使ってmsーsysのコマンドを試して見ましたら、今度はubuntu自体が立ち上がらなくなりました。その後、grubをubuntuのliveCDからインストールしたところ、ubuntuは起動出来るようになりました。
ubuntuのバージョンは10.10で、インストールの仕方はliveCDからubuntuを起動し、インストーラが起動したところで、右側の「ubuntuをインストール」を選び、「ディスク領域の割り当て」と言うところで、「他のOSと共存させてインストールする」を選んだあと、容量配分を決定し(ubuntuに160GB中40GB割り当てました)、「ディスクの変更を書込み継続しますか?」と聞かれたので続けるを選びました。その後は、画面の指示に従って進んで行き無事インストール出来たと思い再起動したところ、OSの選択画面でVistaが選択候補になかったと言う状況です。
OSの選択画面で現れるのは、づぎの項目です。
ubuntu,with Linux 2.6.35-28-generic
ubuntu,with Linux 2.6.35-28-generic(recovery mode)
ubuntu,with Linux 2.6.35-28-generic
ubuntu,with Linux 2.6.35-28-generic(recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows Recovery Environment (loader)(on /dev/sda1)
Microsoft Windows XP Embedded (on /dev/sda2)
ubuntu,with Linux 2.6.35-28-generic
ubuntu,with Linux 2.6.35-28-generic(recovery mode)
が二つずつあるのはMBRの修復の時一度ubuntuを起動できなくなってしまったためubuntuをもう一回インストールしたためだと思います。そのあとにgrubやMBRあたりをいじっていたら、また起動できなくなってしまったため、今度はgrubのインストールでubuntuが起動できるようになりました。
$sudo fdisk -lの内容は次の通りです。
$ sudo fdisk -l
[sudo] password for:
ディスク /dev/sda: 160.0 GB, 160041885696 バイト
ヘッド 255, セクタ 63, シリンダ 19457
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000c1a5b
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1316 10612 74672098 7 HPFS/NTFS
/dev/sda2 19131 19458 2620416 c W95 FAT32 (LBA)
/dev/sda3 10612 19131 68429825 5 拡張領域
/dev/sda5 10612 18778 65593344 83 Linux
/dev/sda6 18778 19131 2835456 82 Linux スワップ / Solaris
領域テーブル項目がディスクの順序と一致しません
ディスク /dev/sdb: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x0e6bac3d
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 121601 976760001 7 HPFS/NTFS
windows VistaのインストールDVDはないのですが、家族が使っているwindows7のインストールDVDはあります。しかし、私のVistaは32bitで、家族のwindows7は64bitです。
Vistaのバックアップはubuntuをインストールする前に外付けハードディスクにとってあります。
Windows Vistaからiphoneの管理を行っているので困っています。
分かりにくい説明ですみませんがどなたかご教授お願いします。
オフライン
状況の説明を補足してください。
内蔵HDDの他に容量の大きなデバイスが接続されています。
VistaはPCの何処にインストールされているのでしょうか?
/dev/sdb1 にインストールされている可能性と、/dev/sda1にインストールされている可能性が有ります。後者の場合はGRUBがWindowsのバージョンを誤認識している問題も出てきますね。
/dev/sda2 がXPと認識されていますがサイズ的には無いかなと思います。
取り敢えずは実際に確認してみて下さい。
確認するのは
/dev/sda1
/dev/sda2
/dev/sdb1
の3つです。
確認方法は幾つか有りますが、「場所」からクリックして全て(上記3つ)ウィンドウを開いて中身を確認してください。ウィンドウ上部の枠のタイトル欄にUUID(英数字の羅列)が表示されています。
その状態で、端末から
$ df -h
と実行すると左端にデバイスファイル名、右端にマウント位置が表示されますので、そこから、どのウィンドウが、どのデバイスファイル(/dev/sda1等)の中身なのかを確認してください。
メーカー製のPCの場合はリカバリ等のツール類を電源投入時に起動する仕組みが組み込まれている場合が有ります。その場合は現状では、その仕組みがMBRとその直下に書き込まれていた場合は元に戻りません(消えてしまっています)。
今回の復旧作業では、その仕組みにアクセスしてしまうかもしれません。
その場合で考えられる最悪の状態は、いきなりリカバリが始まり工場出荷状態に戻されてしまう事と、リカバリはMBRを書き戻さない事が多々あるために結果的に現状と同じく起動できないままデータ関係だけが初期化されるだけと言う事も有りますので、出きるだけ回避できるように事前の情報は多く必要です。また懸念している部分に付いての作業の実行と結果に付いては自己判断と自己責任でお願いします。
仰々しく書きましたが情報を提供していただいた結果、取越し苦労で心配は無いかも知れません。
ご返事が有れば、夜間に確認しますが、それまでに別の方のアドバイスが有れば進めてください。
一つだけ「やってはイケないこと」が有ります。
Vista以降のOSではMBRに起動時の証明書を書き込み本体データと照らし合わせる手順を踏みます。
そこを消してしまうと、かなり厳しい状態になってしまいます。
現在分かっているのは
$ install-mbr
のコマンドをVista以降で使用すると起動できなくなるということです(修復出来無いかも)
色々と試行錯誤されているようなので、この部分も後で確認が必要ですね。
オフライン
hir0さん、レスありがとうございます。
$ df -hを実行してみましたところ、次のような結果なりました。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 62G 5.0G 54G 9% /
none 997M 320K 996M 1% /dev
none 1002M 664K 1001M 1% /dev/shm
none 1002M 216K 1002M 1% /var/run
none 1002M 0 1002M 0% /var/lock
/dev/sdc1 932G 261G 672G 28% /media/9A26150E2614ECCF
/dev/sda1 72G 62G 9.8G 87% /media/OS
/dev/sda2 2.5G 1.9G 674M 74% /media/MEDIADIRECT
大容量の外付けハードディスクが/dev/sdb1から/dev/sdc1に変わっているのは、この間に外付けハード
ディスクを一度外してしまったせいかもしれません。
この結果から見ると、Vistaは/dev/sda1にインストールされていると考えてよろしいのでしょうか。たしかに、このフォルダには前に使っていたVistaのファイルらしきものがたくさんあります。
ちなみに、使っているパソコンはDELL-XPS-M1330です。
あと、 他にしたことは「Linuxのすべてが分かる本」と言う雑誌の「KnoppixのTestdiskを使ってHDDを復活させる」という記事をみながら、
1.Testdiskを起動し
2.「復旧するハードディスクを選ぶ」という、段階のところでパソコン内蔵のハードディスクを選び、
3.その次の画面で[intell]を選択
4.[Analyse]で分析を実行し
5.[Quick Search]を選択。
6.次に[Continue]を選択して分析を続行し
7.分析結果が表示されたのを確認して、[Deep Search]を選択してから、
8.パーティションの内容を確認し、OSが入っていると思われるパーティション(このときは、自分が使っ ていたVistaの容量から推測して選びました)の左端の「D」を「*」にかえて、もともと「*」だったものを「D」にかえてEnterを押し、復元を開始しました。
9.しかし、このあと雑誌の記事とは違う画面がでて、「再起動してください」というような、メッセージ(このあたりは記憶が曖昧で確かではありませんが…)でたので、いったん電源を切り、再度電源を入れたところ、grub rescue>という、表示が出てubuntuも起動できなくなってしまいました。その後、ubuntuを1回目のインストールと同じ容量でインストールしたら、ubuntuは起動できるようになっていました。
あと、/dev/sda1 に入っているOSらしきものも起動してみましたが、
よくわからず、復旧出来そうなものを選んで操作してみましたが現在は起動できません。
自分で試行錯誤した操作のうち記憶に残っているのは#1に書いたことと、今回書いた操作ですべてです。
/dev/sda2に入っているのはDELLのMediaDirectというもので、起動でき正常に動作しました。
記憶が曖昧な部分があり申し訳ありませんが、よろしくお願いします。
オフライン
/dev/sda2に入っているのはDELLのMediaDirectというもので、起動でき正常に動作しました。
現在も起動できるのでしょうか?
だとすれば、機能的には何も問題はありません。メーカーが用意した仕組みが/dev/sda2に施されていてるのでしょう。
問題は起動時に表示されるOSの選択画面の文字表示がおかしいと言うことで良いのでしょうか?
オフライン
/dev/sda2に入っているのはDELLのMediaDirectというもので、起動でき正常に動作しました。
現在も起動できるのでしょうか?
はい、現在も起動できます。
問題は起動時に表示されるOSの選択画面の文字表示がおかしいと言うことで良いのでしょうか?
そういうことになると思います。
オフライン
はい、状況が分かりました。
os-prober と言うツールが各デバイスとパーティションを走査してOSを検知しています。
その結果がGRUBの設定ファイルに反映されるのですが検出(判定)の基準はメジャーなバージョンのデフォルトな環境を想定しているはずです。
Vistaは超メジャーなバージョンのOSですが今回の場合、メーカーの仕掛けが施されているのでデフォルトな環境では有りませんので想定外のパターンで誤検知(実際は名称のミス)が起こった様です。
実害は無いですが、これを改善する為の選択肢は
1、/dev/sda2のos-prober が判定に使っている値の部分を書き換える。
2、os-prober が使っている判定式を書き換えてカスタマイズなos-prober と入れ替える。
3、GRUBのメニューのカスタム表示にVistaの項目を追加する。
4、実害が無いので、そのまま使用する。
1はUbuntuのアップデートやその他の更新には問題は無いですが、ファイルやディレクトリの名称変更がVista側(メーカー固有)に問題が出る可能性が有ります。
2はUbuntuのアップデートや更新でエラーが出たり通常のものと入れ替えられたりします。os-prober のバージョンを固定することで回避できますがos-prober のみアップグレードは行なわれなくなるのでGRUBとの関係で将来的に予期せぬ依存問題が持ち上がる可能性が有ります。
3は1と2に比べて見た目はスマートではないかもしれませんがVista,Ubuntuの更新などによる影響は受けません。
現在の表示にカスタムメニューを標示しますが、現在の「その他のOS」のメニューを標示させなくする事も出来ます。
os-prober の結果を標示させなくする方法なので、将来的に別パーティションにLinuxをインストールしても現在のシステム(GRUB)からは認識できなくなってしまいます。
一般的にはGRUBのメニューのカスタマイズと言うことで「3」が選択されます。(「4」の意見も多いかも)
オフライン
すみません、説明不足でした。
/dev/sda1にはVistaが入っているはずなのですが、まだ起動できるときに起動したら、#1で書いたWindows Recovery Environmentという名前の通りのようなシステムが起動しました。
しかし、今は起動できない状況です。
言葉足らずで誤解を招いてしまったようですみません。
オフライン
では、
Windows Recovery Environment (loader)(on /dev/sda1)
Microsoft Windows XP Embedded (on /dev/sda2)
のどちらを選択しても起動出来無い(#1の説明の状態)なのですね?
まず情報として/boot/grub/grub.cfg の内容を下さい。
取り敢えず今考えつく私の提案と実行方法を書きます。
提案として順に実行確認を行なうとしたら以下の感じです。
・GRUBの再インストールと設定の更新をもう一度試してみる。
・GRUBシェルに用意されたコマンドを用いて/dev/sda1にアクセスしてみる。
・lilo -M を使用してMBRにブートローダ仕込む。
・シグネイチャ(MBRに書き込まれた)の存在を確認してみる。
・PBRを確認&出来れば修復する。
こんな感じです。
まずはお決まりの実行を
$ sudo apt-get update
$ sudo mv /boot/grub /boot/grub.old
& sudo grub-install /dev/sda
$ sudo update-grub
これで起動時のメニューの重複は解決するはずです。
Vistaも上手く起動出来れば良いのですが恐らくはダメだと思います。
一応/dev/sda2からの起動を試みてL下さい(/dev/sda1からも)。
上記の操作で明示的にデフォルトのGRUB環境で起動出来ないことが確定します。
では、GRUBからはどうなのでしょうか?
OS選択画面で[C]keyを押してGRUBシェルに入ってください。プロンプトが「 gub> 」に変わるはずです。
grub> ls
の結果が必要です。
(その後/dev/sda1の認識を確認して起動するまでのgrubコマンドを実行します)
取り敢えず今日は此処までです。
オフライン
昨日は仕事で帰宅が遅くなり返信できず、すみませんでした。
・GRUBの再インストールと設定の更新をもう一度試してみる。
をやってみました。
起動時のメニューは次の様になり、
OSの選択画面で現れるのは、づぎの項目です。
ubuntu,with Linux 2.6.35-28-generic
ubuntu,with Linux 2.6.35-28-generic(recovery mode)
ubuntu,with Linux 2.6.35-28-generic
ubuntu,with Linux 2.6.35-28-generic(recovery mode)
Memory test (memtest86+)
Memory test (memtest86+, serial console 115200)
Windows Recovery Environment (loader)(on /dev/sda1)
Microsoft Windows XP Embedded (on /dev/sda2)
#1のときと変化はありませんでした。
そして、まずdev/sda2からの起動を試みたところ、うまく起動でき正常に動いているようでした。
次に、dev/sda1からの起動を試みたところ、真っ暗な画面の左上のすみに白いアンダーバーのようなものが表示された状態が数秒続き、「DELL」のロゴのになった後、OSの選択画面にもどり、起動はできませんでした。
GRUBシェルで、grub>lsを実行した結果は次の様になりました。
grub>ls
(hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1) (hd1) (hd1,msdos1)
Microsoft Windows XP Embeddedである/dev/sda2が起動できて、Vistaである/dev/sda1が起動できない状態なので、
一つだけ「やってはイケないこと」が有ります。
Vista以降のOSではMBRに起動時の証明書を書き込み本体データと照らし合わせる手順を踏みます。
そこを消してしまうと、かなり厳しい状態になってしまいます。
と言う状況になっていないか心配ですが、大丈夫でしょうか?
オフライン
Ubuntu(UNIX系全般)は初心者ですが、Windows なら多少わかるので、
横から失礼します。
ブートセクタが壊れていても、元の C ドライヴの中身が無事なら、
たぶん FD から起動できます。Vista の実機では試したことが
ありませんが、VirtualBox 上の仮想マシンで試して確認しました。
FD から起動するには、以下の手順を行います。
1 C ドライヴのルートディレクトリにある bootmgr を、
FD のルートディレクトリにコピーします。
2 FD に Boot ディレクトリを作成し、C ドライヴの
Boot ディレクトリ中の BCD を FD の Boot ディレクトリに
コピーします。
3 OS の起動順番を、FD を最優先にして、PC を再起動します。
今時、FD ドライヴのない PC の方が大多数でしょうから、この方法では
無理かな?
オフライン
すみません、もう一度 #4~#7の確認になります。
336hrdさん #9 による投稿:
そして、まずdev/sda2からの起動を試みたところ、うまく起動でき正常に動いているようでした。
次に、dev/sda1からの起動を試みたところ、真っ暗な画面の左上のすみに白いアンダーバーのようなものが表示された状態が数秒続き、「DELL」のロゴのになった後、OSの選択画面にもどり、起動はできませんでした。
現状での私の認識では今回の症状はメーカー製のPCでよく有るパターンです。起動手順がメーカー独自の方法を用いているので起動に関しては問題が有るとは見受けられません。
問題と考えられている/dev/sda1 からは起動できなく、/dev/sda2から起動できるのがメーカーが施した仕組みです、恐らく/dev/sda2を介して修復系のツールも起動できるはずです。
#2で書いているのは、この事ですので現状を維持するのがDELLが用意した機能も取説に従って使用可能な状態を保てます。
内容が重複しますが、GRUBは凡庸のブートローダで一般的なOSを起動できるように作られています。
各デバイスを走査してインストールされているOSを検知する仕組みも一般的なシステムを対象にしています。
メニュー表示の問題はGRUBの機能(正確には別のツールの機能)は一般的なOSを検知する能力は有りますが、各PCメーカーが独自に開発した方式に合わせた検知方式を持っていませんので今回のような表示の不具合が出た様です。
これはブートローダの問題とするのは無理が有ります。
またXPと標示されているのはメーカーが独自の起動システムをXPのものから流用しているのでしょう。
これもメーカーの怠慢とするのは無理が有ります。
通常は一般ユーザーが必要とする部分ではなく、Linuxのブートローダの一部がシステムのどこを見てメニューの名称の判断を下しているか等は考慮する必要など無いのですから。
再度纏めると、/dev/sda2 を選択してVista が起動できるのでしたら問題は有りません。
メーカー独自の仕様です。
GRUBの起動メニューの表示に関しては各々のメーカーに合わせた機能を持っていないので「XP /dev/sda2」となります。
対策は#6 になります。
Linux_greenhornさん、貴重な情報ありがとうございます。
Windowsはあまり触らないのとVistaは持っていないので、なかなかWindowsの情報を得る機会が有りません。Vistaは修復が困難(Win7は改善されている)と言う壁が崩れそうですね。
FDDでの方法を利用してCD-R/RWやUSBメモリ等を利用する方法も試してみたいですね。
MBRに書き込む事で起動可能(弊害の有無)の確認も機会が有ればしてみたいものです。
また何か情報が有りましたら宜しくお願いします。
オフライン
/dev/sda2に入っている DELLのMediaDirect は、「Windowsを起動する
ことなく様々なデジタルコンテンツを楽しむことができる」という物
かと。起動方法も、電源 OFF 状態から専用ボタンで起動するものなので、
BIOS レベルで処理していて、ブートローダーはいじられていない可能性も
ありますね。自分も DELL ユーザーではないので、詳細は知りません。
Windows7 が動作する PC があるということなので、FD が使えないなら、
Windows7 で修復ディスクを作成するという手がありました。Windows7 の
インストール DVD では、インストールされている OS と異なると
修復オプションが選択できません。ですが、修復ディスクですとコマンド
プロンプトが開けました。こちらを忘れていました。
コマンドプロンプトで bootsect.exe コマンドを使って、ハードディスクに
Windows のマスタブートコードを書き込むことができます。bootsect.exe の
使い方はネットで調べてください。
もしも、特殊なブートコードが書かれていて、それでないと正常に起動しない
場合は、この方法では対処できません。でも、そうでない場合(こちらの
可能性の方が高いと思います)、これで Vista が起動できるようになると
思います。
あと、FD 方式を CD や USB メモリで試すのは、厳しいものがあります。
自分が使っている B's Recorder というライティングソフトは、FD 形式を
利用したブータブルメディア作成機能が、削除されました。他のソフトの
ことは知りませんが。USB メモリでは、ハードディスクとして認識された
場合、Windows ではドライヴレターが変わってしまい、トラブルの元となる
可能性があります。
オフライン
FD以外のメディアを使用するのはLinuxを使用すれば容易です。
問題は「上手く動くかな?試してみよう」と言うレベルの問題です。具体的にはUSBメモリではsyslinux、CDメディアにはisolinuxをブートローダとして設定ファイルに起動すべきbootmgrを指定してやり、CDメディアに関してはISO形式に変換します。
現在はVistaは起動する状態では無いでしょうか?
私には、そう読めるのですが今ひとつ状況の把握に覚束ないです。
オフライン
Windows7で修復ディスクを作成し、コマンドプロンプトから
bootsect.exe /nt60 C:
を実行したところ、名前はWindow Recovery Environmentのままでしたが、Vistaが通常通り起動し使えるようになりました。
Linux_greenhornさん、本当にありがとうございました。これでいつも通りiPhoneの管理ができます。
hir0さん、うまく状況を伝えられなくてすみませんでした。それにもかかわらず、親切にいろいろ教えてくださり本当に感謝しています。
お二人にはこのスレを通して様々なことを教えていただき大変勉強になりました。本当ありがとうございました!
オフライン