使用 tar 命令备份与还原 Linux 系统

您所在的位置:网站首页 linux备份压缩命令tar 使用 tar 命令备份与还原 Linux 系统

使用 tar 命令备份与还原 Linux 系统

2024-07-14 00:34:00| 来源: 网络整理| 查看: 265

下边的教程以 Ubuntu 为例,使用的是 Ubuntu20.04 LiveCD(Desktop or Server版的安装镜像都可以)

准备工作

这里假设可以正常进入要备份的系统,如果无法正常进入,可以通过LiveCD的方式启动系统 假设要备份当前整个系统,备份到我的移动硬盘 下面开始分区挂载,挂载移动硬盘中的某个分区

首先使用命令:lsblk 可以查看当前系统中存在的块设备(SATA硬盘,NVMe固态硬盘,U盘等)

然后需要确认,那个设备是你的硬盘,如果不确定那个设备是移动硬盘 可以在插入硬盘前后分别使用 lsblk,这样通过对比 应该就可以确定 插入之前: 插入之后: 我这里插入之后自动挂载了,如果你们那里没有自动挂载的话需要手动挂载,操作如下:

sudo mkdir -p /media/vzuer/LDP # 挂载前 要确保挂载点所在目录是存在的 sudo mount /dev/sdc4 /media/vzuer/LDP 系统备份 # 最好在 bash 下执行 我当时在 fish 下执行时 echo `date +%Y-%m-%d` 就没有结果 # 先切换成 root su - # 进入根目录 cd / # tar 命令开始备份 tar -czvpf /media/vzuer/LDP/backup-`date +%Y-%m-%d`.tar.gz --one-file-system / # size 39GB # time 13:06-13:24 18mins

–one-file-system 选项的含义: 复制文件或目录存放的文件系统必须和tar命令当前执行的文件系统相同,否则不执行; 也就是讲,不处理其他分区的文件。(可忽略mount挂载分区的问题)

备份完成的部分结果,如下所示: 从上图可知,/boot/efi挂载的ESP分区没有备份,不过没关系,我们等会儿会重建引导

下边是不用 --one-file-system 的备份方式,这样可以手动排除不需要备份的目录

su - cd / # THIS CD IS IMPORTANT THE FOLLOWING LONG COMMAND IS RUN FROM / tar -cvpzf /media/vzuer/LDP/backup-`date +%Y-%m-%d`.tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media --exclude=/tmp --exclude=/lost+found --exclude=/var/log --exclude=/var/cache/apt/archives --exclude=/usr/src/linux-headers* --exclude=/home/*/.gvfs --exclude=/home/*/.cache --exclude=/home/*/.local/share/Trash / # time 13:31-13:49 18mins

https://help.ubuntu.com/community/BackupYourSystem/TAR

系统还原

这里假设要将系统迁移到,一块全新的硬盘,从零开始恢复:

恢复时,最好选择同一硬件平台,要不然由于显卡驱动之类的问题, 会导致无法通过图形界面进入系统,只能通过 tty 的方式进入

分区、格式化、挂载的操作步骤如下:

# 分区前先查看并确定目标磁盘分区的设备名 类似于 /dev/sda 或者 /dev/nvme0n1之类的 fdisk -l lsblk # 以上两个命令都可以 # 选定要分区的块设备 fdisk /dev/sda # 输入 m 可以查看分区工具 fdisk 的使用帮助 : m # help # 新建磁盘分区表 # 我选择的是 GPT + UEFI 因此上边只需要输入 g # 如果是 MBR + Legacy BIOS 的启动方式则只需要键入 o : g # new GPT partition table : o # new MBR/DOS partition table # 建立新分区 : n # new partition # n 之后的分区号和起始扇区号都可以默认,直接回车即可 # 在终止扇区号那里,输入分区大小,如下 : +512M # for ESP partition # 然后,再次输入 n 重复上边的操作,根据需要,新建其他分区 # 最后输入 w 保存操作 : w # save, from RAM write to disk # 格式化 # ESP 分区 需要格式化为 FAT 格式 mkfs.fat -F32 /dev/sda1 # 一般 Linux 系统分区为 ext4 格式 mkfs.ext4 /dev/sda2 # 挂载 mount /dev/sda2 /mnt # /mnt 相当于新系统的根目录 / # 挂载点不存在时,需先创建目录 # mkdir -p /mnt/boot/efi # -p 选项,可以递归地创建层级目录 mount /dev/sda1 /mnt/boot/efi

