アプリ版:「スタンプのみでお礼する」機能のリリースについて

工人舎の中古ノートPC SH6KP10A のHDDのDドライブのあたりにUbuntuをインストールしました。ブートローダーを書き込むとき、誤ってディスクのMBRを上書きしてしまって、Vistaの入っているCドライブ(第2パーティション)の位置情報と第1パーテションの位置情報が消えてしまいました。
もともとDドライブだった辺りにUbuntuがインストールできたので、Vistaのデータ自体は無事だと思うのですが、アクセスできません。そこで、

1 工人舎に送って出荷時の状態に戻すか
2 パーティションテーブルを復活させるか

のどちらかしか思いつきません。1の場合時間も費用もかかるので、できれば2にしたいです。

ちなみに、インストールCDだと思っていたのは単なるクイックスタートガイドでした。まず、リカバリ用CDを作成し、パーティションテーブルの情報を控えるべきでした。インターネット上で緊急修正用CDのISO fileを探したけれど見つからず。困ってます。

Linux側からディスクのダンプは見れるので、パーティションテーブルを復帰できれば、もとに戻るのですが。

どうやって、パーティションを区切っているのか分からず。Linux上のfdiskコマンドで見ると、シリンダの境界で切れてません。

何か名案があれば教えて下さい。

A 回答 (12件中1~10件)

下記は試されましたか。

testdiskはUBUNYUに入っているかもしれません。

【TestDisk】で失われたパーティションをリカバリする
http://lets-go.hp.infoseek.co.jp/testdisk1.html

パーティションテーブルが壊れたHDDを復元するには
http://www.atmarkit.co.jp/flinux/rensai/linuxtip …

奇蹟的生還!!戻ってきた、Windows!!
http://techno-st.net/2006/08/windows.html
    • good
    • 0
この回答へのお礼

お礼します。
まだ、完璧に解決してませんが、Vista は生きてました。
ブートマネージャーの画面には行きますが、起動はできません。
とりあえず、もう少し頑張ってみます。

Debian 系に testdisk のようなコマンドがあったのは、知りませんでした。とても有用です。
Linux 側からVistaのファイルシステムが見れました。

お礼日時:2009/12/31 03:46

> あとは、install-mbr にパラメタをつけて、MBRを修復するか、


> MBRに続くブロックを書き換えるかでしょう。
個人の力でどこまで分析できるかでしようけど。
WEB上で情報収集ができるか。

Ubuntu日本語フォーラム
https://forums.ubuntulinux.jp/
で質問を立ててみるかです。
厳密に記載する必要があります。

この回答への補足

いろいろ考えてみたものの。。。

個人でWEB上で情報収集には限界があります。

ブートマネージャーに関するトラブルシューティングが問題なので、
Ubuntu日本語フォーラムで質問を立ててみるのも、
厳密に記載するのは難しいかと。

結局、メーカーに持っていって初期化するのが落としどころかも。

補足日時:2010/01/19 09:54
    • good
    • 0
この回答へのお礼

質問するということは、勉強になります。
あいまいな知識でものごとを進めると、問題を起こす原因になる。
このことが分かったことが一番の問題解決。

いつもながら思うことは、トラブルシューティングは難しい。
厳密な記載をするのは、かなりの知識がいります。

お礼日時:2010/01/19 10:02

> FreeDOS で、 bootrec /FixBoot を試そうとしたら DOS モードでは、


> ダメだと蹴られてしまいました。
ということは、前回の回答の2.はだめということですか。
USBメモリか、フロッピーディスクに入れての実行ですか。

Vistaパーティションの中に、bootrecが入っていれば、それを利用できないかですけど。
レジストリの問題でだめかもしれませんが、媒体からの起動よりは、こちらの方が確立的には高いでしようか。

この回答への補足

> USBメモリか、フロッピーディスクに入れての実行ですか。

> Vistaパーティションの中に、bootrecが入っていれば、それを利用できないかですけど。

FreeDOSは、フロッピーに入れてです。
Vfat のパーティションを作り、bootrec.exeをコピーし、
Cドライブとして認識させ、コマンドを実行させようとしました。

補足日時:2010/01/13 01:39
    • good
    • 0

> bootrec /FixBoot を試したいのですが、リカバリCDを持っていないのが、致命的です。


