• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:中古NotePC に Linux インストールしていたら partition table 壊した)

Linuxで中古NotePCにUbuntuをインストールした結果、パーティションテーブルが壊れた問題について

このQ&Aのポイント
  • 中古NotePCにUbuntuをインストールしたところ、誤ってパーティションテーブルが壊れてしまいました。
  • 現在、Vistaのデータにはアクセスできませんが、データは無事だと思われます。
  • 工人舎に送って出荷時の状態に戻すか、パーティションテーブルを復活させるかどちらかを選ぶ必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.2

下記は試されましたか。testdiskはUBUNYUに入っているかもしれません。 【TestDisk】で失われたパーティションをリカバリする http://lets-go.hp.infoseek.co.jp/testdisk1.html パーティションテーブルが壊れたHDDを復元するには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/991testdisk.html 奇蹟的生還!!戻ってきた、Windows!! http://techno-st.net/2006/08/windows.html

hikigaeru7
質問者

お礼

お礼します。 まだ、完璧に解決してませんが、Vista は生きてました。 ブートマネージャーの画面には行きますが、起動はできません。 とりあえず、もう少し頑張ってみます。 Debian 系に testdisk のようなコマンドがあったのは、知りませんでした。とても有用です。 Linux 側からVistaのファイルシステムが見れました。

その他の回答 (11)

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.12

> あとは、install-mbr にパラメタをつけて、MBRを修復するか、 > MBRに続くブロックを書き換えるかでしょう。 個人の力でどこまで分析できるかでしようけど。 WEB上で情報収集ができるか。 Ubuntu日本語フォーラム https://forums.ubuntulinux.jp/ で質問を立ててみるかです。 厳密に記載する必要があります。

hikigaeru7
質問者

お礼

質問するということは、勉強になります。 あいまいな知識でものごとを進めると、問題を起こす原因になる。 このことが分かったことが一番の問題解決。 いつもながら思うことは、トラブルシューティングは難しい。 厳密な記載をするのは、かなりの知識がいります。

hikigaeru7
質問者

補足

いろいろ考えてみたものの。。。 個人でWEB上で情報収集には限界があります。 ブートマネージャーに関するトラブルシューティングが問題なので、 Ubuntu日本語フォーラムで質問を立ててみるのも、 厳密に記載するのは難しいかと。 結局、メーカーに持っていって初期化するのが落としどころかも。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.11

> FreeDOS で、 bootrec /FixBoot を試そうとしたら DOS モードでは、 > ダメだと蹴られてしまいました。 ということは、前回の回答の2.はだめということですか。 USBメモリか、フロッピーディスクに入れての実行ですか。 Vistaパーティションの中に、bootrecが入っていれば、それを利用できないかですけど。 レジストリの問題でだめかもしれませんが、媒体からの起動よりは、こちらの方が確立的には高いでしようか。

hikigaeru7
質問者

補足

> USBメモリか、フロッピーディスクに入れての実行ですか。 > Vistaパーティションの中に、bootrecが入っていれば、それを利用できないかですけど。 FreeDOSは、フロッピーに入れてです。 Vfat のパーティションを作り、bootrec.exeをコピーし、 Cドライブとして認識させ、コマンドを実行させようとしました。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.10

> 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もできるか試してもらいたいことです。

hikigaeru7
質問者

お礼

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

hikigaeru7
質問者

補足

> 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 の画面に移り、再起動してしまいます。 パラメータをつけることができるので、研究してみる価値はあると思います。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.9

> Vista を選ぶと Windowsブートマネージャーの画面に移行。 > さらに、Vista を選ぶと、画面がブラックアウト。 > 数秒後に再起動される。 > grub2 は、一切入れていないのでその設定のせいではないのでしょう。 ANo.5 の >> Vista の bootmanager の方の問題だと思うのですが。 >> bootmanager の設定ファイルなどがわかりません。 > 違うと思います。grub2でのパーティション先頭に、MBMという512バイトを書き出すことが > いたずらしているような気がします。 > Vistaを持っていないので検証できませんが、bootrec /FixBoot といったコマンドで > 修正する必要があるような気がします。 この辺の検証をどうやってするかが問題です。 インストールCDを持っていないときは、bootrecを何とか動かして、回復させないとだめだと思いますけど、まぁ何度書いても聞く耳なければ同じですけど。

hikigaeru7
質問者

お礼

FreeDOS で、 bootrec /FixBoot を試そうとしたら DOS モードでは、ダメだと蹴られてしまいました。 あまり質問を長引かせるのも問題なので、そろそろ質問を締切ろうかと思います。 最終的には、メーカーに持ち込んで出荷時の状態に戻すという手もありますが。 長い間のサポート有難うございました。

