Tag: バックアップ Tag: dump Tag: restore

Ubuntu、Linuxのシステムバックアップ

システム全体のバックアップ

 標準的なコマンドとしては、dumpとrestoreを使う方法が紹介されていると思います。ハードディスクが故障して新しいハードディスクにrestoreする場合は、OSのブートを行うMBRも設定しなければならない。以下などを参考にするといいと思われる。なお、WEBサイトには間違いもあるので、鵜呑みにせずに良く読んで不明な部分を解決し、まずはテスト環境でデータを戻してから本番環境で実行する事をお勧めします。基本的にrestoreはライブCDで起動し、バックアップ元、バックアップ先を手動でマウントして作業します。起動したUbuntuに上書きするような形でrestoreはしません。Cronezillaなどのバックアップ用に調整されたライブCDはデータのある部分のみを効率よく取得し、バックアップ元とバックアップ先の領域のサイズが多少違ってもリストア出来るようになっています。

様々なバックアップ方法があります。以下などを参考に確実にバックアップ、リストア出来る方法で運用してください。

上記URLに、tarでバックアップする方法が、以下にあります。これは、起動したシステムの/以下をバックアップする方法になると思います。少し情報が古いですが、これで問題無ければ、この方法が処理しやすいかもしれません。ただし、新しいハードディスクを利用しての復元(リストア)ではGRUBのインストールが必要ですし、swapパーティーションも適切に作成、設定します。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/BackUpAndRestore

 原文と思われる以下のURLには更に詳しくtarコマンドを利用した場合のバックアップについて説明があります。
https://help.ubuntu.com/community/BackupYourSystem/TAR

【注意】 リストアの際で、新しいHDDにリストアする時などファイルシステムをmkfs.ext4などで初期化する必要がある場合には、ライブCDなどを使ってパソコンを起動しますが、ライブCDで利用するファイルシステム管理プログラムのファイルシステムのサポートしているバージョンとリストアされるそのバージョンに大きさ差があるとシステムが起動しない事があります。したがって、リストアの際には、そのOS(Ubuntu)のバージョンのライブCDで起動して作業をして下さい。そうすると概ねバージョンが大きく異なることはなく、ファイルシステムのサポートされるバージョンの差異によるトラブルを回避出来ます。




バックアップ(保存)先のメディア、機器

同一PC内

別のPC、サーバー、NASなど

NAS

RAID1のミラーリングなどが出来るNASがお勧めです。




LVM利用のバックアップを使わない環境へリストア

2020-09-28

 通常のtarを利用したシステム全体のバックアップをリストアする要領で戻したが、GRUB2によるブートが出来なかった。GRUB2自体のハードディスクの例えば/dev/sdaにインストールでエラーは出なかった。GRUB2の起動するOSの一覧メニューも出てきた。起動しようとすると、/root/proc がマウント出来ない云々と出てきた後にメンテナンスモードのようなものが起動した。
 GRUBの設定関係が環境が変わったことに対応していないと思われるがどのように変更したらよいのでしょうか。

駄目な時の処理の概要メモ

  • ishimaru@192.168.1.xxx ですが、バックアップしたい元のPCがIPアドレス192.168.1.xxxで動作していて、ishimaruユーザーはsudoが可能なユーザー。
  • SSHのポートは7821にしている。
RescueCD でリストアするPC(ここでは仮想環境内)起動
/dev/sda にext4とswapを作成
/dev/sda1 を /mnt にマウント
cd /mnt
ssh -p 7821 ishimaru@192.168.1.xxx "sudo -S tar cvplf - --exclude=/proc  --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/tmp /" | tar xvpl
 
GRUB2をインストールするので・・・
mkdir  proc  lost+found  mnt  sys  tmp
mount  --bind  /dev/ /mnt//dev/
mount  --bind  /sys/ /mnt/sys/
mount  -t  proc  none  /mnt/proc/
chroot  /mnt/   /bin/bash
export PATH=/bin:/usr/sbin:$PATH
grub-mkconfig   -o   /boot/grub/grub.cfg
grub-install /dev/sda
 
/etc/fstab を今回のシステムに合わせる
/etc/network/inerfaces の IP アドレスは、192.168.1.xxx以外にする
 
exit
umount /mnt/proc
umount /mnt/sys
umount /mnt/dev
 
cd /
umount /mnt
 
そして再起動するが・・・正常起動しなかった。

起動させるために

Ubuntuの同じバージョンを新たにインストール

openssh-server
apache2
postgresql
postfix
をapt install でインストール。

ssh -p 7821 ishimaru@192.168.1.xxx "sudo -S tar cvplf - \
  /home /root \
  /etc/passwd /etc/shadow /etc/group \
 /etc/ssl \
  /etc/ssh/sshd_config \
  /etc/apache2 \
  /etc/letsencrypt \
  /etc/postgresql \
  /var/lib/postgresql \
  /etc/postfix \
  /var/spool/cron/crontabs" \
 | tar xvpl




