PCトラブル発生時の心強い味方「SystemRescueCd」
今回はちょっと毛色の変わったLinuxディストリビューションとして、データ救出のアーミーナイフとも評される SystemRescueCd を紹介しよう。SystemRescueCdは、クラッシュ時のデータの復旧、ディスク・パーティションの管理やバックアップ、システムメモリのテストといったシステムレスキュー用途に特化した、Gentoo LinuxをベースにしたLinuxディストリビューションだ。ext2/ext3/ext4、ReiserFS、Reiser4、btrfs、XFS、JFS、VFAT、NTFS、ISO9660といった主要なファイルシステムに対応し、ライブCDとして提供されている。USBメモリーにインストールすることも可能なので、ネットブックなど光学ドライブを持たないシステムでも利用できる。
本稿執筆時点でIntelのx86用の最新版は、2009年3月1日にリリースされたバージョン1.1.6である。なお、多少バージョンは古いが、PowerPC用にバージョン0.2.0、SPARC用にバージョン0.4.0も提供されている
SystemRescueCdの起動
SystemRescueCdには日本語環境は用意されていないが、日本語キーボードは使用可能だ。CD-Rなどに焼いたSystemRescueCdを起動すると、図1のようにキーボードタイプ(キーマップ)を指定するためのプロンプトが表示される。日本語キーボードの場合には「22」を指定すればよい。なお、何も入力せずに20秒が経過するとデフォルトの英語キーボードが選ばれる。
システムの初期化が終了すると、コンソール画面で自動的にrootとしてログインした状態となる。デフォルトのログインシェルはLinuxにしては珍しくzshが採用されている。
X Window Systemを起動するには
SystemResqueCdに収録されている主なツールは、コンソールで実行するタイプがほとんどだ。そのためコンソールのままでも使えるが、中にはGParted(パーティション管理ツール)のようなGUIツールもあるので、X Window Systemの起動方法を説明しておこう。Xを起動するにはstartxコマンドを実行すればよいが、うまく起動しない場合もある。そういうときはwizardコマンドを実行し、起動オプションを選択するとよい(図3)。
startxでうまくXが起動しない場合でも、vesaドライバ(vesa互換ビデオカード用の汎用ドライバ)を使う「Xvesa-run」(もしくは「Xvesa-cfg」)なら、Xが起動するだろう。
Xが起動すると、ウインドウマネージャにWindow Makerを使用したシンプルなデスクトップが表示される(図4)。
さまざまなレスキューツール
続いて、SystemRescueCdに用意されている主要なレスキューツールをいくつか紹介しよう。
●GNU Parted
GNUプロジェクトによるパーティショニング・ツール。パーティションの作成/削除/リサイズ/コピーなどが行える。GUIフロントエンドとして、GParted(図5)が用意されている。
●Partimage
パーティション単位のバックアップ/リストア・ツール。パーティションの内容を丸ごとイメージファイルとして書き出すことができる(図6)。
●TestDisk
パーティションのリカバリツール。誤ってパーティションを削除してしまった場合の復旧に役立つ(図7)。
●ddrescue
データ救出ツール。壊れかかったハードディスクのパーティションから、救出可能なブロックを別のパーティションにコピーする。たとえば、/dev/sda1の内容を/dev/sdb1に救出するには、次のようにすればよい。ここで、「-r3」はリトライを3回行うオプションである。
% ddrescue -r3 /dev/sda1 /dev/sdb1 ddr-logfile
NTFSパーティションのマウント
SystemRescueCdでWindows PCのデータを救出する場合、まずはデータが入っているパーティションをマウントする必要がある。Windows XP以降の標準パーティションであるNTFSは、NTFS-3Gを利用することにより読み書き可でマウントすることができる。たとえば、/dev/sda1を/mnt/winディレクトリにマウントするには次のようにすればよい。
% ntfs-3g /dev/sda1 /mnt/win
ネットワークも利用可能
SystemRescueCdは、SambaやNFSといったネットワーク・ファイルシステムもサポートする。また、rsyncも搭載されているので、ネットワーク経由でファイルの同期を行うことも可能だ。ただし、ネットワークカードはブート時に自動検出されるものの、ネットワークを利用するにはIPアドレスやデフォルトルートを適宜設定する必要がある。IPアドレスを固定で割り当てる必要が無く、ネットワーク内にDHCPサーバが設置されているのであれば、次のコマンドでDHCPサーバで自動設定すればよいだろう(NICが「eth0」場合)。
% dhcpcd eth0
ネットワークを有効にすることで、レスキュー対象のPCからサルベージしたファイルをファイルサーバに転送することが可能になる。
OSが壊れて起動しなくなったPCに重要なデータが入っているようなとき、SystemRescueCdは心強い味方になってくれるだろう。常用するタイプではないが、不測の事態に備えて常備しておきたいLinuxディストリビューションだ。