そうですね。
具体的な実現性のありそうな方法は、
1.起動しているVistaのパーティションの第2,3、4、Blockをコピーしてみる。
ルーチンだけであれば、動く可能性がある。変数含みのパラメータを含んでいれば、だめですけど。
マイクロソフトが情報を出さないので、試すしかないですね。
ダンプを取って逆アッセンブルといった手間隙かけて分析している人もいますけど。
2.Vistaのシステムから、bootrecプログラムを持ってきて、動かしてみる。
3.リカバリCD/DVD-ROMをメーカーから購入する。

だめ元で一つ試して欲しいことがあります。
KNOPPIX5.3.1CD日本語版(LCAT対応)を作り、root shellで、
install-mbr /dev/hda
のコマンドを入れてみる。

これは、Windows XPのMBRの修復で有効だったのですが、Vistaもできるか試してもらいたいことです。

この回答への補足

> 1.起動しているVistaのパーティションの第2,3、4、Blockをコピーしてみる。

MBR に続くブロックに何か原因があるのかと思いましたが、試してみる価値はあると思います。


> 2.Vistaのシステムから、bootrecプログラムを持ってきて、動かしてみる。

FreeDOS を使い、NTFS を認識できないようなので、vfat のパーティションをつくり起動させようとしたらダメでした。


> 3.リカバリCD/DVD-ROMをメーカーから購入する。

以前、電話で問い合わせたところ、出荷前の状態に戻すサービスの対応しかないそうです。


> KNOPPIX5.3.1CD日本語版(LCAT対応)を作り、root shellで、
> install-mbr /dev/hda
> のコマンドを入れてみる。

既に以前、Debian の中にある install-mbr で、install-mbr /dev/hda をやってみました。
後で確認しますが、KNOPPIX5.3.1CD日本語版(LCAT対応)のと同じバイナリだと思います。

MBR は、元に戻るのですが、やはり boot manager の画面に移り、再起動してしまいます。
パラメータをつけることができるので、研究してみる価値はあると思います。

補足日時:2010/01/13 01:28
    • good
    • 0
この回答へのお礼

あとは、install-mbr にパラメタをつけて、MBRを修復するか、
MBRに続くブロックを書き換えるかでしょう。

お礼日時:2010/01/13 01:34

> Vista を選ぶと Windowsブートマネージャーの画面に移行。


> さらに、Vista を選ぶと、画面がブラックアウト。
> 数秒後に再起動される。
> grub2 は、一切入れていないのでその設定のせいではないのでしょう。

ANo.5


>> Vista の bootmanager の方の問題だと思うのですが。
>> bootmanager の設定ファイルなどがわかりません。
> 違うと思います。grub2でのパーティション先頭に、MBMという512バイトを書き出すことが
> いたずらしているような気がします。
> Vistaを持っていないので検証できませんが、bootrec /FixBoot といったコマンドで
> 修正する必要があるような気がします。
この辺の検証をどうやってするかが問題です。
インストールCDを持っていないときは、bootrecを何とか動かして、回復させないとだめだと思いますけど、まぁ何度書いても聞く耳なければ同じですけど。

この回答への補足

>> 違うと思います。grub2でのパーティション先頭に、MBMという512バイトを書き出すことが
>> いたずらしているような気がします。
>> Vistaを持っていないので検証できませんが、bootrec /FixBoot といったコマンドで
>> 修正する必要があるような気がします。
>この辺の検証をどうやってするかが問題です。

grub2 が変更した MBR がいたずらをしているように思ってきました。
bootrec /FixBoot を試したいのですが、リカバリCDを持っていないのが、致命的です。

補足日時:2010/01/12 07:23
    • good
    • 0
この回答へのお礼

FreeDOS で、 bootrec /FixBoot を試そうとしたら DOS モードでは、ダメだと蹴られてしまいました。

あまり質問を長引かせるのも問題なので、そろそろ質問を締切ろうかと思います。
最終的には、メーカーに持ち込んで出荷時の状態に戻すという手もありますが。

長い間のサポート有難うございました。

お礼日時:2010/01/12 07:32

> あと何が足りないのでしょうか???


この補足は今の状態であり、今補足されても何の意味もありません。
Ubuntuという質問にある項目とは結びつかない。

今までに書いてきたそれぞれの流れがあり、その流れの中のどこで、どんなことが発生したかを、
事実に基づいて究明していかなければ、真の原因は見えてきません。

独断と、間違った先入観と、結論を早急に決めようとして、原因究明のための確認作業、確証を得ないまま、次の手を打っていくために、何ら真実をつかむことなく、成果もなく、技術者としてのノウハウはゼロといった結果になっていることにも気がつかれていないようです。

