2005年12月29日木曜日

ようやくPC環境(ほぼ)復活

やはりシステムパーティションを含むHDDの換装なんてやるもんじゃないですね・・・。えらい目に遭いました^^;
まず、新たにSATAのHDD80GBとGeForce FX5200 128MBのグラボを合わせて約12000円で購入。電源も友人から譲ってもらえたのですが、それはCPUへの電源供給コネクタがついていなくて使えませんでしたOrz
家に帰り着き、まずはパーツ交換。グラボを交換し、HDDはSATAのものを増設。このままだとHDD3台と工学ドライブ2台と意味不明な電力消費となるため、CD-RWドライブとスレーブのHDDのケーブルを外してしまう。とりあえずこの状態でDVDドライブにKnoppixを入れ、旧HDDが起動できるであろうBIOS画面30分放置後にKnoppix投入。とりあえず旧HDDには問題なくアクセスでき、データが残っていることを確認。どうやってイメージをコピーしようかな〜と思って思案していたのですが、とりあえず80GBのHDDを
100MB   Linux領域(/boot)
20GB    Linux領域(/)
30GB    Windows領域(システムパーティション)
残りは空き領域
という風にパーティションを切ってコピーすることに決めました。ここまではよかったんですよね・・・。
で、イメージをコピーする方法に私が選んだのが”dd”と呼ばれるコマンド。ディスクのイメージを切り出すのに一番手っ取り早いコマンドなんですよね、これ。壊れたパーティションなどからデータを吸い出す方法としてよく用いられる方法なんですが、後々これを使ったことで後悔することに・・・;;
で、旧HDDはというと
100MB   Linux領域(/boot)
20GB    Windows領域(システムパーティション)
10GB    Linux領域(/)
8GB     Linux領域(VineLinux)
という構成でした。パーティションの順番を変更し、容量も倍となったので大きくする予定でした。で、ささっと上の容量で新HDDを切り、ddコマンドにてそれぞれのパーティションを丸ごとコピー。HDD同士のやり取りなので20GBのコピーも10分程度しかかからず、結局全部のパーティションのコピーは1時間足らずで終了してしまいました。
が!!!ここからが地獄でした。システムのHDDを取り替えたため、当然そのんまは起動してくれません。データのコピーは確かに行われて、データもそこに存在しているのですが、あらゆるブートローダで起動に失敗Orz Windowsのインストールディスクにて修復を試みるもSATAのディスクが見えない;; LinuxもLinuxでカーネルイメージを展開した後/パーティションを見つけられずKernel Panic!!! とりあえずLinuxはなんとかなるだろうということで(どういうことだw)Windowsの起動方法を調べていたのですが、その時点でもう午前2時だったので諦めて就寝。
そして今日(正確には昨日か)、再びOSと対峙。と言ってもWindowsの方は手立てが思いつきませんでしたからさっさと諦めて再インストールすることにw どの道旧HDDはまだなんとか動くわけですから、そっちからデータをサルベージしてやれば済むことですし。が、せっかくデータをコピーしたのだし、それを使わなきゃ損だということでパーティションをフォーマットせずに上書きでXPを入れなおしました(激しく非推奨)。インストール自体は30分もかからないくらいで終わりました。で、データはというと、そっくり残ってましたv ドライバ類を入れ直し、SP2などを入れて設定があらかた終わったときにふと気付きました。
「あれ?容量がやけに少ない・・・。前の倍切ったはずなのになんで空き容量が前より少ないくらいなんだ・・・???ってか、最大容量が20GBって・・・!!???」
そう、30GB切ったはずなのにプロパティで確認すると最大容量20GBとの表示。
「なんでやねん。これHDD間違って見えてるんじゃ・・・って、ちょっと待てよ・・・。ddコマンドってディスクのイメージそっくりそのままコピーだったよな・・・。ま、まさか・・・・!?」
えぇ、ddコマンドはMBRなどを切り出すことにも使われるような、ファイル単位のコピーツールではなくバイト単位のコピーツール。それは「ディスクのクローン作成」を意味し、inode情報もそっくりそのままコピーしてしまったのですOrz inode情報はパーティションを切ったときに決定され、その後変更は効きません;; そのおかげで、30GB切ったにもかかわらず20GB分しか管理できなくなってしまったのです;;気付いたときにはすでに遅し。さすがにもう一度インストールする元気はなかったので、Linuxの起動に取り掛かることに。Linuxの方はカーネルイメージの展開後、/パーティションが見えていないことが原因だと割とはっきりしていたので、それを中心にGoogle先生に質問。するとどうもinitrdというファイルを再構築することで、起動時にSATAのモジュールが読み込まれるようになるとのこと。実際にはFedoraのインストールCDの1枚目などの1CDLinuxにて起動し、適当な箇所にFedoraの/パーティションと/bootパーティションをマウント。FedoraのインストールCDによるrescueモードでは/mnt/sysimageにHDDにあるFedoraのシステムがマウントされるので
#chroot /mnt/sysimage
# cd /boot
# mkinitrd initrd-2.6.xxxx_FC4.img 2.6.xxxx_FC4 (xxxにはバージョンが入る)
とすることでinitrdイメージが再構築できる。念のためにあらかじめ存在していたinitrdはコピーをとっておく。これで再起動したら無事起動。Windowsと同様、こちらも/パーティションが大きめに切ったにもかかわらず以前と同じ大きさで管理されてしまっています;;
まぁ、Linuxの/パーティションはまだいくらか余裕があったので64bit版を入れ直すときにでもやり直すことにします。が、Windowsは割といっぱいいっぱいだった上にやっぱりフォーマットしなかったツケでProgramFilesに存在はするけどレジストリに登録されてないから直接exe叩くしかないアプリが大量に眠ってまして処置が面倒になり、さらにinodeを書き換えようとパーティションの縮小->拡大を行おうとして失敗し、結局XPをクリーンで入れなおすことに(苦笑) もう本日2度目ということもありテキパキと処理を終えて今無事にSP2も当ててとりあえず必要であろうソフトは入れなおした状態まで復活しました。後は旧HDDからデータをサルベージするくらいですが、割とどーでもいーかなーとかって思ってたりもします(笑) 私にとってWindowsは割と動けばいいかなというくらいのモノですし、ゲーム機ですし(ぁ まぁ音楽は別のHDDに保存してたのでほぼノーダメージですし、必要なのは画像ファイルくらいですかね。気が向いたらサルベージしましょう。
さて、これでなんとかPC環境移行完了!結局取り替えたのがM/BにCPU、HDDにグラボ、そして電源も交換予定と新PC買ったのと大して変わらなくなっちゃいましたf(^ ^; それでも合計で32000円くらいで抑えたので頑張ったほうかな?なんとか年内に環境移行もできて満足満足。これですっきりと新年を迎えられそうですw
今年もあとわずか。がんばって駆け抜けましょう!

3 件のコメント:

  1. SECRET: 0
    PASS:
    あぁ〜、めっちゃ大変でしたね。過去記事からもう一度振りかって観ると、語るも涙、書くのも涙、だったかもしれません(もらい泣き
    PCでのデータ移行って大変ですもんね・。コデさんの場合は、LinuxとWin、両方だから、余計手間だったかもしれませんねぇ・・。
    本当、ご苦労様です。
    きっとこれで「コデさまはレベルが上がった。トラブルスキルが強くなった」と、なっていることでしょうw
    お疲れさまー。

    返信削除
  2. SECRET: 0
    PASS:
    なんかわからんがパソコン直ったんや^^; おつかれ〜☆

    返信削除
  3. SECRET: 0
    PASS:
    ★ marubegs8さん
    えぇ、大変でした^^; 結構色々と試行錯誤したので書くのは確かにしんどかったですねぇ。これでもだいぶ端折ってますが(ぁ
    確かに、データ移行についてはパーティションを細々と切っていたのでちょっと手間だったかも。でも意外と早くコピーできましたよ?^^
    ん、なるほど、確かにトラブルスキルがレベルアップしたかもしれません(笑) やってみないと覚えないものですからねぇ、こういうのは。いい勉強になったと思います。
    ★ kakutch
    なんかわからんやろうけどパソコンは直りました^^ おつあり〜♪

    返信削除