08 August 2010

(Linux) ベアメタル リカバリのためのsfdiskによるパーティション構造保存・復旧

sfdiskコマンドによるパーティション構造の保存・復旧方法のメモ。

パーティション構造がバックアップされていないと、partimageで作成したイメージを書き戻しても使い物にならない可能性があるため。(厳密に、同一パーティションに書き戻す必要がある)

■ ツール

・Knoppix 6.0.1 日本語版

■ バックアップ

$ su - # sfdisk -d /dev/sda > /home/knoppix/Desktop/sfdisk-backup.txt

バックアップされたパーティション情報のファイルは、次のようなテキストファイルになる。

# partition table of /dev/sda unit: sectors /dev/sda1 : start= 63, size= 995967, Id= 7 /dev/sda2 : start= 996030, size= 5285385, Id= 5 /dev/sda3 : start= 0, size= 0, Id= 0 /dev/sda4 : start= 0, size= 0, Id= 0 /dev/sda5 : start= 996093, size= 995967, Id=83 /dev/sda6 : start= 1992123, size= 995967, Id=82

■ リストア

$ su - # sfdisk /dev/sda < /home/knoppix/Desktop/sfdisk-backup.txt Checking that no-one is using this disk right now ... OK Disk /dev/sda: 391 cylinders, 255 heads, 63 sectors/track Old situation: Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 0 - 0 0 0 Empty /dev/sda2 0 - 0 0 0 Empty /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty New situation: Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sda1 63 996029 995967 7 HPFS/NTFS /dev/sda2 996030 6281414 5285385 5 Extended /dev/sda3 0 - 0 0 Empty /dev/sda4 0 - 0 0 Empty /dev/sda5 996093 1992059 995967 83 Linux /dev/sda6 1992123 2988089 995967 82 Linux swap / Solaris Warning: no primary partition is marked bootable (active) This does not matter for LILO, but the DOS MBR will not boot this disk. Successfully wrote the new partition table Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).)

■ ソフトウエアRAID

コマンドラインで新規作成してやる必要があります。ログファイルから一発でリストアできるコマンドは知りません…

例えば…

# mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sda5 /dev/sdb5

のように、いちいち新規構築する。