ANo.1
fdisk -lの内容、パーティションをどう切って、Ubuntuをインストールしたのか
記載なし。ここで、正しく全部のHDDの状態を把握しておきたかった。

ANo.2
下記は試されましたか。testdiskはUBUNYUに入っているかもしれません。
記載なし。試されていないと思われるが分からない。

ANo.3
fdisk -lの内容。
/boot/grub/grub.cfgの下記の部分。
勝手に解釈して、必要部分はなく省略されて、参考にならず。

ANo.4
一番チェックしたいところが省略されています。
補足が下記の点で矛盾していること。

/dev/hda4 に debian をインストールしなおして確認をしていました。
> ここでの、menuentryは、"VISTA"だったのか、後半は、chainloader +1 は、正しく付いていたのかです。
> 一番チェックしたいところが省略されています。
menuentryは、"XP"だったです。
chainloader +1 は、正しく付いています。
> 仮にそうだとした場合、root=(hd0,1)部分を貴殿が勝手に変更していないかです。
> これから想像すると、
> root=(hd0,2)のはずです。
root=(hd1,2) でうまくいきました。

何がうまくいったのか不明。
Ubuntuでなく、Debianだからうまくいくはずともとれるし、
Ubuntuに戻して検証してくれたのかとも取れる。
その都度、現状の状況説明は、必要である。

技術的には、仮定したことについての確証というか、確認を取っていく必要があります。
これが全くない状態では、どこでどうなってしまったのでしよう、これが結論で次の手は、
事実が分からない今、間接的にしか情報を得ていない当方は、どうすることもできません。

この回答への補足

> ANo.1
> fdisk -lの内容、パーティションをどう切って、Ubuntuをインストールしたのか
> 記載なし。ここで、正しく全部のHDDの状態を把握しておきたかった。

パーティションは、Unetbootin でインストールしたときに切りました。

> ANo.2
> 下記は試されましたか。testdiskはUBUNYUに入っているかもしれません。
> 記載なし。試されていないと思われるが分からない。

testdisk は、debian に入っていました。
2つのパーティションを復旧できました。

> ANo.3
> fdisk -lの内容。
> /boot/grub/grub.cfgの下記の部分。
> 勝手に解釈して、必要部分はなく省略されて、参考にならず。

勝手に解釈するのは良くなかったと思います。

> ANo.4
> 一番チェックしたいところが省略されています。
> 補足が下記の点で矛盾していること。

> menuentryは、"XP"だったです。
> chainloader +1 は、正しく付いています。
> root=(hd1,2) でうまくいきました。

menuentryが、"XP"だったのは、他機で出来た grub.cfg を流用してしまったせいです。
update-grub2 しなおしたら "Vista" に変わりました。
root=(hdX,2) のXの部分は ROM が、ディスクを認識する順序が設定により変わってしまうので、それに合わせて変えました。

> 何がうまくいったのか不明。
> Ubuntuでなく、Debianだからうまくいくはずともとれるし、
> Ubuntuに戻して検証してくれたのかとも取れる。
> その都度、現状の状況説明は、必要である。

何がうまくいったのか説明不足。起動が grub から bootmanager に移ったということです。

補足日時:2010/01/12 07:01
    • good
    • 0
この回答へのお礼

> 技術的には、仮定したことについての確証というか、確認を取っていく必要があります。
> これが全くない状態では、どこでどうなってしまったのでしよう、これが結論で次の手は、
> 事実が分からない今、間接的にしか情報を得ていない当方は、どうすることもできません。

まったくそのとおりと感じます。仮定したことについての確認を取る必要はあります。
正しい情報を正確に順を追って出せないとうまく回答をもらえないことを痛感しました

お礼日時:2010/01/12 07:14

>> 仮にそうだとした場合、root=(hd0,1)部分を貴殿が勝手に変更していないかです。


>> これから想像すると、
>> root=(hd0,2)のはずです。
> root=(hd1,2) でうまくいきました。
>> grub2の場合は、fdisk -lと同じ数値になるように変更になっています。
何がうまくいったのかはわかりませんが、たぶんXPのコールが成功したのでしようか。
これは、前にも書きましたが、
/boot/grub/device.mapをみることで判明するはずでした。
おそらく、Ubuntu9.10は、XPはフォローできて、Vistaは、私のVine Linuxと同様にフォローしきれていないのかもしれません。

全く情報開示がないまま、当方には、後学のための知識も増えないままで終了となるようで、
この質問自体、興味が全くなくなりつつあります。

以上です。でわでわ。

この回答への補足

