Linux磁盘备份拷贝小笔记

Linux磁盘备份拷贝小笔记

Scroll Down

导:

Linux中有一个一切皆文件的说法,当需要拷贝或者备份整个Linux系统时,可以将整个/目录拷贝到另外一块磁盘上

1、空白磁盘创建分区

首先需要准备一块空白磁盘,大小自定,文件系统格式跟要拷贝的系统保持一致。
将该空白磁盘插到某台主机上(根据个人喜好选择任意系统,目的是对空白磁盘进行分区,这里使用Ubuntu图形界面主机说明)

首先查看需要拷贝的linux的文件系统情况

$ sudo df -h
/dev/sda2   50G   21G   30G   41% /
/dev/sda1   599M  6.9M  592M   2% /boot/efi

# 这里主要注意 /boot/efi 目录的大小,这个目录是启动目录,用来替代BIOS中的主引导记录分区表。一般情况下需要单独创建一个分区(EFI格式)挂载给该目录,EFI分区通常大小为 100-550 MB

# fdisk -l

      .......
      .......
设备          起点       末尾       扇区  大小 类型
/dev/sda1     2048    1230847    1228800  600M EFI 系统
# 磁盘没有挂载之前使用 df 命令是无法查看到详细信息的
# 使用 fdisk 命令可以查看所有磁盘信息(包括未加载磁盘)
$ sudo fdisk -l 

# 查看到空白磁盘的对应硬盘名字之后可以继续使用 fdisk 命令对其进行分区
# 如果是IDE接口硬盘: /dev/dh[a-z],硬盘名字应该是dh[a-z]开头
# 如果是SCSI接口硬盘: /dev/sd[a-z],硬盘名字应该是sd[a-z]开头

根据上边显示的原系统的信息,我们至少需要为新的空白磁盘创建两个分区,一个是EFI格式的启动分区用来写入原启动目录 /boot/efi,一个数据分区用来写入原/目录下的所有数据

这里使用了Ubuntu图形界面的磁盘管理工具为空白磁盘创建了两个分区,一个EFI分区,一个数据主分区(当时未进行记录,不再进行展示图片)

2、空白磁盘写入数据

# 首先使用 df -h 查看老数据都在那个分区中,确定数据源和数据输出点

$ sudo df -h
/dev/sda2   50G   21G   30G   41% /
/dev/sda1   599M  6.9M  592M   2% /boot/efi

# 从这里可以看到老数据根目录在/dev/sda2,启动目录/boot/efi在/dev/sda1中

这里使用 dd 命令将老数据写入新的空白磁盘

$ dd if=老磁盘的数据分区名称 of=新空白磁盘的分区名称
例:dd if=/dev/sda2 of=/dev/sdb2

# 可以另外打开一个终端使用 watch 查看dd进度
$ sudo watch -n 5 pkill -USR1 ^dd$

根目录复制完成之后,将老系统的/boot/efi数据写入到新磁盘的EFI分区

$ dd if=老磁盘的启动分区名称 of=新空白磁盘的启动分区名称
例:dd if=/dev/sda1 of=/dev/sdb1

# 同样也可以另外打开一个终端使用 watch 查看dd进度
$ sudo watch -n 5 pkill -USR1 ^dd$

3、完成

写入没有问题之后,新磁盘插入到一个新主机上就可以直接开机使用了

参考:

https://www.linuxprobe.com/xiangjie-linux-ygf.html
https://blog.csdn.net/woailyoo0000/article/details/86485666