「システムバックアップ」の版間の差分
(→Update the fstab: 翻訳) |
|||
49行目: | 49行目: | ||
適切なデバイス名とファイルシステムタイプを使用することを忘れないでください。 |
適切なデバイス名とファイルシステムタイプを使用することを忘れないでください。 |
||
+ | === ブートローダの設定ファイルを更新する === |
||
− | === Update the bootloader's configuration file === |
||
+ | [[Syslinux]] の場合、別のドライブやパーティションを指定する以外は、現在のエントリを複製するだけです。 |
||
− | For [[Syslinux]], all you need to do is duplicate the current entry, except pointing to a different drive or partition. |
||
+ | {{Tip|{{ic|syslinux.cfg}} を編集する代わりに、起動中に一時的にメニューを編集することもできます。メニューが表示されたら {{ic|Tab}} キーを押して、関連するエントリを変更します。パーティションは 1 から、ドライブは 0 から数えます}} |
||
− | {{Tip|Instead of editing {{ic|syslinux.cfg}}, you can also temporarily edit the menu during boot. When the menu shows up, press the {{ic|Tab}} key and change the relevant entries. Partitions are counted from one, drives are counted from zero.}} |
||
− | + | [[GRUB]] では、[[GRUB#メイン設定ファイルの生成|メイン設定ファイルの再生成]] を行うことが推奨されます。 全ての GRUB ファイルを {{ic|/boot}} 以外の場所、例えば {{ic|/mnt/newroot/boot}} に新たにインストールしたい場合は、{{ic|--boot-directory}} フラグを使ってください。 |
|
+ | また、{{ic|/boot/grub/grub.cfg}}に新しいメニューエントリがあることを確認します。UUID が新しいパーティションと一致していることを確認してください。そうしないと、古いシステムがまだ起動する可能性があります。パーティションの UUID を [[lsblk]] で見つけてください。 |
||
− | Also verify the new menu entry in {{ic|/boot/grub/grub.cfg}}. Make sure the UUID is matching the new partition, otherwise it could still boot the old system. Find the UUID of a partition with [[lsblk]]: |
||
$ lsblk -no NAME,UUID /dev/sd''XY'' |
$ lsblk -no NAME,UUID /dev/sd''XY'' |
||
+ | ここで {{ic|/dev/sd''XY''}} は目的のパーティションです (例:{{ic|/dev/sdb3}}) GRUB がブートできると考えているパーティションの UUID をリストアップするには、''grep'' を使ってください。 |
||
− | where {{ic|/dev/sd''XY''}} is the desired partition (e.g. {{ic|/dev/sdb3}}). To list the UUIDs of partitions GRUB thinks it can boot, use ''grep'': |
||
# grep UUID= /boot/grub/grub.cfg |
# grep UUID= /boot/grub/grub.cfg |
2022年2月14日 (月) 18:36時点における版
関連記事
例えば /etc
, /home
, /root
, /var
, サーバーの場合は /srv
に保存されているシステムとユーザーのデータを定期的にバックアップすることが重要です。
目次
Btrfs のスナップショットを利用する
こちらを参照 Btrfs#スナップショット, システムバックアップ#スナップショットと/bootパーティション, それと Snapper
LVM のスナップショットを利用する
こちらを参照 LVM#スナップショット, LVM によるルートファイルシステムのスナップショット作成, それと システムバックアップ#スナップショットと/bootパーティション
rsync を利用する
こちらを参照 rsync によるフルシステムバックアップ
tar を利用する
こちらを参照 Tar によるフルシステムバックアップ
SquashFS を利用する
起動可能なバックアップ
起動可能なバックアップをとっておくと、ファイルシステムが壊れたり、アップデートでシステムが壊れたりしたときに便利です。バックアップは、testing レポを有効にして、アップデートのテストベッドとして使うこともできます。システムを別のパーティションやドライブに移して起動したい場合、バックアップの /etc/fstab
とブートローダの設定ファイルを更新するのと同じくらい簡単な手順で行えます。
このセクションでは、システムを別のドライブやパーティションにバックアップしたこと、現在のブートローダが問題なく動作していること、そしてバックアップからも起動したいことを前提に説明します。
fstab の更新
再起動せずに、バックアップの fstab を編集し、既存のエントリをコメントアウトまたは削除します。この例のように、バックアップを含むパーティションに1つのエントリを追加します。
/dev/sdaX / ext4 defaults 0 1
適切なデバイス名とファイルシステムタイプを使用することを忘れないでください。
ブートローダの設定ファイルを更新する
Syslinux の場合、別のドライブやパーティションを指定する以外は、現在のエントリを複製するだけです。
GRUB では、メイン設定ファイルの再生成 を行うことが推奨されます。 全ての GRUB ファイルを /boot
以外の場所、例えば /mnt/newroot/boot
に新たにインストールしたい場合は、--boot-directory
フラグを使ってください。
また、/boot/grub/grub.cfg
に新しいメニューエントリがあることを確認します。UUID が新しいパーティションと一致していることを確認してください。そうしないと、古いシステムがまだ起動する可能性があります。パーティションの UUID を lsblk で見つけてください。
$ lsblk -no NAME,UUID /dev/sdXY
ここで /dev/sdXY
は目的のパーティションです (例:/dev/sdb3
) GRUB がブートできると考えているパーティションの UUID をリストアップするには、grep を使ってください。
# grep UUID= /boot/grub/grub.cfg
First boot
Reboot the computer and select the right entry in the bootloader. This will load the system for the first time. All peripherals should be detected and the empty folders in /
will be populated.
Now you can re-edit /etc/fstab
to add the previously removed partitions and mount points.
Snapshots and /boot partition
If your file system supports snapshots (e.g., LVM or Btrfs), these will most likely exclude the /boot
partition or ESP.
You can copy the boot partition automatically on a kernel update to your root
partition with a pacman hook (make sure the hook file is owned by root):
/etc/pacman.d/hooks/50-bootbackup.hook
[Trigger] Operation = Upgrade Operation = Install Operation = Remove Type = Path Target = usr/lib/modules/*/vmlinuz [Action] Depends = rsync Description = Backing up /boot... When = PostTransaction Exec = /usr/bin/rsync -a --delete /boot /.bootbackup