ubuntu系统迁移与备份

Ubuntu系统迁移

环境

Machine OS
Origin Machine1 ubuntu1
Target Machine2 ubuntu2

迁移方向:Origin --> Target

引导方式:UEFI + GPT

前话

  1. 因为ubuntu一切皆文件, 故迁移系统就是将ubuntu2的系统文件(/目录下所有文件)完全替换成ubuntu1。
  2. 系统迁移和备份是同一个原理——都是拷贝复制OS文件, 但两者的环境略有不同。
    • 系统备份:它是在本电脑上恢复OS文件,硬盘分区和引导位置都未改变;
    • 系统迁移:既然是迁移,那么就是不同电脑之间的操作,硬件环境一定发生了变化,只讲OS文件替换进去是不行的,还要配置环境。

UEFI + GPT 系统引导程序那些事儿

  1. ubuntu系统就是/目录下的所有文件,它存放于硬盘GPT分区的某个位置上。电脑开机的时候,不会智能到自动找到该OS文件并执行的地步,需要引导程序告诉计算机在什么位置寻找OS,故引导程序实际就是一道桥梁的作用。

  2. 对于一个在UEFI模式下安装的ubuntu系统,在安装时,某硬盘(本文是sda)一定有如下两个分区:

    • /dev/sda1--->OS System:此分区存放Ubuntu的系统文件,其中包含:

      • /etc/fstab, /etc/fstab.d(可能没有):启动文件
      • /boot/grub/grub.cfg:分区文件

      注:在fstab启动文件中,可以看到里面根据分区的UUID绑定了/dev/sda1给/,将/dev/sda2绑定到/boot/efi中,这里也是启动的关键。如果UUID不正确,就无法找到引导程序和OS文件,系统恢复后无法正常开机。

    • /dev/sda2 ---> EFI System:此分区是在EFI下安装Ubuntu必要的,里面应该存放了引导程序。

  3. 系统备份与迁移

    • 系统备份:因为备份恢复前后,电脑的分区不会改变,而且备份恢复改变的只是OS所在分区,不会影响到/dev/sda2的EFI System。所以就算换了OS文件,系统还是能正常引导修复。因此,系统备份没有系统迁移复杂,只需要复制拷贝OS文件即可。

    • 系统迁移:因为是将系统从一台电脑移动到另外一台电脑,硬盘分区会变,EFI文件也会改变。所以对于系统迁移,建议:

      在machine2上先重装系统,新系统中EFI System、fstab启动文件以及grub.cfg分区文件都是匹配的。即,新系统下一切正常,只需要删除ubuntu2然后移入ubuntu1即可,其他不变。

系统迁移正文

事先准备一个ubuntu启动盘

系统备份In Machine1

  1. Machine1 ---> U盘启动 ---> Try Ubuntu进入livecd模式: 开终端,进入管理员权限。

  2. 挂载ubuntu1所在分区和移动硬盘

    • mkdir data:在/目录下,创建data。
    • mount /dev/sda1 /mnt:假设ubuntu1在Machine1的sda1上,将其挂载到mnt上
    • mount /dev/sdb1 /data:假设移动硬盘在Machine1的sdb1上,将其挂载到data上
  3. 备份ubuntu1至移动硬盘

    • 方法一:tar备份
    tar -cvpzf /data/ubuntu.backup --exclude=/mnt/proc --exclude=/mnt/lost+found --exclude=/mnt/tmp --exclude=/mnt/run --exclude=/mnt/media --exclude=/mnt/mnt
    

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

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

    • 方法二,mksquashfs(如果用tar备份和恢复时出错,就用该方式)

      mksquashfs /mnt/data/ubuntu.sfs:备份系统

      sync:让系统保存下数据

  4. 解除绑定:

    umont /data

    umount /mnt

