《注意》
数年前から標準で利用されるUEFIブートモードで起動がGPTファイル形式でインストールされる場合は、以下の方法での動作は確認していません。
USBメモリやハードディスク、もちろんSSHで接続加納なファイルサーバーなどがあればそこに tarコマンドを使ってシステム全体をバックアップする方法をメモします。
厳密には、Ubuntuのインストールディスクから起動して作業を行うのが良いのですが、ここでは動いているシステムをバックアップします。システムはハードディスクの一つの区画である「/dev/sda1」が「/」にマウントされている事とします。また、バックアップ先のUSBメモリまたはハードディスクは「/dev/sdb」として認識し、これをfdsikで区画を一つ作成し、mkfs.ext4で初期化し、「/dev/sdb1」として認識している事とします。
バックアップ
バックアップ先の記憶媒体が/dev/sdb1として認識されていますので
# mkdir /mnt/sdb1
# mount -t ext4 /dev/sdb1 /mnt/sdb1
としてマウントしてから次のようにtarコマンドを実行します。
# cd /
# tar cvpzf /mnt/sdb1/backup.tar.gz --exclude=/proc --exclude=/lost+found \
--exclude=/mnt --exclude=/sys .
なお、UbuntuのインストールCDから起動して、Ubuntuの試用を選択した場合は、
# mkdir /mnt/sda1
# mount -t ext4 /dev/sda1 /mnt/sda1
# cd /mnt/sda1
としてから、除外するフォルダの指定をすこし変えてtarコマンドを実行する事になります。
# tar cvpzf /mnt/sdb1/backup.tar.gz --exclude=./proc --exclude=./lost+found \
--exclude=./mnt --exclude=./sys .
tarコマンドが修了したら、mountした領域をumountコマンドでアンマウントします。
リストア
新しいパソコンにバックアップで保存したbackup.tar.gzを利用して内容をリストア(復元)します。
リストアは、Ubuntuのデスクトップ版インストールCDやRescueCDなどでパソコンを起動して作業をします。
先ず、fdiskで区画を作成します。一応システムをインストールする区画を一つ、スワップ領域を一つ作成します。操作の詳細は割愛します。fdiskで区画を作成後はext4形式での初期化とmkswapを忘れずに実行します。
# mkfs.ext4 -c /dev/sda1
# mkswap -c /dev/sda2
続いて、マウントポイントを作成しマウント。バックアップしてファイルをtarコマンドで復元します。sda1は復元先、sdb1はバックアップした記憶媒体用です。
# mkdir /mnt/sda1
# mkdir /mnt/sdb1
# mount /dev/sda1 /mnt/sda1
# mount /dev/sdb1 /mnt/sdb1
# cd /mnt/sda1
# tar xvzpf /mnt/sdb1/backup.tar.gz
バックアップ時に除外していたフォルダを作成しておきます。
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
ブートローダー「GRUB」の設定
上記のtarでの復元ではブートローダーのインストールは行われません。Ubuntuの場合はインストールした状態でGRUBのインストールに必要なファイルも入っているのでこれを活用してブートローダーをインストールします。
# mount --bind / dev/ /mnt/sda1/dev
# mount --bind /sys/ /mnt/sda1/sys
# mount -t proc none /mnt/sda1/proc
# chroot /mnt/sda1 /bin/bash
# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg …
Found linux image: /boot/vmlinuz-2.6.32-32-generic-pae
Found initrd image: /boot/initrd.img-2.6.32-32-generic-pae
Found linux image: /boot/vmlinuz-2.6.32-28-generic-pae
Found initrd image: /boot/initrd.img-2.6.32-28-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
done
#grub-install /dev/sda
Installation finished. No error reported.
#exit
- grub-mkconfig での表示例(特に数字の部分)は実際にインストールされているLinuxのカーネルバージョンなどにより変化します。上記は一例です。
- grubとLinuxの起動についての基礎知識は次のURLなどでおさらいしておきます。
gihyo.jp: http://gihyo.jp/dev/serial/01/sc-literacy/0013
日経 xTECH: https://tech.nikkeibp.co.jp/it/article/COLUMN/20061025/251720/
/etc/fstab の編集
UUID= でのハードディスクの領域指定は、バックアップしたハードディスクのユニークな
情報による指定方法であるので、「UUID=f5c00898-df5f-487b-ac37-e5d9280574e7」の形式の指定をfstabのマウントポイントの指定から判断して、「/dev/sda1」、「/dev/sda2」に置き換えます。
再起動して動作確認
アンマウントし、再起動して動作を確認してください。
# umount /mnt/sda1/sys
# umount /mnt/sda1/proc
# umount /mnt/sda1/dev
# umount /mnt/sda1
# umount /mnt/sdb1
# reboot