お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-08-07 15:12:36

nos
新しいメンバ
登録日: 2009-08-07

mbr以外の場所に設定してしまったgrubを削除したい。

最近ubuntu9.04 64bit を
installしてみようとトライしてみました。
でも、まちがってしまいました。

/dev/sda1 ntfs os:winxp
/dev/sda2 ntfs os:winxp 
/dev/sda3 extended
  /dev/sda5 ntfs date用
  /dev/sda6 ext3 /
  /dev/sda7 ext3 /home
  /dev/sda8 swap
/dev/sda4 ext2

上記のHDの内容で

/dev/sda6 ext3 /
/dev/sda7 ext3 /home
/dev/sda8 swap 

に installしました。

install時、まちがってgrubを
/dev/sda5 
に設定してinstallしてしまいました。

winxpから起動すると
/dev/sda5
をntfsと認識しなくなり

ubuntuを再installする際も、
/dev/sda5
をntfsと認識せず、
ntfsとしてマウントできなくなりました。

/dev/sda5 
には削除したくないデータがあります。

まちがって
/dev/sda5
に設定してしまったgrubだけを削除し、

/dev/sda5 の内容を消さずに
元のようにwinxpからも、ubuntuからも
ntfsと認識させる方法は在りますでしょうか?

マルチbootのソフトは、MBMを利用しています。

オフライン

 

#2 2009-08-07 15:37:22

ack
メンバ
登録日: 2007-06-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

/dev/sda5 がどういう扱いになってしまったのかまず確認してみたいところです。
WindowsXPのディスクの管理ではおそらく「不明なパーティション」としか表示されず、種類が確認できないと思いますので
Ubuntuで起動(HDDのものでもCDのものでも良いです)します。
フォーラムに内容を貼り付けやすいと思いますので、fdiskコマンドを使うと良いかと思います。
端末を立ち上げて

コード:

sudo fdisk -l

を入力、パスワード入力を求められたら入力します。

でてきた情報を投稿して頂ければと思います。

なお今後の予想として、今のところ testdisk の活用や、Ubuntu の fdisk で「sda5はNTFSだ」という事を明示的に上書きしてやれば
中身を保ったままなおせそうに見えますので、あせらず対処していくと良いと思います。

オフライン

 

#3 2009-08-07 17:00:43

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

素早いレスポンスありがとうございます。

アドバイス頂けたことを調べるべく

/dev/sda6 にgrubを設定し 
/dev/sda5 を通常は ntfs /win/e
とマウントできない状態のまま

/dev/sda6 /
/dev/sda7 /home
/dev/sda8 swap
としてinstallしました。

#sudo fdisk -l
を実行した結果を表記します。

/dev/sda5のntfsの内容を削除しないまま
/dev/sda5に設定してしまったgrubだけを
削除する方法はありますでしょうか?

現在は、
/dev/sda5
/dev/sda6 
ともにgrubが設定されている状態だと思います。

ご教授頂けると幸いです。

------------------------------------------
root@nosPC:/home/nos# fdisk -l

ディスク /dev/sda: 500.1 GB, 500107862016 バイト
ヘッド 255, セクタ 63, シリンダ 60801
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x6f166f16

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *           1       10000    80324968+   7  HPFS/NTFS
/dev/sda2           10001       20000    80325000    7  HPFS/NTFS
/dev/sda3           20001       59623   318271747+   5  拡張領域
/dev/sda4           59679       60785     8889344   de  Dell ユーティリティ
/dev/sda5           20001       44674   198193873+   7  HPFS/NTFS
/dev/sda6           45001       48000    24097468+  83  Linux
/dev/sda7           48001       59000    88357468+  83  Linux
/dev/sda8           59001       59623     5004216   82  Linux スワップ / Solaris

オフライン

 

#4 2009-08-07 17:45:44

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

こんにちは
やったことがないのでコメントは差し控えますが、情報です。
/dev/sda5           20001       44674   198193873+   7  HPFS/NTFS
ですので、UbuntuからはNTFSに見えています。
grubを削除しても、PBRを復旧しなければWindowsからは認識できませんので、普通はデータを救出します。

1 普通の方法(お勧めですが、UbuntuLiveでは認識できない?)
方法  1 KNOPIXLiveCDをつかって、データを別のメディアにコピー
     2 Gpartedでsda5を解放しておく。
     3 Windowsで再フォーマット。
     4 ドライブレターを元に戻す
     4 別のメディアのデータを元に戻す。

ネットを検索したところ、良い方法が見つかりましたが、実行できるかどうかはあなたの腕と決断力です。
その前にsda5のPBRのバックアップを取っておいてください。最悪の場合PBRを復旧できます。
NTFSにはPBRのコピーがそのパーティションの最後にあるそうです。ですので、これをPBRに戻せば良いそうです。
 
