Linux系统迁移(同一台电脑),重建UEFI启动文件 |
您所在的位置:网站首页 › 如何备份引导文件 › Linux系统迁移(同一台电脑),重建UEFI启动文件 |
电脑型号:hp 暗影精灵5 Air显卡:RTX 2060CPU:i7-9750H硬盘:500G固态 + 1T固态启动方式:UEFI操作系统:Ubuntu16.04
之前安装Ubuntu的时候给Ubuntu系统分配的空间太小了,安装新硬盘后给ubuntu分配了更大的分区,需要将原来的系统迁移到新硬盘分区中,下面开始系统迁移。 文章目录 一、系统备份二、系统恢复三、重建UEFI启动文件3.1 简单方法3.2 复杂一点的方法 四、思考 一、系统备份参考自Ubuntu全盘备份与恢复,亲自总结,实测可靠 Linux 中所有内容都是以文件的形式保存和管理的,即一切皆文件,所以备份系统就是将所有文件打包成一个压缩包 1、挂载存放备份文件的分区(使用mount命令或通过鼠标点击资源管理器左侧的磁盘,挂载的磁盘会出现在/media/用户名/目录下),假设要存放备份文件的目录为$back_folder,且该目录在“/media”目录下 2、按住ctrl+Alt+f1进入控制台字符终端,用root用户登录 3、进入存放备份文件的目录cd $back_folder 4、将系统打包压缩,将命令中$back_folder换成自己的目录 tar -cvpzf $back_folder/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media / ‘tar’是用来备份的程序c - 新建备份文档v - 详细模式,tar程序将在屏幕上实时输出所有信息p -保存许可,并应用到所有文件,所有文件的权限信息都会保留z - 采用‘gzip’压缩备份文件,以减小备份文件体积f - 说明备份文件存放的路径,$back_folder/backup.tgz 是本例子中备份文件名“/”是我们要备份的目录,在这里是整个文件系统–exclude表示要删除的目录,“/proc”、“/lost+ found”、“/sys”、“/mnt”、“/media”都要排除在外,如果backup.tgz没有在“/media”目录下,要加上--exclude=$back_folder/backup.tgz以排除backup.tgz文件 5、漫长的等待。。。。。。 在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。 二、系统恢复1、使用原来的Ubuntu系统,打开终端。如果原来的Ubuntu系统已经崩溃,无法进入。则可以使用Ubuntu安装U盘(live USB)进入试用Ubuntu界面。 2、使用gparted将用于恢复系统的磁盘分区格式化EXT4文件系统 3、挂载用于恢复系统的磁盘分区,将backup.tgz拷贝进去 4、cd进入该磁盘分区 5、解压 sudo tar xvpfz backup.tgz x - 表示解压缩 6、重新创建那些在备份时被排除在外的目录 sudo mkdir proc lost+found mnt sys media以上操作只是将所有文件恢复进了新的磁盘,但是没有重建启动引导,因此再次重启时还是会进入原来的系统。下面开始重建UEFI启动文件。 三、重建UEFI启动文件写了两个方法,第一个没试过,第二个试过。 3.1 简单方法写了一半发现个更简单的方法,奈何自己没机会试了,各位看客可以试一下,在原系统中,输入sudo update-grub,再重启,可能会在启动菜单中看到新迁移的操作系统。如果试过这个方法,希望留个评论告诉可不可用,下次遇到同类问题就知道咋办了。 如果不行,就按照下面的流程操作。 3.2 复杂一点的方法当时安装系统时就在UEFI启动文件上费了些功夫,其中ubuntu的启动引导是在windows下用EasyUEFI指定的,其为启动分区(即第一块硬盘的第一个分区,在windows下为隐藏分区)中的文件“EFI/ubuntu/grubx64.efi”,具体可参考暗影精灵5 (i7 9750H + RTX2060) 安装win10+Ubuntu18.04双系统。 以下操作在原来的Ubuntu系统中进行 1、进入新系统所在目录的根目录,注意是新系统!!!!!! 2、切换到root用户 su root 3、删除boot/efi目录,并新建boot/efi目录,该目录本应该为挂载EFI分区的目录,备份时直接将文件复制过来了,后面会将EFI分区重新挂载过来。 rm -r boot/efi mkdir boot/efi4、在原系统中卸载EFI分区,然后将EFI分区挂载到新系统的/boot/efi目录下 umount /boot/efi mount /dev/nvme0n1p1 boot/efi/dev/nvme0n1p1为EFI分区,按照自己的电脑配置进行修改 5、将原系统的“/proc、/sys”等文件夹挂载到新系统的环境中 for i in /dev /dev/pts /proc /sys; do sudo mount -B $i .$i; done注意第二个$i前面有个.,表示当前目录,即新系统的根目录 6、加载efivars模块 modprobe efivars7、配置grub,将root目录更改为新系统的根目录 grub-install --no-nvram --root-directory=.8、将根目录位置切换为新系统的根目录,然后更新grub chroot . update-grub9、查看./boot/efi/ubuntu/grubx64.efi文件是不是刚刚更新的,是的话,就证明更新efi文件成功了。 ll boot/efi/ubuntu/10、打开新的终端,输入sudo reboot重启系统 此时应进入新的系统。 11、重启后,打开终端,更新grub sudo update-grub该命令会将电脑中所有操作系统都加入启动菜单中,再次重启会发现其他操作系统都加入了启动菜单。 四、思考更简单一点的话,是不是两步就完成了,只是思考,没有验证过。 1、用cp命令将所有文件复制到新系统的分区中,同时保留所有权限 2、用update-grub命令更新grub,重启后查看新系统是否在启动列表里。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |