备份和还原ubuntu开发环境【方法一:直接复制整个系统文件】

问题描述:

在开发和运维中,每次去装系统、装开发环境都是一系列比较麻烦的事情。
这里采用一种比较原始粗暴的方法:直接去复制系统的整个环境目录,然后拷贝到新机器上。

参考链接:Ubuntu备份系统并重装到新的机器上

上面文章我试了一下,很难进入,这里对之前的文章做个补充

默认新机器上已经安装了原版的ubuntu操作系统,只是没有环境而已

解决步骤:

1、打包原来系统相关文件

linux秉承一切皆文件的思想,系统备份就相当于把整个/(根目录)所有文件打包压缩保存。

备份前先切换到root用户,避免权限问题,然后切换到/(根目录)。

tar -cvpzf /media/zx/KINGSTON/ubuntu_backup@`date+%Y-%m+%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/boot--exclude=/home --exclude=/lost+found --exclude=/media --exclude=/mnt--exclude=/run /

下面解释一下上面这条命令。tar就是一个打包命令。

打包文件放在的目录及打包文件名字。
*

 /media/lx/KINGSTON/ubuntu_backup@date+%Y-%m+%d.tar.gz

这里用了一个shell命令date+%Y-%m+%d用于获取当前时间,因为备份嘛,注明时间戳还是有必要的,然后.tar.gz是说明这个文件是用tar进行打包,gzip进行压缩的。所以要根据你自己情况换为你自己的备份文件目录和文件名。

参数:
-c: 新建一个备份文档
-v: 显示详细信息
-p: 保存权限,并应用到所有文件
-z: 用gzip压缩备份文档,减小空间
-f: 指定备份文件的路径
–exclude: 排除指定目录,不进行备份

Note: 注意–exclude参数,接下来谈谈那些目录没有备份,以及为什么不备份。

我的ubuntu系统,共有四个分区,分别是:/、/home、/boot、swap。

非常建议系统备份的时候按照分区进行分别备份,并且也不建议安装系统的时候只给系统分一个分区。有四个分区的好处是,一般系统坏了都是/分区的问题,/home没什么关系,所以这种情况,我可以只还原/分区,其他分区完全可以不用动,系统就可以恢复,会节省很多时间。
另外,为了保险起见,也可以对/home和/boot备份,但是备份频率完全没必要和/分区一样高。比如/分区每周备份一次,那/home和/boot完全可以一个月备份一次,因为这两个分区出问题的概率真的很小,而且变动也不会太频繁。
请注意,如果没有把/home或者/boot目录单独分一个区,一定不要加–exclude=/home或–exclude=/boot参数!!!

/proc:一个虚拟文件系统,系统运行的每一个进程都会自动在这个目录下面创建一个进程目录。既然是系统自动创建,也就没必要备份的必要了。
/tmp:一个临时文件夹,系统的一些临时文件会放在这里。
/lost+found:系统发生错误时(比如非法关机),可以在这里找回一些丢失文件。
/media:多媒体挂载点,像u盘、移动硬盘、windons分区等都会自动挂载到这个目录下。
/mnt:临时挂载点,你可以自己挂载一些文件系统到这里。
/run:系统从启动以来产生的一些信息文件。
/home:用户家目录,存放用户个人文件和应用程序。
/boot:和系统启动相关的文件,像grub相关文件都放在这里,这个目录很重要!

2、UUID相关设置

先查看下源电脑的fstab文件(sudo gedit /etc/fstab),查看根目录挂载分区的uuid和swap挂载分区的uuid。
在这里插入图片描述
建议把它复制一下保存为某个TXT文件放到U盘里,因为还原ubuntu时一些文件会丢失,这里是要备份系统电脑的

同上,查看一下要部署的电脑的UUID,方法如上;
请注意:建议把它复制一下保存为某个TXT文件放到U盘里,因为还原ubuntu时一些文件会丢失,这里是要备份系统电脑的

3、解压还原

sudo tar -xvpzf /media/lx/KINGSTON/ubuntu_boot_backup@2021-5-11.tar.gz-C /

解压后

打开一个终端输入sudo blkid查看当前电脑(要部署的电脑)/etc/fstab和/boot/grub/grub.cfg文件里相关的UUID值是否一样的(这里因为文件替换过的,UUID值可能是旧电脑的,这里需要做一个替换操作

4、重启修改引导

重启后进入的grub界面,没有进入到系统
出现这个问题并不是引导丢失,只是出现了错误

先使用ls命令,找到Ubuntu的安装在哪个分区:

grub>ls

会罗列所有的磁盘分区信息,比方说:(hd0,gpt1),(hd0,gpt5),(hd1,gpt3),(hd1,gpt2)

然后依次调用如下命令: X表示各个分区号码
如果/boot没有单独分区,用以下命令:

ls    (hd0,gptX)/boot/grub

这里需要一个一个分区的测试,如果出现unknow file 表示这个不是,换下一个,直到出现列出来几百个文件,很多文件的扩展名是.mod和.lst和.img,还有一个文件是grub.cfg。假设找到(hd0,gpt5)时,显示了文件夹中的文件,则表示Linux安装在这个分区.

如果找到了正确的grub目录,则设法临时性将grub的两部分关联起来,方法如下:

注意第一个是set boot,而不是root,设置不对,会导致图形化界面加载不出来

grub>set boot=(hd0,gpt2) 
grub>set prefix=(hd0,gpt2)/boot/grub

然后调用如下命令,就可以显示出丢失的grub菜单了。

grub>normal

然后会出来启动的图形界面,点击进入Linux中,对grub进行修复。
此时建议ubuntu联网

进入ubuntu之后,在终端执行:

sudo grub-install
sudo update-grub

之后就可以了

总结

结合步骤查看,此种方法还是比较麻烦的,最重要的要重新设置引导,这部分还是相对比较复杂的,引导文件不对,很难进入系统,还有vi编辑器不太好用,搞不好还得重新来安装,比较费时间这种方法,这里只是记录一下。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值