
Ubuntu日本語フォーラム

ログインしていません。
最近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を利用しています。
オフライン
/dev/sda5 がどういう扱いになってしまったのかまず確認してみたいところです。
WindowsXPのディスクの管理ではおそらく「不明なパーティション」としか表示されず、種類が確認できないと思いますので
Ubuntuで起動(HDDのものでもCDのものでも良いです)します。
フォーラムに内容を貼り付けやすいと思いますので、fdiskコマンドを使うと良いかと思います。
端末を立ち上げて
sudo fdisk -l
を入力、パスワード入力を求められたら入力します。
でてきた情報を投稿して頂ければと思います。
なお今後の予想として、今のところ testdisk の活用や、Ubuntu の fdisk で「sda5はNTFSだ」という事を明示的に上書きしてやれば
中身を保ったままなおせそうに見えますので、あせらず対処していくと良いと思います。
オフライン
素早いレスポンスありがとうございます。
アドバイス頂けたことを調べるべく
/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
オフライン
こんにちは
やったことがないのでコメントは差し控えますが、情報です。
/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を間違えないように。間違えると大変なことになります。パーティションをまちがえなければ簡単に復旧できます。
オフライン
ご報告ありがとうございます。
見てみると、
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 が良さそうです。
オフライン
下記を試しましたがだめでした。
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?
オフライン
ご報告ありがとうございます。
こうなると何らかの方法で新規にパーティション情報を書き込む事になりますので、
http://wikiwiki.jp/disklessfun/?fixpbr#cdac93e2
こちらの
NTFSのPBR修復法 1 (まず試みるべき法)
NTFSのPBR修復法 2 (時間がかかるが、適用範囲が広く、最も強力な方法)
などを行ってみるのが良いと思います。
(funatogawa さん紹介のスクリプトの解説ページです)
オフライン
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
の方法もためそうとしています。
オフライン
MBMでマルチブートしてるってことは、それぞれのHDDを直接呼び出して立ち上げるのはできているわけですよね?
オフライン
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ファィルを作っても保存する場所がないというか・・・
オフライン
追伸
まちがって installした /dev/sda5 から起動すると
grub>
と表示されます。
オフライン
念のため、UbuntuLiveCD(32bit版)かKnopixCDでマウントしてみていただけますか。
それで読めるかどうか。もし読めれば、『Knopix サルベージ』でネット検索すると方法がたくさん見つかります。
NTFSのPBR修復法2は300くらいの外部HDDが必要ですね。
オフライン
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 をパーティションの先頭に書き込むのですが,
データが大事ならとにかくパーティションまるごとバックアップを勧めます.
オフライン
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 > <お好みのイメージファイル名>
のような形です。
オフライン
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してしまいました。
オフライン