系统恢复 In Machine2

  1. 使用启动u盘在Machine2上以EFI模式安装ubuntu2系统,本文分区如下:
  • sda1 --> ubuntu
  • sda2 --> EFI System
  1. 安装新系统之后,依然从U盘启动,Try Ubuntu进入livecd模式: 开终端,进入管理员权限。

  2. 挂载:

    • mkdir data:在/目录下,创建data用以挂载移动硬盘
    • mount /dev/sda1 /mnt:将ubuntu2挂载到mnt
    • mount /dev/sdc1 /data:将移动硬盘挂载到/data
  3. 保留原ubuntu2的启动文件和分区文件:(如果是本地系统备份的话,可略此步)

    因为这两个文件记录了machine2上ubuntu2上的启动信息和分区信息,而系统备份中的文件是machine1的,放在新环境下,配置一定出错,所以要用本土的配置文件,只需换个系统文件即可。

    • cp /mnt/etc/fstab(若有fstab.d,就一并复制) /data:保留原启动文件
    • cp /mnt/boot/grub/grub.cfg /data:保留原分区文件
  4. 系统恢复

    • 方法一: tar

      rm -rf /mnt/*:将挂载到/mnt上的原系统彻底删除(可能此命令有误,可用其他命令)

      tar -xvpzf /data/ubuntu.backup /mnt:将备份系统恢复到挂载到/mnt上的ubuntu

      cp /data/fstab(fstab.d) /mnt/etc:恢复启动文件(本地备份恢复不需要此步

      cp /data/grub.cfg /mnt/boot/grub:恢复分区文件(本地备份恢复不需要此步

    • 方法二:mksquashfs

      mkdir /rescovery/mnt

      mount -o loop /data/ubuntu.sfs /rescovery/mnt:将备份文件恢复至/rescovery/mnt中

      cp -a /rescovery/mnt/* /mnt:将备份文件完整地拷贝至ubuntu2挂载的/mnt中

      cp /data/fstab(fstab.d) /mnt/etc:恢复启动文件(本地备份恢复不需要此步

      cp /data/grub.cfg /mnt/boot/grub:恢复分区文件(本地备份恢复不需要此步

    注:如果只是本地备份恢复到此即可结束(仅仅拷贝粘贴系统文件即可),如果是迁移系统,还需要有如下步骤!第6步,在系统迁移时试过了,但在系统启动时还是会出错;第7步,应该可行,但sudo add-apt-repository ppa:yannubuntu/boot-repair添加失败,来者需要特别注意。

  5. 引导修复1

    • 从try ubuntu中为ubuntu2挂载虚拟文件系统,为引导修复做准备:

      mount -o bind /dev /mnt/dev

      mount -o bind /proc /mnt/proc

      mount -o bind /sys /mnt/sys

    • chroot /mnt:进入ubuntu2

    • 对比UUID

      • 在try ubuntu中新建一个终端,输入blkid查看硬盘分区UUID

      • 在上面chroot /mnt过的终端中,使用vim /etc/fstab查看启动文件中的信息。对照/sda1(mount point为/)和/sda2(mount point为/boot/efi)绑定的两个UUID是否和/dev/sda1和/dev/sda2相吻合。(因为是拷贝的原ubuntu2系统中的文件,应该不会有错误,有错误的话,就需要修改。)

      • grub-install /dev/sda
        update-grub
        
      • 退出并卸载挂载

        exit
        umount /mnt/dev
        umount /mnt/sys
        umount /mnt/proc
        umount /data
        umount /mnt
        sync
        
      • 重启

  6. 引导修复2

    • 从u盘启动,进入try ubuntu,安装boot-repair

      sudo add-apt-repository ppa:yannubuntu/boot-repair        添加源
      sudo apt-get update
      sudo apt-get install -y boot-repair  安装boot-repair
      
    • 进入boot-repair使用Recommended repair进行修复。

参考文献

  1. https://blog.csdn.net/sunny0660/article/details/79274642
  2. https://blog.csdn.net/mbytes/article/details/100165856
  3. https://blog.csdn.net/qq_35523593/article/details/78545530
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容