1. 如果系统只存在一个分区上,那么问题可以简化为完全拷贝硬盘
2. 最安全的方法是直接mount -root 。。。。。,但是对于操作系统来说,会更复杂点,很多细节不知道在哪解释的清楚
3. 最暴力的方法是dd,如果目标和源对象大小不同,调整的方法也不难的
问题:
1. 有其他的思路否
2. dd有多少安全隐患,dd在商业应用上有哪些?
用tar+gz 备份/迁移/快速安装 至少上百个 gentoo 的人表示情绪稳定。
mac 下还可以用Carbon Copy Cloner
直接拷过去,然后mount root 装grub 么?
试试 Clonezilla,应该能满足你的需求。
clonezilla很多年了
thx!
打包前,在 /boot 下 ln -s . boot 建立一个 软链接 boot -> . 以方便之后grub的操作。
tar 使用 p参数记录所有文件和目录的权限和属主 --excloud 避开一些特殊的目录,假设生成的压缩包.tgz放在/backup/:
/proc/*
/sys/*
/etc/udev/rules.d/一些特殊对象
/backup/*.tgz livecd 启动(最好相同平台的相同发行版),对硬盘分区,格式化,
live 环境里 将 新硬盘里准备作/ 的分区 mount 到某目录,例如 /o
在/o 里建立 boot home usr var 登目录(假若准备给这些使用独立分区),
将分区都mount到对应位置,
在 /o 下 tar xvf /path/backup.tgz
mount --bind /dev /o/dev && mount --bind /proc /o/proc && mount --bind /sys /o/sys
接着,chroot /o /bin/bash
或许要修改 chroot 环境(新机器未来的新系统)的 /etc/fstab 和 网络设定什么
执行 grub
set root (hd0,0) /> setup (hd0)
exit
重启新机器,完毕。
我自用的 打包脚本,原本是针对 gentoo 的,稍作变动也可用于其它发行版:
https://gist.github.com/likuku/5589316
描述的很棒
其实和fedorahosted里的livecd制作流程基本一样的,只不过没有package的过程了
在犹豫这么做或者直接dd
用 rsync 也行,上次我是把整个系统拷到一个U盘里,新电脑上分区挂载把文件拷回去,改改 /etc/fstab,装好 grub 就行了。
https://wiki.archlinux.org/index.php/Full_System_Backup_with_rsync
V 友, 请问我想直接克隆 VPS A 的系统 到 VPS B 上, 通过 ssh 方式来运行 rsync, 命令行这样写有问题吗? 谢谢指导;
rsync -avz --progress --delete [email&/dev/vda
VPS A 和 B 都是 centos7 x64, 同步完最后 VPS B 需要先执行 grub2-mkconfig -o /boot/grub2/grub.cfg 再执行 grub2-install /dev/vda 吗?