HDD を換装してみた 羽鳥 健太郎(はとちゃん) はじめに 悲劇は、何気ない日常に起こります。パソコンで遊んでばかりいる子供に歌人が怒り、パソ コンの奪い合いの果てに強制終了。それから勉強を終えて遊ぼうとした子供から、「起動でき ない...」と悲しげな声がかかりました。電源スイッチを押すと HDD は回転しますが、画面には システムがないと表示され、HDD からは微かに「スイッチョン、スイッチョン」と秋の虫のような 音が聞こえます。HDD が機能不全で脳死状態のようです。 まずは TestDisk で修復 今回も TestDisk1のご利益にすがろうと、TestDisk を起動します。しかし、最後の[Write]を 実行してパーティションを書き込ませるところで、次のメッセージが表示されました。 Partion: Read error 何度やっても同じ結果で、息の根を完全に止めてしまい脳死からゾンビ化しているようです。 同じ PC の環境のクローンを作成 ラッキーなことに、同じ PC があったので、その PC の HDD のクローンを作成することにしま した。しかし、現在手元にある余っている(本当に余っているわけではありませんが)HDD は、 内蔵の HDD が 250MB あるのに対し、120GB と半分以下です。これでハマったようです。 台湾製ディストロ Clonezilla を試してみた Debian ベースで台湾生まれのディストロ Clonezilla2は、Norton Ghost に似たディスククロー ンツールです。大まかには、ディスクから DVD などのイメージの作成、イメージからディスクへ の解凍、ディスクからディスクへのクローン作成をするものです。 1 2 パーティション修復ソフト http://www.cgsecurity.org/wiki/TestDisk http://clonezilla.org/ これで成功すれば万々歳だったのですが、何度やってもコピーの途中で止まってしまいます。 まだ発展途上なのかもしれません。今後の頑張りに期待しましょう。 商用ツール Acronis True Image Home 2012 さてどうしようと考えたときに、大人はすぐにお金の力を借りようとします。というわけで、以 前使用したことのある Acronis の True Image をウェブからポチりました。 以前のものは、Trure Image 9というもので、S-ATA のドライバを含んでいませんでした。最 新の True Image Home 2012 は S-ATA にもちろん対応しています。ダウンロードしたファイル から Windows7 にインストールし、メニューから「ブートメディアビルダ」を選択して、CD-R に焼 き付けます。なんで Windows の話ばかりするのかと訝しがるかもしれませんが、実はこの CDR は LiveCD Linux なんです。 これを起動すると、次のメニューが表示されますから、これからツールとユーティリティを選 択して、ディスククローンを作成できます。自動と手動があって、自動を選択すると、クローン元 とクローン先の容量の違いを加味して、自動的に各パーティションのサイズを選択してくれま す。通常はこちらで楽をして構いませんが、小さな容量のクローン先の HDD でそうすると、換 装してこのクローン先で起動すると、容量が足りないとメッセージがうるさく表示されます。 これを後からパーティションのサイズを Parted Magic などにある GParted で調整することも できますが、けっこう時間がかかります。ここは手動を選んで、容量が足りないメッセージが表 示されないように、各パーティションのサイズを調整して、実行したほうが効率的です。 MBR の再設定 クローン先の HDD を壊れた HDD と換装して再起動してみましたが、うんともすんともいい ません。この場合、Windows7 のみの環境であるならば、あらかじめ作成しておいた「Windows 修復ディスク」を起動すれば、MBR を修復してくれます。 Ubuntu と Windows のデュアル環境では、SuperGrub2 の CD でも修復できませんでした。 こういうときは、基本に帰って、Ubuntu 12.04LTS のインストール CD で起動するときに、起動 オプションで、 file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz ..... とあるものを、root を grub.lst のあるパーティション(例えば、root=/dev/sda5)に書き換えます。 これで起動ができますので、64bit Linux でやったようにコンソールで、以下を実行すると、元 のように Grub から起動できるようになります。 $ sudo upgrade-grub2 $ sudo grub-install /dev/sda UUID の更新 起動はできるようになったものの、起動時にエラーが表示されます。これはクローン先で生 成された新たな UUID と、先に設定してあった UUID が違うために、ID が違うよと怒られてい るからです。 まずは、コンソールから blkid コマンドで新しい UUID を確認してみます。 $ sudo blkid /dev/sda1: LABEL="PQSERVICE" UUID="28522D8C522D5FB4" TYPE="ntfs" /dev/sda2: LABEL="ACER" UUID="7C30255230251524" TYPE="ntfs" /dev/sda3: UUID="ab9563fa-d59e-42bc-8606-d597b55c80a2" TYPE="reiserfs" /dev/sda5: UUID="0f5276ae-6a45-45ff-bab7-8cdb9d5ff959" TYPE="swap" 確認した UUID を、/etc/fstab に反映させます。 fdisk コマンドを実行すると、パーティションの順番が違うというので、パーティションテーブ ルを適正化させます。 $ sudo fdisk /dev/sda ...... コマンド(m でヘルプ): x 特別な機能(エキスパート専用) 上級者コマンド(m でヘルプ):f パーティションの順序を適正化する 上級者コマンド(m でヘルプ):w テーブルをディスクに書き込み、終了する dd コマンドがあるじゃない この顛末を小江戸らぐのオフで話したところ、なんで dd コマンドを使用しないのという指摘 を受けました。dd コマンドは、ファイルのコピーと変換を行うもので、イメージを取り出したりす ることに使用するためのものです。しかし、ディスクの丸ごとコピーするのに使用するという発 想はありませんでした。 念のため、やり方を押さえておきましょう。 # dd if=/dev/sda of=/dev/sdb ここで重要なのは、容量の大きな転送元ディスクから小さな転送先ディスクへのコピーは、 伝送元ディスクにあるデータの領域を、先頭のほうからつめていき、転送先ディスクの容量以 内に納めておかなければならないということらしいです。 おまけ この記事は、実は2つのことが混じっています。内蔵 HDD 250GM が壊れた PC に、USB 接 続の外付け HDD 120GB のものを利用して、クローンを作成して換装したもので、もうひとつ は、正常な内蔵 HDD 250GB をパーツとして購入した HDD 500 GB に換装しものです。前者 は完全に Windows7 環境で、後者は Windows7 と Ubuntu12.04LTS のデュアルブート環境で す。 実は、まだ内蔵 HDD 320GB を SSD 64GB に換装するというものもあったのですが、これも 一緒にすると、さすがに訳が分からなくなるので、一度小江戸らぐのオフで話してからまとめよ うかなと思っています。あぁでも書いちゃいたい...。 基本的には、SSD でも手順は変わりません、違うところは、唯一/etc/fstab の記述です。現在 の SSD 化した PC は、次のように記述しています。 # /etc/fstab: static file system information. # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda5 during installation UUID=cf9c4080-fbd2-4ad9-99ba-47b52b2e8d11 / ext4 discard,noatime,errors=remount-ro 0 1 # swap was on /dev/sda6 during installation UUID=b1a35472-1c53-4367-93b6-f69a2c6f3c04 none swap discard,sw 0 0 ちょっと分かりにくいですが、オプションに discard を記述して、さらにファイルシステムでは noatime を追加しています。discard は ext4 専用のパラメータで、SDD に特化した機能を提供 します。swap にも記述してあるのは、きっと間違いでしょう (^^;
© Copyright 2024 Paperzz