方法  extract-backuped-pbr.sh(NTFSパーティションの最後尾に保存されているPBRのバックアップを取り出す)
     http://wikiwiki.jp/disklessfun/?utlshell
くれぐれもsda5を間違えないように。間違えると大変なことになります。パーティションをまちがえなければ簡単に復旧できます。

オフライン

 

#5 2009-08-07 18:23:55

ack
メンバ
登録日: 2007-06-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

ご報告ありがとうございます。
見てみると、

nos による投稿:

/dev/sda4           59679       60785     8889344   de  Dell ユーティリティ

特殊なパーティションがあるようですので、注意が必要ですね。

さて、

nos による投稿:

ubuntuを再installする際も、
/dev/sda5
をntfsと認識せず、
ntfsとしてマウントできなくなりました。

とのことですが、fdiskからは一応NTFSに見えているようなので、まずはUbuntuでマウントできるか試してみると良さそうです。

nos による投稿:

/dev/sda5 を通常は ntfs /win/e
とマウントできない状態のまま

この辺がよくわかりませんが、今のところsda5にあたるものは想定の場所にマウントできていないという事で

端末より

コード:

sudo ntfs-3g -o ro,norecover /dev/sda5 /win/e
もしくは
sudo ntfs-3g -o ro,force /dev/sda5 /win/e

と行うとどうでしょうか。
※ /win/e ディレクトリがありそうだったのでそこを指定しましたが、なければ他のところにマウントしても構いません。

もしこれで中身が見えれば、中身をいったんよけた後フォーマットしなおすのが良いと思います。
マウントできなければ、funatogawa さんご紹介の extract-backuped-pbr.sh が良さそうです。

オフライン

 

#6 2009-08-07 18:44:28

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

下記を試しましたがだめでした。
ntfs-3gは、installされていることを確認しています。

root@nosPC:/# mkdir /win
root@nosPC:/# mkdir /win/e

root@nosPC:/# ntfs-3g -o ro,norecover /dev/sda5 /win/e
Unexpected clusters per mft record (-1).
Failed to mount '/dev/sda5': Invalid argument
The device '/dev/sda5' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other wuay around?

root@nosPC:/# ntfs-3g -o ro,force /dev/sda5 /win/e
Unexpected clusters per mft record (-1).u
Failed to mount '/dev/sda5': Invalid argument
The device '/dev/sda5' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

root@nosPC:/# mount -t ntfs /dev/sda5 /win/e
Unexpected clusters per mft record (-1).
Failed to mount '/dev/sda5': Invalid argument
The device '/dev/sda5' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

オフライン

 

#7 2009-08-07 19:22:08

ack
メンバ
登録日: 2007-06-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

ご報告ありがとうございます。

こうなると何らかの方法で新規にパーティション情報を書き込む事になりますので、

http://wikiwiki.jp/disklessfun/?fixpbr#cdac93e2

こちらの
NTFSのPBR修復法 1 (まず試みるべき法)
NTFSのPBR修復法 2 (時間がかかるが、適用範囲が広く、最も強力な方法)
などを行ってみるのが良いと思います。

(funatogawa さん紹介のスクリプトの解説ページです)

オフライン

 

#8 2009-08-07 22:12:13

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

NTFSのPBR修復法 1

上記URLより extract-backuped-pbr.sh をDL、
説明を読み下記の処理を行いましたが・・・たぶん うまくいっていません。

extract-backuped-pbr.sh
の処理コマンドにまちがいがありましたら、ご指摘頂けると幸いです。

現在
MBRには、MBMがinstallされています。
/dev/sda5 には、まちがって設定したgrubがinstallされています。
/dev/sda6 にも、grub がinstallされています。ubuntu で / にマウントされています。 

ご紹介頂いたURLより
extract-backuped-pbr.sh
をダウンロードし
/dev/sda6 にinstallされている ubuntuで 
下記の処理をしました。

nos@nosPC:~$ su
パスワード:
root@nosPC:/home/nos# cd デスクトップ/
root@nosPC:/home/nos/デスクトップ# ls -al
合計 12
drwxr-xr-x  2 nos nos 4096 2009-08-07 21:41 .
drwxr-xr-x 27 nos nos 4096 2009-08-07 21:08 ..
-rw-r--r--  1 nos nos 1939 2009-08-07 21:41 extract-backuped-pbr.sh
root@nosPC:/home/nos/デスクトップ# chmod 0777 extract-backuped-pbr.sh
root@nosPC:/home/nos/デスクトップ# ls -al
合計 12
drwxr-xr-x  2 nos nos 4096 2009-08-07 21:41 .
drwxr-xr-x 27 nos nos 4096 2009-08-07 21:08 ..
-rwxrwxrwx  1 nos nos 1939 2009-08-07 21:41 extract-backuped-pbr.sh
root@nosPC:/home/nos/デスクトップ# . extract-backuped-pbr.sh
eg. bash /dev/sda1