解压镜像

# 挂载移动硬盘 mkdir -p /media/vzuer/LDP mount /dev/sdb4 /media/vzuer/LDP # 解压镜像 cd /mnt tar -xvzpf /media/vzuer/LDP/backup.tar.gz -C /mnt --numeric-owner

–numeric-owner 的含义: 以UID和GID代替用户名和组名,这样可以避免 tar 命令去匹配 LiveCD 中的用户和组 LiveCD 中实际上也没有备份文件所属的用户和组

重建引导

# 写入新硬盘的 UUID 以实现开机自动挂载此硬盘 # 如果是 Arch 的 LiveCD 可以使用下面的命令 genfstab -U /mnt >> /mnt/etc/fstab # 不是的话比如 Ubuntu 则需要先查看新硬盘的 UUID sudo blkid # 然后 再通过 nano vim gedit 等编辑器 # 手动写入到 /etc/fstab # 查看是否写入成功 cat /mnt/etc/fstab # 新建 目录 比如 dev proc sys 等备份时排除的目录 cd /mnt mkdir dev proc sys run tmp lost+found mnt media # 将Live CD中的 dev proc sys 绑定到新系统 mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys # 切换到新系统 chroot /mnt # 切换为 root # su - sudo -s # 安装grub 重建引导 # MBR Legacy grub-install --target=i386-pc /dev/sdX # GPT UEFI grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck # 更新配置文件 grub.cfg # update-grub grub-mkconfig -o /boot/grub/grub.cfg # 退出新系统 exit # 重启系统 reboot

https://blog.csdn.net/weixin_26913055/article/details/116703291 https://blog.csdn.net/weixin_28909289/article/details/116577564 https://help.ubuntu.com/community/Fstab

最后是我当时在操作过程中遇到的一些问题: 问题 1: EFI variables are not supported on this system 这个问题发生在给新系统安装 grub时,当时我用的是 ArchLinux LiveCD

推测是 Arch LiveCD 的原因 改用 Ubuntu LiveCD 后问题解决

问题 2:

/dev/sda2: clean, 876670 files, 13769241/39193339 blocks Finished Terminate Plymouth Boot Screen Finished Set console scheme

主要是因为驱动的问题,因为我将实体机上的系统迁移到了虚拟机上, 而实体机上当时装的是 Nvidia 的图形驱动,如果迁移的硬件平台一致的话,就不会有这个问题 虽然卡在这个界面不动,但是按 Ctrl+Alt+F2,通过没有图形界面的 tty2 就可以登录

登录后,安装 VM ware 虚拟机的显卡驱动 可以直接, 自动检测安装:sudo ubuntu-drivers autoinstall 也可以先查看,再手动安装:sudo ubuntu-drivers devices

vzuer@hp-288-pro ~> sudo ubuntu-drivers devices (base) == /sys/devices/pci0000:00/0000:00:0f.0 == modalias : pci:v000015ADd00000405sv000015ADsd00000405bc03sc00i00 vendor : VMware model : SVGA II Adapter driver : open-vm-tools-desktop - distro free

安装 VM ware 虚拟机的显卡驱动 sudo apt install open-vm-tools-desktop 也可以安装vm-tools:sudo apt install open-vm-tools

下面是当时参考的链接:

https://blog.csdn.net/weixin_38665509/article/details/106919923https://www.cnblogs.com/a208606/p/11062074.htmlhttps://www.vpsdp.net/dev-sda1-clean-files-blocks/

问题 3: 在 ubuntu 的 tty 模式下 不能正常显示中文 需要修改语言环境

使用 vim编辑器,将所有的 zh_CN替换为 en_US即可 先打开此文件:sudo vim /etc/default/locale 在命令模式下,查找替换::%s/zh_CN/en_US/g 最后,保存退出::wq



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