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

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