直接复制的方法克隆系统,优点是:不受硬盘大小,系统大小的限制(小盘克隆到大盘,大盘克隆到小盘,或调整系统盘的分区大小)
1.fdisk -l 查看系统下的所有硬盘及分区情况
2.fdisk 或 parted 新盘分区,创建3个分区(2个也可以,boot可以在根目录下)
3.mkfs 格式化分区 系统为ext4,第二个为swap
4.rsync 复制整个系统到新分区(可以排除一些不需要的文件)
5. /mnt/etc/fstab 修改硬盘UUID
6. 修复grub引导
# 1.查看系统下的所有硬盘及分区情况
sudo fdisk -l
# /dev/sdc 是我们的新硬盘,并且没有做分区和格式化
# 2.新盘分区 创建3个分区(2个也可以,boot可以在根目录下)
sudo fdisk /dev/sdc
# 1.n p 1 2048 1026048 设置500M的boot分区
# 2.n p 2 1028096 69158912 设置32G 的swap
# 3.n p 3 剩余的是根目录 /
# 4.w 保存并退出
# 如果磁盘为4T,用fdisk只能分2T的空间,我们需要用
parted /dev/sdb
# 2.1 将磁盘格式变成gpt的格式(因为parted只能针对gpt格式的磁盘进行操作)
转换:(parted) mklabel gpt
分区:(parted) mkpart primary 1 500 (分第一个主分区500MB)
分区:(parted) mkpart primary 501 1000 (分第二个主分区500MB)
分区:(parted) mkpart logical 1001 2000 (分第三个逻辑分区1000MB)
(parted的逻辑分区不用先分扩展分区,直接一步到位)
查看:(parted) p
退出:(parted)quit ( parted分区自动保存,不用手动保存 )
# 3.格式化3个分区 第二个为swap
mkfs -t ext4 /dev/sdc1
sudo mkswap /dev/sdc2
mkfs -t ext4 /dev/sdc3
# /dev/sdc3挂载到 mnt/
sudo mount /dev/sdc3 mnt/
# 4.复制整个系统到新分区(可以排除一些不需要的文件)
# /proc 运行内核和环境的虚拟化视图 kcore很大
# /mnt临时挂载目录 /tmp临时文件
cd /mnt/
sudo rsync -av --exclude='/mnt' --exclude='/tmp' --exclude='/sys' \
--exclude='/lost+found' --exclude='/proc' / /mnt
# 或者用tar 备份系统 -
# https://blog.csdn.net/whatnamecaniuse/article/details/60754546
tar zcvpf /backups/fullbackup.tar.gz / --exclude=proc --exclude=/lost+found \
--exclude=sys --exclude=dev/pts --exclude=tmp --exclude=backups
#tar xvpfz backup.tgz -C /
# 5. /mnt/etc/fstab 修改UUID
sudo gedit /mnt/etc/fstab
sudo gedit /mnt/boot/grub/grub.cfg
# 查看 sdc 的UUID
sudo blkid
/dev/sdc1: UUID="7612775b-4899-470d-a57b-9fb6ce75481f" TYPE="ext4"
/dev/sdc2: UUID="8b3a8fb7-439f-45cf-9bdc-192e45964b8b" TYPE="swap"
/dev/sdc3: UUID="733414aa-4b61-424c-8aa8-850cec0dc0f3" TYPE="ext4"
# 注意 /mnt/etc/fstab中swap 和跟目录的都需要跟换,其它自动挂载的根据情况删除
# 替换grub.cfg中的 UUID为新盘的UUID
# 6.修复引导
sudo grub-install --boot-directory=/mnt/new/boot/ /dev/sdc
sudo grub-install --recheck --root-directory=(新硬盘/分区挂的boot目录,或者直接是boot) /dev/sdx(新硬盘的设备文件名)
--recheck选项是重新检查系统以覆盖新分区/boot/grub下的device.map文件
#卸载新硬盘,用新盘重启
sudo umount /dev/sdc
如果开机出现 grub>,参考修复:https://blog.csdn.net/luo617/article/details/81321721