以下、Geminiに上記がUEFI環境で上手くいかない場合の対応策について確認した時の回答です。私は確認はしていませんが、さらに情報を調べる際には参考になりそうなので掲載します。(2025-12-25)

UEFI環境でのUbuntuシステムバックアップと移行について

提示された本URL(haik.oi21.net)で紹介されている方法は「tarコマンドでファイル単位のバックアップを取り、手動でパーティションを作って戻す」というLinuxの伝統的な手法です。

しかし、UEFI環境ではこの方法は非常に難易度が高く、失敗しやすい傾向にあります。

UEFI環境で従来の方法がうまくいかない理由

以前の方法がUEFIで通用しない主な理由は以下の3点です。

  1. ブートローダーの仕組みの違い
    従来のBIOS(Legacy)はディスクの先頭(MBR)に起動プログラムを書き込んでいましたが、UEFIでは専用の「EFIシステムパーティション(ESP)」という特別な領域に起動ファイルを置き、さらにマザーボード上のメモリ(NVRAM)に起動情報を登録する必要があります。tarでファイルを戻すだけではこれらは復元されません。
  2. パーティション構成の複雑化
    UEFIでは「GPT」という形式が必須ですが、手動作成時のミスが起きやすくなります。
  3. UUID(識別子)の不一致
    別のPC(新しいディスク)に戻すとディスクのID(UUID)が変わります。UEFI環境はこれに厳格で、fstab(設定ファイル)と実際のディスクIDが食い違うと起動しません。

推奨される解決策:イメージバックアップを使う

別のPCに「丸ごと」移設する場合、ファイル単位(tar)ではなく、ディスク全体をそのままコピーする「イメージバックアップ」を使うのが現在の主流であり、最も確実です。

初心者の方にも扱いやすい 「Rescuezilla(レスキュー・ジラ)」 というフリーソフトを使う方法をお勧めします。これは有名な「Clonezilla」の機能を持ちながら、マウス操作で簡単に扱えるようにしたものです。

手順の概要

  1. RescuezillaのUSBを作成
    公式サイトからISOをダウンロードし、USBメモリに書き込みます。
  2. USBから起動してバックアップ
    バックアップ元のPCでUSBから起動し、「Backup」を選んで外付けHDDなどに保存します。
  3. 別のPCで復元
    新しいPCでUSBから起動し、「Restore」を選んで書き戻します。

この方法なら、面倒なUEFIパーティションの作成やブートローダーの配置をソフトが自動で処理してくれます。

別のPCで起動しない場合の対処(Boot-Repair)

Rescuezillaなどで丸ごとコピーしても、PCが変わると「NVRAM(マザーボードの記憶)」にUbuntuの情報がないため、起動しないことがあります。

その場合は、「Boot-Repair」 という修復ツールを使います。

  1. UbuntuのインストールUSB(またはBoot-Repair Disk)で新しいPCを起動する。
  2. 「Boot-Repair」を実行し、「おすすめの修復(Recommended repair)」ボタンを押す。

これにより、新しいPCのUEFI(NVRAM)にUbuntuの起動情報が正しく登録されます。

用語解説

UEFI (Unified Extensible Firmware Interface)
従来のBIOSに代わる、新しいPCの制御プログラムです。マウス操作が可能など高機能ですが、OS起動の仕組みが複雑化しています。
EFIシステムパーティション (ESP)
UEFIがOSを起動するために読みに行く、特別な領域です。ここに起動ファイル(.efi)が格納されます。
NVRAM (Non-Volatile RAM)
PCのマザーボード上にある不揮発性メモリです。UEFIはここに「どのOSを優先して起動するか」という設定を保存しています。
UUID
ハードディスクのパーティション個々に割り振られる「識別子(ID)」です。設定ファイル(/etc/fstab)と実際のディスクUUIDが一致していないとOSは起動しません。




Ubuntu等で使える Boot-Repair の使い方

OSが起動しなくなった(GRUBメニューが出ない、Windowsしか起動しない等)際に役立つBoot-Repairの使い方を解説します。

Boot-Repairとは?

壊れたブートローダーを数クリックで修復できる非常に強力なツールです。

ブートローダー (Bootloader) とは?

コンピュータの電源を入れた直後に動作し、ハードディスクからOSを読み込んで起動させるための専用プログラムのことです。Linuxでは一般的にGRUB (GRand Unified Bootloader)が使われます。

準備するもの

PCが起動しない状態を想定しているため、以下のものを用意してください。

  • Ubuntuのライブメディア(インストール時に使用したUSBメモリやDVD)
  • インターネット接続環境(修復用ファイルをダウンロードするため)

ステップ1:ライブメディアから起動する

  1. 作成したUSBメモリをPCに挿し、電源を入れます。
  2. BIOS/UEFI設定でUSBメモリから起動するように設定し、「Try Ubuntu」(インストールせずに試す)を選択してデスクトップ画面を表示させます。

ステップ2:Boot-Repairのインストール

ライブ環境のUbuntuには標準でBoot-Repairが入っていないため、以下の手順で追加します。

  1. 端末(Terminal)を開きます(Ctrl + Alt + T)。
  2. 以下のコマンドを1行ずつ入力して実行してください。
  1
  2
  3
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair

