如何将整个 ubuntu 16.04 系统备份到外部硬盘

如何将整个 ubuntu 16.04 系统备份到外部硬盘

您能帮我把 ubuntu 16.04 完整备份放到外部硬盘上吗?因为我想在笔记本电脑上安装另一个操作系统,如果不需要其他操作系统,那么我想恢复 ubuntu 16.04。

由于我是 Ubuntu 新手,请提供逐步的程序。

答案1

这是我推荐的解决方案(除非你愿意尝试克隆兹拉):

步骤 1:确保您的外部磁盘至少与内部磁盘一样大。您需要能够将所有内容放入备份磁盘中。

第 2 步:确定要使用哪些磁盘。为此,您应该运行以下命令:

sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL

输出内容如下:

NAME   FSTYPE   SIZE MOUNTPOINT LABEL
sda           111.8G            
├─sda1 swap     121M [SWAP]     
└─sda2 ext4   111.7G /          
sdb             2.7T            
└─sdb1 ext4     2.7T            

您需要的是任何一个分区挂载为 / 的磁盘。同时,使用此输出确定哪一个是您的外部磁盘。一定要非常小心,千万不要弄错。如果您的主磁盘(安装了 Ubuntu 的磁盘)是 /dev/sda,而您的外部磁盘是 /dev/sdb,那么您应该严格执行下一步。

步骤 3:运行 dd 复制所有内容。根据磁盘大小,这可能需要很长时间,因此请耐心等待。这是命令:

sudo dd if=/dev/sda of=/dev/sdb status=progress

如果您的磁盘与示例中的不同,则只需将 /dev/sda 替换为您的主磁盘,将 /dev/sdb 替换为您的外部磁盘。并使用status=progress显示进度。

答案2

这是我用于完整备份的内容:

#!/bin/bash

# NAME: full-backup
# PATH: $HOME/bin
# DESC: Full system backup - must call with SUDO

# DATE: July 16, 2017. Modified July 26, 2017.

apt autoclean   # reduces size of /var/cache/apt/archives

cd /tmp     # tar must be created in directory not backed up.

time tar -cvpzf backup.tar.gz \
--exclude=/backup.tar.gz \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/media \
--exclude=/usr/src/linux-headers* \
--exclude=/home/rick/.cache \
--exclude=/var/log \
--exclude=/var/run/ \
--exclude=/run \
--exclude=/var/cache/apt/archives /

我从来没有使用备份来恢复文件并且希望永远不需要这样做。

将脚本放入/usr/local/bin/full-backup并使用 将其标记为可执行文件chmod a+x /usr/local/bin/full-backup。备份将是一个压缩文件,但在我的系统上仍然需要大约 6 GB

当您调用full-backup脚本时,备份档案将在目录中创建/tmp。然后您需要将其复制到 USB 闪存驱动器。

答案3

// 备份 ubuntu 计算机

我在目录/home/bob>中,

  • --one-file-system:将排除不应恢复的操作系统文件
  • --exclude:将排除当前备份文件
  • -p:将保留权限
  • -z:将会进行更好的压缩
    sudo tar -cvpzf filename.tar.gz --exclude=/home/bob/filename.tar.gz --one-file-system /

// 恢复 ubuntu 计算机

sudo tar -xvpzf filename.tar.gz -C / --numeric-owner

玩得开心

相关内容