まとめ

fdisk -l の出力
Disk /dev/hda: 100.0 GB, 100030242816 bytes
16 heads, 63 sectors/track, 193821 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0xfcfdfcfd

Device Boot Start End Blocks Id System
/dev/hda1 3 9164 4617216 27 Unknown
/dev/hda2 * 9164 101494 46534656 7 HPFS/NTFS
/dev/hda4 180001 193821 6965784 83 Linux

/boot/grub/device.map のn内容

(hd0)/dev/hda


/boot/grub/menu.lst の内容

default0
timeout5
color cyan/blue white/blue

titleDebian GNU/Linux, kernel 2.6.26-1-686
root(hd0,3)
kernel/boot/vmlinuz-2.6.26-1-686 root=/dev/hda4 ro
initrd/boot/initrd.img-2.6.26-1-686

titleDebian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)
root(hd0,3)
kernel/boot/vmlinuz-2.6.26-1-686 root=/dev/hda4 ro single
initrd/boot/initrd.img-2.6.26-1-686

titleOther operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda2
titleWindows Vista/Longhorn (loader)
root(hd0,1)
savedefault
makeactive
chainloader+1

以上のように debian をインストールし直し、grub legacy で起動。
Vista を選ぶと Windowsブートマネージャーの画面に移行。
さらに、Vista を選ぶと、画面がブラックアウト。
数秒後に再起動される。

grub2 は、一切入れていないのでその設定のせいではないのでしょう。

あと何が足りないのでしょうか???

補足日時:2010/01/08 01:40
    • good
    • 0

> 言われる通り grub2 は、まだ実績がないので grub legacy の方を使うのが正解かもしれません。


> ディスク1つの中に、Vista と Debian のみを入れて現象を整理します。
それが良いと思います。

私の場合、Vine Linuxと書きましたが、Fedora12の方を現在使用しております。
参考程度にgrub.confの内容を添付しておきます。主にUbuntu部分です。

title Fedora (2.6.31.9-174.fc12.i686.PAE)
root (hd0,1)
kernel /vmlinuz-2.6.31.9-174.fc12.i686.PAE ro root=UUID=5fe89031-e209-4e06-9b0d-516cd8cfd848 LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 rhgb quiet
initrd /initramfs-2.6.31.9-174.fc12.i686.PAE.img

title Windows XP Home Edition
rootnoverify (hd0,0)
chainloader +1

title Ubuntu, Linux 2.6.31-16-generic
root (hd0,4)
# uuid 02a4e15f-7286-437c-b877-47fb8018333e
kernel /vmlinuz-2.6.31-16-generic root=UUID=d3533701-ac68-4b52-9439-0cb78ceaf90a ro quiet splash
initrd /initrd.img-2.6.31-16-generic
title Ubuntu, Linux 2.6.31-16-generic (recovery mode)
# recordfail=1
# if [ -n ${have_grubenv} ]; then save_env recordfail; fi
# insmod ext2
root=(hd0,4)
# search --no-floppy --fs-uuid --set 3a9052e6-ddc7-4043-a6e3-cf6f2990eb7a
kernel/vmlinuz-2.6.31-16-generic root=UUID=d3533701-ac68-4b52-9439-0cb78ceaf90a ro single
initrd /initrd.img-2.6.31-16-generic
title Memory test (memtest86+)
root=(hd0,4)
kernel /memtest86+.bin
title Memory test (memtest86+, serial console 115200)
root=(hd0,4)
kernel /memtest86+.bin console=ttyS0,115200n8

Ubuntuの部分は、こんな感じでコールできます。
    • good
    • 0

> grub2 の後、 bootmanager に制御が移りますが、


> Windows Vista の行を選ぶと、再起動してしまいます。
ここで、問題になっているのは、何でしようか。少し整理してもらえませんか。
今把握できることといえば、Windows系、XP,Vista、Linux系、Ubuntu9.10,Debian?のようです。
これをどのような順序でインストールしたのかです。
想像すると、XP,Vista,Debian?,Ubuntu9.10と思われます。
これがそれぞれどのようなパーティション構成で入っているかです。
これも想像ですが、grub.cfgの中の、menuentryは、4個定義されているのか、そのEntryの
set root=(hd0,1)
は、それぞれどうなっているのかです。
これにより全ての状況がこちらで把握できるかと思われます。
一つ気になることは、上記4個のOS以外に5個目があるかどうかです。

