如果备份系统,转移到另一台机子?

编译打包和其他
回复
langyun
帖子: 12
注册时间: 2023-04-06 9:18
系统: mint

如果备份系统,转移到另一台机子?

#1

帖子 langyun » 2023-04-06 9:36

当前使用的mint-xfce,目前按自己想要的软件删减的差不多了,
想说能不能像win下用dism++备份成一个wim镜像,
在释放到其他机子或者以后系统坏了直接恢复?

请教
有没有类似的备份恢复方法呢?
sxgpic
帖子: 98
注册时间: 2013-12-13 6:57

Re: 如果备份系统,转移到另一台机子?

#2

帖子 sxgpic » 2023-04-09 22:32

live-backup_3.5-1_all.deb
(10.62 KiB) 已下载 70 次
安装上面这个包,它给你一条 backup 命令,让你可以热备份正在运行的 ubuntu 或 debian 系统。
热备份方法:
正在运行的 ubuntu 系统下,打开终端,执行 sudo backup -b /media/用户名/挂载点 即可。
“/media/用户名/挂载点” 是你存放系统备份镜像的位置,替换成你实际的挂载路径(注意不要使用 /mnt 路径)。

热备份出来的镜像名称为 backupxxxxx.squashfs,后面的 xxxxx 是年份日期。

热备份的镜像可以拷贝到其他电脑上,在格式化好的分区里(比如 /dev/sda1,挂载到 /media/用户名/sda1)执行以下命令还原:

代码: 全选

cd /media/用户名/sda1
sudo unsquashfs /xxxx/xxxx/xxxx/backupxxxxx.squashfs (/xxxx/xxxx/xxxx/backupxxxxx.squashfs 替换成你的备份文件的实际路径)
sudo mv squashfs-root/* ./
sudo rm -rf squashfs-root
然后查看 /dev/sda1 的 UUID和文件系统:

代码: 全选

sudo blkid -o list /dev/sda1 | tail -n1 | sed 's/^[^ \t]*[ \t]*//' | awk '{print "UUID="$NF" / "$1" defaults 0 0" }'
将输出内容替换到 /media/用户名/sda1/etc/fstab 中系统 / 挂载的那一行,再手动安装一下grub,编辑一下 grub配置文件即可。

当然,也可以直接用 grub 启动备份出来的 squashfs 文件,grub 菜单这样写:

代码: 全选

 menuentry "GNU/Linux in SQUASHFS IMAGE (Live CD mode, read only)" {
	set gfxpayload=keep
	insmod probe
	insmod squash4
	set file=/backup09.04.2023.squashfs (这里的/backup09.04.2023.squashfs替换成你的实际路径和文件名)
	search --no-floppy -f --set=SFSROOT  $file
	probe -u --set=SFSUUID ${SFSROOT}
	loopback loop (${SFSROOT})/$file
	set root=${SFSROOT}
	linux (loop)/boot/vmlinuz root=UUID=${SFSUUID} squashfs=$file rw apparmor=0 quiet splash locale=zh_CN.UTF-8 initramfs.runsize=50%
	initrd (loop)/boot/initrd.img
 }
你可以在 U 盘里安装一个 grub 引导器,将备份出来的 squashfs 文件拷到 U 盘当随身系统来启动,随便插哪台电脑都能用。
这个热备份出来的 squashfs 也可以用 grub4dos 等其他引导器引导,也可以替换原来安装光盘里的 squashfs 文件让你启动自定义 ISO 安装盘。

squashfs 启动后跟硬盘安装的用起来没什么区别,任何修改重启后复原(与 windows PE 差不多),如果想保存修改,再次热备份一下即可。
上次由 sxgpic 在 2023-05-16 2:06,总共编辑 1 次。
langyun
帖子: 12
注册时间: 2023-04-06 9:18
系统: mint

Re: 如果备份系统,转移到另一台机子?

#3

帖子 langyun » 2023-04-10 10:01

厉害,你的这个方法正式我想要的
特意查看了xfce的安装盘,里面UI大的文件就是filesystem.squashfs,应该就是安装包,
就像你说的我可以包备份好的自己根分区文件直接改名替换ISO里面这个文件
就可以像安装系统那样安装了,谢谢!
比再生龙好多了
回复