nos@nosPC:~$ su
パスワード:
root@nosPC:/home/nos# sh extract-backuped-pbr.sh
eg. extract-backuped-pbr.sh /dev/sda1

ん〜〜さっぱり わかりません・・・・

まちがってinstallしてしまった
/dev/sda5 の内容を削除しないで、
grubをだけを削除し、元に戻す方法は、

ご紹介頂いたURLの
NTFSのPBR修復法 1
NTFSのPBR修復法 2 
以外の方法はないのでしょうか?

現在 NTFSのPBR修復法 2 
の方法もためそうとしています。

オフライン

 

#9 2009-08-07 22:43:00

hide
メンバ
From: Tokyo
登録日: 2007-05-24

Re: mbr以外の場所に設定してしまったgrubを削除したい。

MBMでマルチブートしてるってことは、それぞれのHDDを直接呼び出して立ち上げるのはできているわけですよね?

オフライン

 

#10 2009-08-08 00:01:34

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

hideさんへ

はい できます。 

現在は
/dev/sda1 より WindowsXP_PRO
/dev/sda2 より windowsxp_PRO(/dev/sda1 トラブル時レスキュー用)
/dev/sda6 より ubuntu 9.04 64bit版  

上記 3つのosを mbrにinstallしたmbmより起動できます。

ただ、今回 /dev/sda5 にgrubをまちがってinstallしてしまったため
上記3つのosでで共有して使用していた /dev/sda5 ntfs (データ共有保存場所)には 
上記3つのosのどれからもfsとしては、アクセスできなくなってしまいました。

ps:NTFSのPBR修復法2を調べ
ddコマンドを調べているときに気がついてしまったのですが
/dev/sda5 のパーティションの容量は 約180Gと 
このHDで一番大きな容量のパーティション容量なので、
ddコマンドでdumpファィルを作っても保存する場所がないというか・・・

オフライン

 

#11 2009-08-08 00:16:54

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

追伸 
まちがって installした /dev/sda5 から起動すると

grub>

と表示されます。

オフライン

 

#12 2009-08-08 04:16:23

funatogawa
メンバ
From: 関東
登録日: 2009-02-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

念のため、UbuntuLiveCD(32bit版)かKnopixCDでマウントしてみていただけますか。
それで読めるかどうか。もし読めれば、『Knopix サルベージ』でネット検索すると方法がたくさん見つかります。

NTFSのPBR修復法2は300くらいの外部HDDが必要ですね。

オフライン

 

#13 2009-08-08 09:17:38

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: mbr以外の場所に設定してしまったgrubを削除したい。

nosさん による投稿:

NTFSのPBR修復法 1
extract-backuped-pbr.sh
の処理コマンドにまちがいがありましたら、ご指摘頂けると幸いです。

此方で試したところバックアップ抽出できてました.
以下の手順は Fedora で su を使って試したものを sudo を使う Ubuntu のスタイルに編集したものです.
此方の NTFS は /dev/sda1 です.nosさんの目的のパーティションに読み替えて下さい.
コマンドに慣れていらっしゃらない様子ですので手間はかかるけど少し安全な手順です.

デバイスファイルを一時的に一般ユーザで読み込み可能にする

コード:

$ sudo chmod o+r /dev/sda /dev/sda1

スクリプト実行

コード:

$ bash extract-backuped-pbr.sh /dev/sda1
Target Disk :/dev/sda
Target Partition :/dev/sda1
firstcylinder :1
lastcylinder :1828
cylinders :1828
sectors / track :63
sectors / cylinder :16065
total sectors :29366757
skipsectors :29366756

Extracting backuped PBR...

Finished, backuped-sda1-pbr.img is here.
You may execute "dd if=backuped-sda1-pbr.img of=/dev/sda1"

デバイスファイルを一般ユーザでは読み込み不可能に戻す(此方のプレビューでは o-r のマイナスの後ろに空白があるように見えてますが一続きです)

コード:

$ sudo chmod o-r /dev/sda /dev/sda1

NTFS の PBRになっているか確認

コード:

$ head -c 16 backuped-sda1-pbr.img | hexdump -C
00000000  eb 52 90 4e 54 46 53 20  20 20 20 00 02 08 00 00  |.R.NTFS    .....|
00000010

その後,抽出した PBR をパーティションの先頭に書き込むのですが,
データが大事ならとにかくパーティションまるごとバックアップを勧めます.

オフライン

 

#14 2009-08-08 09:52:52

ack
メンバ
登録日: 2007-06-01

Re: mbr以外の場所に設定してしまったgrubを削除したい。

nos による投稿:

