linux 卸载多备份,双系统下ubuntu16.04备份和还原、彻底删除和重装(包含迁移) 亲跳多坑!!...

1. 前言:

前几天闲着无事,占着自己有了备份试了一下“rm -rf /*”,还原系统过程很坎坷,作为一名linux小白跳了很多坑,摸爬滚打出来做一份记录。

1.在对系统进行改动之前一定要清楚自己系统的配置,不要随意尝试不懂的指令,不是指“rm -rf”(当然也算),修复过程中可能会引入更多bug。

2.确定使用的引导,参考win10+ubuntu双系统:UEFI+GPT和Legacy+MBR引导模式,这里使用的是UEFI。

2.ubuntu系统备份和还原

参考ubuntu系统迁移

重点:确定自己安装时的分区情况(可以sudo fdisk -l查看,是否有分出来/boot和/home)

备份

首先成为root用户:

sudo su

进入根目录

cd /

使用tar压缩保存到移动硬盘:

参数:

-c: 新建一个备份文档

-v: 显示详细信息

-p: 保存权限,并应用到所有文件

-z: 用gzip压缩备份文档,减小空间

-f: 指定备份文件的路径

–exclude: 排除指定目录,不进行备份

Note: 注意–exclude参数,可以使相应的目录不进行备份

/proc:一个虚拟文件系统,系统运行的每一个进程都会自动在这个目录下面创建一个进程目录。既然是系统自动创建,也就没必要备份的必要了。

/tmp:一个临时文件夹,系统的一些临时文件会放在这里。如果单独分盘可以不备份。

/lost+found:系统发生错误时(比如非法关机),可以在这里找回一些丢失文件。

/media:多媒体挂载点,像u盘、移动硬盘、windons分区等都会自动挂载到这个目录下。

/mnt:临时挂载点,你可以自己挂载一些文件系统到这里。

/run:系统从启动以来产生的一些信息文件。

/home:用户家目录,存放用户个人文件和应用程序。

/boot:和系统启动相关的文件,像grub相关文件都放在这里,这个目录很重要!如果/boot单独分区,可以把这个文件夹exclude,当然也可以单独做备份,系统一般出问题都是根目录(/),所以平时只备份 / 就行。

/dev : 这个目录保存系的各种设备。如果做系统迁移,因为换了设备或者重新分盘后盘符不一样了,原来系统的dev还原覆盖了新系统的就会出现找不到/root,如果备份了也没事,还原前把新系统的dev备份好,还原完再把dev替代回去就可以。

sudo tar -cvpzf /media/user/移动硬盘/ubuntu_back_up@`date +%Y-%m+%d`.tar.gz --exclude=/proc --exclude=/tmp --exclude=/lost+found --exclude=/media --exclude=/mnt --exclude=/run /

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

还原

1.如果没有重装或者迁移系统,直接解压到根目录就可以了

sudo tar -xvpzf /media//user/移动硬盘/ubuntu_back_up@`date +%Y-%m+%d`.tar.gz -C /

也可以使用live cd启动解压,解压前先挂载根目录的盘,不清楚可以sudo fdisk -l 看一下。

mkdir /mnt/sys

mount /dev/sdX* /mnt/sys

sudo tar -xvpzf /media//user/移动硬盘/ubuntu_back_up@`date +%Y-%m+%d`.tar.gz -C /mnt/sys

2.迁移系统(不管物理还是虚拟,亲测都可以)

在live cd下进入root模式

sudo su

还原之前先找到原系统的/etc/fstab和/boot/grub/grub.cfg,复制到移动硬盘中!!!这两个是系统启动文件和启动加载相关的文件,如果备份时没有exclude掉dev,那么dev也要备份!!!

sudo cp /media/系统根目录/etc/fatab /media/移动硬盘

sudo cp /media/系统根目录/boot/grub/grub.cfg /media/移动硬盘

还原步骤一致,最后把fstab和grub.cfg还回去。

sudo cp /media/移动硬盘/fatab /media/系统根目录盘/etc

sudo cp /media/移动硬盘/grub.cfg /media/系统根目录盘/boot/grub

最后

还原exclude的文件夹

mkdir tmp lost+found mnt run media proc

重启就能回到熟悉的系统。

3.ubuntu系统彻底删除

参考:在win10、Ubuntu双系统下,卸载Ubuntu

(1)在win下,“我的电脑”右键->管理->磁盘,右键除分盘。

8fa9118107d3b1dd1c947bf6f6eb9185.png

(2)删除ubuntu启动引导

下载EasyUEFI,官方下载地址

选择管理EFI启动选项【Manage EFI Boot Option】,进入如下界面。依次选择每个ubuntu启动引导项,点击红色方框中的按键删除该ubuntu启动引导项。

0279cbe620298a01e8fe725ac1227cbf.png

到这里启动项已经交给win,当然如果要把ubuntu启动项也从启动栏删除的话,要对win的启动盘进行操作,

af5e047a84b2dd23fa2542e136d76a38.png1. 输入【Win】+【R】,输入【diskpart】打开diskpart;

输入【list disk】,显示磁盘列表

输入【select disk 0】,选择磁盘0,即win10系统所在磁盘;

输入【list partition】,查看磁盘0的分区列表;

输入【select partition 3】,选择wind10启动引导项所在分区(即Type=System,容量一般较小为100M的那一个分区);

为win10的EFI启动引导项所在分区分配盘符,输入【assign letter = p】,这里p为盘符名称,字母A~Z应该都可以,注意不要和已有盘符名重复即可;此时,win10磁盘会发现多出一个P盘(需要管理员权限,方可打开),就是我们刚刚分配的win10启动引导项分区。这里先用管理员权限打开记事本,然后通过记事本菜单栏里的【打开】来访问P盘,会发现P盘里有个EFI文件夹,打开EFI文件夹。这里直接删除ubuntu文件夹就可以了。

此时,再回到diskpart删除刚刚分配的盘符P,输入【remove letter = p】即可。

4.可能出现问题

(1)grub引导出错

网上有各种办法如使用boot-repair修复引导和使用grub急救修复。

但是都不奏效,那么本着哪里出问题往哪里找,既然是引导出错那就是grub.cfg出问题了,可能迁移系统时备份错误,比如使用livecd启动,误备份了u盘中的grub.cfg(此时computer是U盘的系统,系统挂载在meida下)。

(2)错误:file ‘/boot/vmlinuz-4.15.0-45-generic’ not found.alloc magic is broken at 0x5ad6c*******Aborted.

这是开机加载kernel错误,在live cd 下查看自己安装的vmlinuz版本是否对应得上,如果不对,那就修改/media/ubuntu/系统盘/etc/fstab,把其中的“vmlinuz-4.15.0-45”全部替换成已有的版本。

(3)ubuntu安装完发现没有网络,没有无线网卡

查看/lib/firmware 下是否有你的无线网卡文件,查询是否对应上,如果是对的直接

sudo update-grub

重开机就可以。没有的话到官网下载好解压放进去,参考Linux安装Intel无线网卡。

(3)ubuntu无法从U盘启动,Failed to open \EFI\BOOT\mmc64.efi - Not Found Failed to load EFI\BOOT\mmx64.efi: Not Found Failed to start MokManager: Not Found.Something has gone seriously wrong: import_mok_state() failed: Not Found

在装好的镜像文件(先别急着装系统),选择文件夹EFI/BOOT\,将里面的grubx64.efi改为mmx64.efi即可!安装完记得改回去,不然下次启动还会出问题。

(4)系统迁移后开机出现mount: mounting /sys on /root/sys failed:Nosuch file or directory.Failed to mount syss at /sys:No such file or directory.[!!!]Failed to mount early API filesystems,freezing.Freezing execution.

挂载错误,进入live cd启动,查看/etc/fstab和/boot/grub/grub.cfg文件和/etc/fstab文件,其中硬盘UUID是否对应上你的硬盘分区UUID,比如原系统分区是否有/boot和/home,在新系统上能不能对应上。

查看硬盘分区UUID的指令:

sudo blkid

查找每个分盘的uuid是否对应得上,将错误的修改过来在重启。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值