またできれば、fdisk -lの全容を知りたいです。
> /dev/hda1 3 9164 4617216 27 Unknown
> /dev/hda2 * 9164 101494 46534656 7 HPFS/NTFS
といった形式だけでも分かると思います。

/boot/grubの中に、デバイスマップといわれるものがあり、これにより内部(Ubuntu9.10の定義)と外部(BIOSの定義)をチェックする必要があります。
Ubuntu9.10の場合、SATA方式を優先し、hd0とし、それ以外はsd0となるようです。

できれば、Debianをインストールして、grubの方のブートストラップローダを使うことが楽だと思われます。

>> Ubuntu9.10より、GRUBブートストラップローダが変更になり、grub2方式になったため、非常に面倒です。
> いずれは、どのディストリビューションも Grub2 を採用すると思われるので、Grub legacy を選ぶ選択肢は狭くなると思います。
くどいようですが、grub2の仕様は、まだ標準仕様も確立されていなくて、試行的な要素があり、当方も調査課題の一つとして捉えています。

> Vista の bootmanager の方の問題だと思うのですが。
> bootmanager の設定ファイルなどがわかりません。
違うと思います。grub2でのパーティション先頭に、MBMという512バイトを書き出すことがいたずらしているような気がします。
Vistaを持っていないので検証できませんが、bootrec /FixBoot といったコマンドで修正する必要があるような気がします。
> MBR は、fdisk コマンドで書き換えます。Sector レベルで開始位置と終了位置を書き換えることができます。
> MBR の partition table の構造は、大体わかります。
ということなので、このあたりは、口を挟む必要はないかと思いますけど、老婆心ながら。

しかし、その前に補足によると、Vistaのエントリが、grub.cfgにないようなのでそれを作成するのが先だと思います。

当方の場合、Vine LinuxのエントリをUbuntu9.10で作成させられなくて、というより、作成していなかった。
いろいろトライしてみたが、だめだったため、Vine LinuxのMBRを使い、/boot/grub/menu.lstから、4個のOS(XP,Fedora12,Vine5.0,Ubuntu9.10)をエントリ作成して利用しています。
このように、grub2には、いろんなトラブルが課題として残されています。
まぁこれも、grub2がこれから先主流になっていくと思われている質問者さんには、不要だったかもしれません。
    • good
    • 0
この回答へのお礼

言われる通り grub2 は、まだ実績がないので grub legacy の方を使うのが正解かもしれません。

ディスク1つの中に、Vista と Debian のみを入れて現象を整理します。

お礼日時:2010/01/06 16:44

このところの"okwave"は、補足されてもメールが届かないため、分からなかったです。


パーティションテーブルも解読、変更できるようなことだったので解決できると思っていました。
補足を見ましたが、下記の点が不明です。
> grub.cfg の内容は、抜粋すると以下の通り。
> set root=(hd0,1)
> search --fs-uuid --set XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> ......
ここでの、menuentryは、"VISTA"だったのか、後半は、chainloader +1 は、正しく付いていたのかです。
一番チェックしたいところが省略されています。
仮にそうだとした場合、root=(hd0,1)部分を貴殿が勝手に変更していないかです。
> /dev/hda1 3 9164 4617216 27 Unknown
> /dev/hda2 * 9164 101494 46534656 7 HPFS/NTFS
これから想像すると、
root=(hd0,2)のはずです。

grub2の場合は、fdisk -lと同じ数値になるように変更になっています。

この回答への補足

年越しの回答ありがとうございます。
"okwave"から、メールが一機に届きました。

/dev/hda4 に debian をインストールしなおして確認をしていました。

これまでの状況を補足します。

> ここでの、menuentryは、"VISTA"だったのか、後半は、chainloader +1 は、正しく付いていたのかです。
> 一番チェックしたいところが省略されています。

menuentryは、"XP"だったです。
chainloader +1 は、正しく付いています。

> 仮にそうだとした場合、root=(hd0,1)部分を貴殿が勝手に変更していないかです。

> これから想像すると、
> root=(hd0,2)のはずです。

root=(hd1,2) でうまくいきました。

> grub2の場合は、fdisk -lと同じ数値になるように変更になっています。

/dev/hda に Vista が、 /dev/sda に debian が入っており、
/dev/sda 、/dev/hda の順で認識したようです。

まとめると、

grub2 の後、 bootmanager に制御が移りますが、
Windows Vista の行を選ぶと、再起動してしまいます。

Vista の bootmanager の方の問題だと思うのですが。
bootmanager の設定ファイルなどがわかりません。

補足日時:2010/01/06 01:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!