hikigaeru7
質問者

補足

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

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.8

> あと何が足りないのでしょうか??? この補足は今の状態であり、今補足されても何の意味もありません。 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に戻して検証してくれたのかとも取れる。 その都度、現状の状況説明は、必要である。 技術的には、仮定したことについての確証というか、確認を取っていく必要があります。 これが全くない状態では、どこでどうなってしまったのでしよう、これが結論で次の手は、 事実が分からない今、間接的にしか情報を得ていない当方は、どうすることもできません。

hikigaeru7
質問者

お礼

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

hikigaeru7
質問者

補足

> 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 に移ったということです。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.7

>> 仮にそうだとした場合、root=(hd0,1)部分を貴殿が勝手に変更していないかです。 >> これから想像すると、 >> root=(hd0,2)のはずです。 > root=(hd1,2) でうまくいきました。 >> grub2の場合は、fdisk -lと同じ数値になるように変更になっています。 何がうまくいったのかはわかりませんが、たぶんXPのコールが成功したのでしようか。 これは、前にも書きましたが、 /boot/grub/device.mapをみることで判明するはずでした。 おそらく、Ubuntu9.10は、XPはフォローできて、Vistaは、私のVine Linuxと同様にフォローしきれていないのかもしれません。 全く情報開示がないまま、当方には、後学のための知識も増えないままで終了となるようで、 この質問自体、興味が全くなくなりつつあります。 以上です。でわでわ。

hikigaeru7
質問者

補足

まとめ 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 の内容 default 0 timeout 5 color cyan/blue white/blue title Debian 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 title Debian 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 title Other operating systems: root # This entry automatically added by the Debian installer for a non-linux OS # on /dev/hda2 title Windows Vista/Longhorn (loader) root (hd0,1) savedefault makeactive chainloader +1 以上のように debian をインストールし直し、grub legacy で起動。 Vista を選ぶと Windowsブートマネージャーの画面に移行。 さらに、Vista を選ぶと、画面がブラックアウト。 数秒後に再起動される。 grub2 は、一切入れていないのでその設定のせいではないのでしょう。 あと何が足りないのでしょうか???

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.6

> 言われる通り 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の部分は、こんな感じでコールできます。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.5

> 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がこれから先主流になっていくと思われている質問者さんには、不要だったかもしれません。

hikigaeru7
質問者

お礼

言われる通り grub2 は、まだ実績がないので grub legacy の方を使うのが正解かもしれません。 ディスク1つの中に、Vista と Debian のみを入れて現象を整理します。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.4

このところの"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と同じ数値になるように変更になっています。

hikigaeru7
質問者

補足

年越しの回答ありがとうございます。 "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 の設定ファイルなどがわかりません。

  • yakan9
  • ベストアンサー率54% (2244/4125)
回答No.3

> Ubuntu は、既定値のままインストールしました。 > Vistaも起動できるようなデュアルブートができると思っていたのですが、Grub2のパーティション指定> が、一つずれたため起動しなくなり、 > 失敗したと思い込んでしまいました。 fdisk -lの情報が分かれば、/boot/grub/grub.cfgの内容を編集するだけで回復すると思いますけど。 おそらく想像ですが、Ubuntuをインストール後、パーティションの削除、新規作成をしたために、 パーティション番号が変わったため、Vistaをコールできなくなっただけではないかと思われます。 詳しい情報開示をしてもらえば、簡単だと思いますけど。 fdisk -lの内容。 /boot/grub/grub.cfgの下記の部分。 menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" { insmod ntfs set root=(hd0,1) search --no-floppy --fs-uuid --set 5a1c52ae1c5284c3 drivemap -s (hd0) ${root} chainloader +1 } の、=(hd0,1)を編集してもだめだったのかです。

hikigaeru7
質問者

補足

質問を補足します。以下の画面まできます。 ----------------------------------------------------------------------------- Windowsブートマネージャ 開始するオペレーティングシステムを選択するか、TABキーを押してツールを選択して ください: Microsoft Windows Vista ........ ----------------------------------------------------------------------------- Microsoft Windows Vista を選択すると、画面が暗くなりそれっきり。 grub.cfg の内容は、抜粋すると以下の通り。 set root=(hd0,1) search --fs-uuid --set XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...... menuentry "Microsoft Windows XP Home Edition" { set root=(hd1,2) chainloader +1 } (hd1 なのは、USBメモリにOSを入れて立ち上げて、そちらが初めに認識されるから。) fdisk -l /dev/hda の内容は、 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 100GB あり、前半の部分に2つのパーティションで、/dev/hda2 が Cドライブ。 あとは、設定の問題だと思うのですが。もうひとふんばりします。

関連するQ&A