SystemRescueCdのサイトにいってダウンロードリンクを探す。sourceforgeでホスティングされている。わかったら、ダウンロードしてmd5sumチェック。サイトにmd5sumが書いてある。1.5.8の場合は"a805785eae4699ae2b4b04e8abdc6b1b"。検証に成功。
$ wget http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.5.8/systemrescuecd-x86-1.5.8.iso --2010-07-17 04:02:04-- http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.5.8/systemrescuecd-x86-1.5.8.iso Resolving downloads.sourceforge.net... 216.34.181.59 Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://jaist.dl.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.5.8/systemrescuecd-x86-1.5.8.iso [following] --2010-07-17 04:02:04-- http://jaist.dl.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.5.8/systemrescuecd-x86-1.5.8.iso Resolving jaist.dl.sourceforge.net... 150.65.7.130 Connecting to jaist.dl.sourceforge.net|150.65.7.130|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 272936960 (260M) [application/octet-stream] Saving to: `systemrescuecd-x86-1.5.8.iso' 100%[=================================>] 272,936,960 7.00M/s in 36s 2010-07-17 04:02:41 (7.16 MB/s) - `systemrescuecd-x86-1.5.8.iso' saved [272936960/272936960] $ md5sum systemrescuecd-x86-1.5.8.iso a805785eae4699ae2b4b04e8abdc6b1b systemrescuecd-x86-1.5.8.iso $ echo "a805785eae4699ae2b4b04e8abdc6b1b systemrescuecd-x86-1.5.8.iso" > systemrescuecd-x86-1.5.8.md5 $ cat systemrescuecd-x86-1.5.8.md5 a805785eae4699ae2b4b04e8abdc6b1b systemrescuecd-x86-1.5.8.iso $ md5sum --check systemrescuecd-x86-1.5.8.md5 systemrescuecd-x86-1.5.8.iso: OK
で、書き込む。
# wodim -sao dev=/dev/hdc systemrescuecd-x86-1.5.8.iso Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identification : 'RW/DVD GCC-4240N' Revision : 'C102' Device seems to be: Generic mmc2 DVD-ROM. Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R Speed set to 706 KB/s Starting to write CD/DVD at speed 4.0 in real SAO mode for single session. Last chance to quit, starting real write in 0 seconds. Operation starts. Track 01: Total bytes read/written: 272936960/272936960 (133270 sectors).
system rescue cdはsshサーバが動いているので、ssh経由で救出作業を行う。その前にsshでログインするためにrootのパスワードを設定しておく。これはsystem rescue cdが動いているマシンのキーボードから行う。
root@sysresccd /root % passwd Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
作業端末からsystem rescue cdの動いているマシンにログインする。
$ ssh -l root 192.168.11.6 Password:
ログインに成功したら以降はssh経由で作業する。データ救出したいHDDのパーティションテーブルをfdiskで確認。今回救出したいデータはsda2,sda3,sda5,sda7に入っている。これらのパーティションをマウントするディレクトリを作り、マウントする。今回の救出対象にはwindowsのパーティションも含まれているが、問題なくマウントできた。
root@sysresccd /root % fdisk -l /dev/sda Disk /dev/sda: 40.0 GB, 40007761920 bytes 255 heads, 63 sectors/track, 4864 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x2f679b6b Device Boot Start End Blocks Id System /dev/sda1 1 5 40131 de Dell Utility /dev/sda2 6 1465 11727450 7 HPFS/NTFS /dev/sda3 * 1466 1478 104422+ 83 Linux /dev/sda4 1479 4864 27198045 5 Extended /dev/sda5 1479 2753 10241406 83 Linux /dev/sda6 2754 2880 1020096 82 Linux swap / Solaris /dev/sda7 2881 4864 15936448+ 7 HPFS/NTFS root@sysresccd /root % mkdir -p /mnt/target/sda2 root@sysresccd /root % mkdir -p /mnt/target/sda3 root@sysresccd /root % mkdir -p /mnt/target/sda5 root@sysresccd /root % mkdir -p /mnt/target/sda7 root@sysresccd /root % ls /mnt/target/ sda2 sda3 sda5 sda7 root@sysresccd /root % mount /dev/sda2 /mnt/target/sda2 root@sysresccd /root % mount /dev/sda3 /mnt/target/sda3 root@sysresccd /root % mount /dev/sda5 /mnt/target/sda5 root@sysresccd /root % mount /dev/sda7 /mnt/target/sda7
避難先のnfsもマウントしておく。nolockオプションをつけろといわれるが、このオプションはNFSロックを無効化する。あまりうれしくないのでrpc.startdを開始してから再度マウント。成功。
root@sysresccd /root % mount -t nfs -o tcp,hard,intr 192.168.12.3:/***********/sdb1 /mnt/sdb1 mount.nfs: rpc.statd is not running but is required for remote locking. mount.nfs: Either use '-o nolock' to keep locks local, or start statd. root@sysresccd /root % /etc/init.d/rpc.statd start * Starting portmap ... [ ok ] * Starting NFS statd ... [ ok ] root@sysresccd /root % mount -t nfs -o tcp,hard,intr 192.168.12.3:/***********/sdb1 /mnt/sdb1
最後にファイルをコピーする。rsyncコマンドのsource(/mnt/target)は最後の/無しで。こうすると、/mnt/sdb1/targetが作成される。
root@sysresccd /root % rsync -av /mnt/target /mnt/sdb1
ファイルをフルバックアップする場合は上のやり方でいいけど、すでに/mnt/sdb1/targetが存在している場合は以下のようにする。srcディレクトリの最後の/をつけておく。こうすることで、/mnt/sdb1の下にあるtargetディレクトリの中にコピーが作成される。
root@sysresccd /root % rsync -av /mnt/target/ /mnt/sdb1
再起動した場合など、sshで接続を試みると、以下のメッセージが現れることがある。この場合は、~/.ssh/known_hostsの10行目(エラーメッセージのOffending key in /home/***********/.ssh/known_hosts:10)をエディタで削除して、再度sshで接続。
$ ssh -l root 192.168.11.6 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. Please contact your system administrator. Add correct host key in /home/***********/.ssh/known_hosts to get rid of this message. Offending key in /home/***********/.ssh/known_hosts:10 RSA host key for 192.168.11.6 has changed and you have requested strict checking. Host key verification failed. $ ssh-keygen -f "/home/***********/.ssh/known_hosts" -R 192.168.11.6 # Host 192.168.11.6 found: line 10 type ECDSA /home/***********/.ssh/known_hosts updated. Original contents retained as /home/***********/.ssh/known_hosts.old $ ssh -l root 192.168.11.6 The authenticity of host '192.168.11.6 (192.168.11.6)' can't be established. RSA key fingerprint is 0b:f7:5f:0c:7c:4f:1b:b1:e8:07:8e:6b:88:f3:e8:e0. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.11.6' (RSA) to the list of known hosts. Password: root@sysresccd /root %
fat32などのフォーマットでマウントした後のファイル名が化ける場合は、以下のようにオプションをつける。
% umount /dev/sda5 % mount -t vfat -o codepage=932,iocharset=utf8 /dev/sda5 /mnt/******/sda5