PPA (Personal Package Archive) とは?

Ubuntu公式のリポジトリ(保管庫)には含まれていない、個人やプロジェクトが公開している最新のソフトウェアを配布するための仕組みです。

ステップ3:修復の実行

  1. 端末で boot-repair と入力するか、アプリケーションメニューから起動します。
  2. 「Recommended repair (推奨される修復)」 をクリックします。
  3. 数分間処理が行われます。途中で「端末にこのコマンドを貼り付けてください」といった指示が出る場合は、画面の指示に従って操作してください。
  4. 完了すると、「Boot successfully repaired(修復に成功しました)」と表示されます。
  5. 表示されたURL(paste.ubuntu.com...)は、万が一直らなかった場合にログを確認するためのものです。

注意点とヒント

  • Secure Bootの確認: UEFI環境の場合、Secure Bootが有効だと修復が制限されることがあります。
  • バックアップ: ブート領域の操作を行う前に、重要なデータはあらかじめバックアップしておくのが理想です。




Boot-Repair搭載済みのレスキュー用ライブメディア

最初からBoot-Repairが入っている起動可能CDがあるのか。以前から時々利用する事がある「SystemRescue」には入っていないのでしょうか。答えはNoです。
「SystemRescue(旧 SystemRescueCd)」自体には Boot-Repair は標準搭載されていません。

しかし、Boot-Repair が最初から入っていて、すぐに使える専用のライブメディアが存在します。

1. Boot-Repair-Disk (おすすめ)

Boot-Repair の開発元が配布している、Boot-Repair を動かすためだけに特化した軽量な Linux ディストリビューションです。

  • 特徴: 起動すると自動的に Boot-Repair が立ち上がります。コマンド操作が不要で、初心者には最も簡単です。
  • 入手先: SourceForge (boot-repair-disk)
  • 使い方: ISOファイルをダウンロードし、USBメモリ等に書き込んで起動するだけです。

2. Rescatux

有名なレスキュー専用ツールで、Boot-Repair と同等の「GRUB修復機能」を標準搭載しています。

  • 特徴: Rescapp というウィザード(対話型ヘルプ)が付属しており、ブート修復だけでなく、パスワードのリセットなどもGUIで行えます。
  • 入手先: Rescatux 公式サイト

3. SystemRescue (旧 SystemRescueCd) について

SystemRescue は非常に強力なツールですが、基本的にはコマンド操作がメインです。

  • Boot-Repair の有無: 入っていません。
  • 修復方法: 手動で grub-install コマンドなどを実行するか、インストール済みのOSに chroot して修復するスキルが必要です。

chroot (Change Root) とは?

現在動作しているシステム(ライブメディアなど)のルートディレクトリ(最上位の階層)を、一時的に別のディレクトリ(HDD内の壊れたOSなど)に変更する操作です。これにより、ライブメディア上で作業しながら、HDD内のOSを直接操作しているかのような状態を作り出せます。

まとめ:どれを使うべき?

ツール名Boot-Repair操作感向いている人
Boot-Repair-DiskありGUIで自動とにかく簡単に直したい方
Rescatux独自ツールありGUIウィザードパスワード修復なども行いたい方
SystemRescueなしコマンドラインLinuxのコマンド操作に慣れている方

まずは、一番手軽な Boot-Repair-Disk を試してみるのが近道です。




Rescuezilla での Boot-Repair 使用について

結論として、Rescuezilla には標準で Boot-Repair はプリインストールされていません。
Rescuezilla は主に「ディスクイメージのバックアップと復元」に特化したツールであるためです。

ディスクイメージ (Disk Image) とは?

ハードディスクやパーティションの中身を丸ごと一つのファイルとして保存したものです。OSの設定やファイルすべてをバックアップし、トラブル時に元の状態へ完全に復元するために使われます。

Rescuezilla で Boot-Repair を使う方法

Rescuezilla は Ubuntu ベースの OS であるため、インターネットに接続されていれば、一時的に Boot-Repair を追加して実行できます。

  1. Rescuezilla を起動し、デスクトップ画面を表示します。
  2. 画面左下のメニューから Terminal(端末)を開きます。
  3. 以下のコマンドを順に入力してインストールします。
      1
      2
      3
    
    sudo add-apt-repository ppa:yannubuntu/boot-repair
    sudo apt update
    sudo apt install -y boot-repair
  4. インストール後、端末で boot-repair と入力して実行します。

注意点

  • 一時的な利用: Rescuezilla はライブメディア(RAM上で動作)であるため、再起動するとインストールした Boot-Repair は消えてしまいます。
  • 主な機能: Rescuezilla 自体にも「GRUBの再インストール」等の機能が含まれる場合がありますが、Boot-Repair ほど多機能・自動化はされていません。

結論

ブート修復が目的であれば、Rescuezilla を経由するよりも、最初から Boot-Repair が入っている Boot-Repair-Disk を使う方が手間が少なく確実です。