extract-backuped-pbr.sh
の処理コマンドにまちがいがありましたら、ご指摘頂けると幸いです。
root@nosPC:/home/nos# sh extract-backuped-pbr.sh

ここは

コード:

sh extract-backuped-pbr.sh /dev/sda5

のように、対象のパーティションのデバイスファイル名を指定します。

nos による投稿:

まちがってinstallしてしまった
/dev/sda5 の内容を削除しないで、
grubをだけを削除し、元に戻す方法は、

ご紹介頂いたURLの
NTFSのPBR修復法 1
NTFSのPBR修復法 2 
以外の方法はないのでしょうか?

状況は、インストールされたgrubを削除、というよりは、まちがってgrubで塗りつぶしてしまったsda5のパーティション情報を復元する、というものであるため
仮にgrubの部分を「削除」(ゼロで塗りつぶす等)しただけでは回復できない状態です。

上記方法以外で何かないか、という事ですと、私が思いつくのは
○testdiskを使って、正常なものも含めパーティション情報をこちらの意図で上書き
※http://lets-go.hp.infoseek.co.jp/testdisk1.html 参考
ただ今回Dellユーティリティという少々特殊なパーティションが存在したり、MBMをインストールしなおす事になったりしますのでおすすめしません。

○なんらかの仮想PCソフトを使い、今のsdaとそっくり同じパーティション構成を作成し
(サイズ可変の仮想ディスクを使えば実HDDのサイズ以上の仮想ディスクも扱えるので)
仮想HDDのsda5 の先頭512バイトを読み出して保存しておき、実sda5の先頭に書き込む

などです。

なお、バックアップを取る際

nos による投稿:

/dev/sda5 のパーティションの容量は 約180G

180GBを目いっぱい使用していなければ、dd の出力を圧縮しながらファイルに書き込む事で、180GBより小さい(使用している容量ぐらい)サイズに出来る可能性があります。
今回でいえば

コード:

dd if=/dev/sda5 | gzip -c > <お好みのイメージファイル名>

のような形です。

オフライン

 

#15 2009-08-08 10:06:33

nos
新しいメンバ
登録日: 2009-08-07

Re: mbr以外の場所に設定してしまったgrubを削除したい。

mbrにgrubをまちがってinstallした場合の対処方法のように
(ms-dos起動FDとfdisk.exe から>fdisk /mbr と上書きする・・・)
簡単にはいきませんでした。しかし、

時間はかかりましたが、/dev/sda5 ntfs にあったデータは、PBR修復法2を参考に、
データを保全することができました。今回の処理の流れをご報告致します。

素早いレスポンス、タイムリーなレスポンスは、励みになりました。
また、数多くのヒントや解決策にもなりました。1人で悩んでいると、
もっともっと時間がかかったと思います。あきらめていたかもしれません。

アドバイス本当にありがとうございました。

---------------------------------------------------------

/dev/sda6 より ubuntuを起動、コンソールより下記のコマンドを入力

root@nosPC:/home/nos# umount /dev/sda5
umount: /dev/sda5: マウントされていません
root@nosPC:/home/nos# dd if=/dev/sda5 of=nos-sda5.img 
dd: `nos-sda5.img'に書き込んでいます: No space left on device
173316009+0 記録始め
173316008+0 記録終わり
88737796096 バイト (89 GB) コピー終了, 3725.14 s, 23.8 MB/s
root@nosPC:/home/nos#

/dev/sda1 より winxpを起動
/dev/sda5 に該当する部分をntfsとして、クリックフォーマットする。

/dev/sda6 より ubuntuを再度起動、コンソールより下記のコマンドを処理

root@nosPC:/home/nos# umount /dev/sda5
umount: /dev/sda5: マウントされていません
root@nosPC:/home/nos# dd if=nos-sda5.img of=/dev/sda5 bs=512 skip=1 seek=1
173316007+0 記録始め
173316007+0 記録終わり
88737795584 バイト (89 GB) コピー終了, 3197.47 s, 27.8 MB/s
root@nosPC:/home/nos#

/dev/sda1 より winxpを再度起動。
起動の際、ブルーウインドウ(チェックファイルシステム)となりました。
ブルーウィンドウ修復起動後、/dev/sda5 ntfs はwinxpから認識され、
データーも無事保全できたことを確認。/dev/sda5の各ファイルをバックアップ後、
/dev/sda5をntfsとして、再度フォーマット。ubuntuを再install。
ubuntuからも dev/sda5 を無事 ntfs として/win/e マウントできるようになりました。

今回のミスは、/dev/sda3 extended 領域にubuntuをinstallし、grubを設定する場合は、
extended領域の初めのパーティションに、grubを設定しなければならなかったっけ?
という勘違いから /dev/sda5にgrubをinstallしてしまいました。

オフライン

 

Board footer

Powered by FluxBB