ubuntu加了张固态_将ubuntu系统迁移到ssd固态

朋友送了一个固态硬盘给我,因此将原机械硬盘上的系统迁移到固态硬盘上。

原机械硬盘(dev/sdb)装有win10和ubuntu双系统。分区情况如下:

sda1:ESP分区

sda2:资料

sda3:资料

sda4:swap分区,被我干掉了,内存8g,基本上用不上。也可以使用swap文件代替swap分区。

sda5:ubuntu的/分区

sda6:ubunt的/home分区

【记录下删除swap分区的过程】1.先查看swap分区

swapon-s2.停用swap分区

#确保swap分区没有使用free -m

#停用swap分区sudo swapoff /dev/sdb4 (第1步显示的名称)

#检查停用成功free -m3.删除swap分区文件sudo rm -rf /dev/sdb4

这样就成功删除了swap分区。4.在/etc/fstab中删除或注释swap行

#我把swap分区删除后,空间合并到了/分区。

因为操作的是/分区,需要在u盘启动盘下执行,使用Gparted工具resize即可。

然后需要对ssd固态硬盘(dev/sda)分区,分区情况如下。记得ssd分区时要4k对齐,选择2048还是4096可以参考这篇文章:固态硬盘分区4k对齐是2048还是4096?该选哪个有区别吗?

sda1:ESP分区

sda2:用于win10系统

sda3:win10自动创建的恢复分区(以前没有的,可能是使用易升升级时自动创建的),无需手动创建。

sda4:用于ubuntu的/分区

sda5:用于ubunt的/home分区

101ad57a69a2d66828a2fd2c18fe54c2.png

然后,win10直接用ghost备份恢复,再进pe修复下引导就搞定了。记录手动恢复引导的命令:

# 用DG等工具先将ESP分区装载为K盘,从系统盘C:\Windows目录中复制UEFI格式的启动文件到ESP分区中,修复系统。

bcdboot c:\windows/s k: /l zh-cn /f uefi

ubuntu的备份恢复花费了大量时间,主要是刷教程做准备工作。网上的方法差不多两种,一种是使用dd命令直接拷贝分区,另一种是使用tar命令压缩备份系统文件。我使用的是后者,需要在live usb环境下进行,也就是使用u盘ubuntu启动盘。主要参考了这篇教程:Ubuntu系统备份

备份前准备

1.备份前先清理系统,减小备份文件的大小(可选)

首先进行系统的清理

# 清理旧版本的软件缓存

sudo apt-get autoclean

# 清理所有软件缓存

sudo apt-get clean

# 删除系统不再使用的孤立软件

sudo apt-get autoremove

删除老旧的系统内核

可以参考这篇文章:如何删除 Ubuntu 上不再使用的旧内核。删除完后,记得使用sudoupdate-grub更新一下。

2.插入u盘启动,进入Live USB界面,点击试用ubuntu,进入桌面后,获取root权限

sudo su

备份

3.备份/分区和/home分区

cd /#挂载/分区sudo mkdirsrc-rootsudo mount /dev/sdb5 /src-root

#挂载/home分区sudo mkdirsrc-homesudo mount /dev/sdb6 /src-home

#挂载放/文件的分区(ssd的/分区)sudo mkdirdes-rootsudo mount dev/sda4 /des-root

#挂载放/home文件的分区(ssd的/home分区)sudo mkdirdes-homesudo mount dev/sda5 /des-home

#备份/分区文件。 注意:因为是live USB环境,直接用/表示USB ubuntu的/,所以不能直接用/。由于已经cd到了要备份的ubuntu的/目录下了,所以直接用./sudo sucd/src-roottar cvpzf /des-root/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./media --exclude=./sys --exclude=./run --exclude=./tmp --exclude=./home ./#备份/home分区文件sudo sucd/src-hometar cvpzf /des-home/home_backup.tgz ./

-c: 新建一个备份文档

-v: 显示详细信息

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

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

-f: 指定压缩包名称(带路径),只能做最后一个参数

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

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

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

--exclude=/mnt

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

--exclude=/sys

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

--exclude=/tmp   临时文件目录

--exclude=/home

另外要注意的是:我是划分了/和/home的,所以备份/时会排除掉/home,之后单独备份/home。如果没有划分单独的/home,则不要排除/home。

还原

4.进行还原操作

# 解压/备份文件

cd/des-roottar -xvpzf backup.tgz

# 解压/home备份文件

cd/des-hometar -xvpzf home_backup.tgz

# 创建前面备份时忽略的文件夹

cd/src-rootmkdirprocmkdirmediamkdirmntmkdirtmpmkdirsysmkdir run

5.修复引导。我是直接重建引导。

参考EFI+GPT模式下修复GRUB2双系统引导-修订版,一种是用efibootmgr,另一种是grub-install,我用的后一种方法。

sudo su

mount /dev/sda4 /mnt (/dev/sda4:为/分区)mount /dev/sda1 /mnt/boot/efi (/dev/sda1:为/efi分区)mount -t proc proc /mnt/procmount -t sysfs sys /mnt/sysmount -o bind /dev /mnt/devmount -t devpts pts /mnt/dev/pts/

chroot /mnt

grub-install /dev/sda1

update-grub2

6.重启,然后修改/etc/fstab文件,主要修改UUID。

7.最后,记得删除备份文件,减少磁盘空间占用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos编译mysql5.6_centos7上编译安装mysql5.6

注意,在做实验室统一关闭防火墙做的,在生产环境需要做防火墙规则的,大家要注意,做的时候尽量都是模仿生产环境的,比如服务一般都在/data/soft下面,尽量避免在/usr/local/下面。安装编译mysql所需要的软件[r…

使用ELK堆栈进行日志聚合

1.简介 随着微服务的使用,创建稳定的分布式应用程序和摆脱许多遗留问题变得很容易。 但是微服务的使用也带来了一些挑战, 分布式日志管理就是其中之一。 由于微服务是隔离的,因此它们不共享数据库和日志文件,因此实时搜索&#xf…

mysql主从延时这么长_MySQL主从延迟问题解决

今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。坐好了,准备发车!主从常见架构随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之…

生成器作为(快速失败)状态机

这个想法是几周前在设计“ Generator”类时想到的,该类必须将输入发送给封装的Writer 。 实际上,它是Builder模式。 但是,规则有些复杂,用户必须以某种方式调用add...()方法,才能正确生成输出。 不用说,我…

源码包编译安装python_Python3.7源码包编译安装-Go语言中文社区

环境:[rootlocalhost python3]# cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)[rootlocalhost python3]#1、下载Python方式一:方式二:进入https://www.python.org/ftp/python/ 这里存放着所有版本的Python源码。往下拉看到最…

java criteria and_criteria用法

Criteria Query通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,Criteria Query可以看作是传统SQL的对象化表示,如:Java代码Criteria criteria session.createCriteria(User.class);criteria.add(Expression.eq(&q…

java jdt_在JDT中使用Java 8 Lambda

java jdt旧 Curmudgeon 认识Smalltalk的Dude 在修改Eclipse Java开发工具 (JDT)项目正在开发的Java 8支持时,我一直在使用这种语言。 我承认我对Java 8中的lambda有点不满意。 当然,这来自于知道Smalltalk (和LISP…

java 1.8签名apk_给Android的APK程序签名和重新签名的方法

签名工具的使用Android源码编译出来的signapk.jar既可给apk签名,也可给rom签名的。使用格式:java –jar signapk.jar [-w] publickey.x509[.pem] privatekey.pk8 input.jar output.jar-w 是指对ROM签名时需使用的参数publickey.x509[.pem] 是公钥文件pri…

使用Oracle验证外部数据

我经常在Corda Slack频道中闲逛,并尽可能回答问题。 我尝试回答的合理数量的问题与Oracle有关。 更具体地说,何时使用一个。 我觉得我可以回答,“当您需要验证可能经常更改的外部数据时使用Oracle”。 我可能在某个时候写了一个类似的答案。 …

java 2d 教程_Java 2D开发技巧之“灯光与阴影”

Java 2D开发技巧之“灯光与阴影”(2016-12-14 02:12:25)标签:杂谈一、 引言在本文中,我们将向你展示如何为扁平形状添加一种灯光效果以实现一种类3D外观。也许你比较满意于自己的文字表达能力,但一幅图片往往能够产生更好的效果。对于图形处理…

java连接到mysql_[操作系统]Java如何连接到MySQL数据库的

[操作系统]Java如何连接到MySQL数据库的0 2016-05-01 15:00:15下载:mysql-connector-java-5.1.38.tar.gzhttp://dev.mysql.com/downloads/connector/j/tar zxvfmysql-connector-java-5.1.38.tar.gz解压后zhouspubuntu:~/Downloads$cd ./mysql-connector-java-5.1.38…

Spark Run本地设计模式

现在,许多Spark应用程序已成为遗留应用程序,很难在本地进行增强,测试和运行。 Spark具有很好的测试支持,但仍有许多Spark应用程序不可测试。 当您尝试运行一些旧的Spark应用程序时,我将分享一个常见错误。 Exceptio…

mysql导入创建表空间_oracle创建表空间 导入数据库

oracle2 然后是创建表空间创建表空间需要创建两个一个临时表空间 一个表空间--创建表空间create tablespace abc datafile ‘D:\tablespce\LANDHIGH_SFTMS.dbf‘ size 500m;--创建用户并指定表空间create user admin identified by admin default tablespace abc quota 500m …

Java线程的不同状态

介绍 在Java中,线程可以具有状态。 Thread.State枚举定义Java线程可以具有的不同状态。 该枚举定义了以下值– 新 可运行 已封锁 等候 TIMED_WAITING 已终止 在接下来的部分中,我将简要概述这些状态以及它们之间的可能过渡。 Java线程的状态 新 …

IDE日志分析方法pt。 2

介绍 在第一部分中,我解释了日志分析的理论方法,我认为这对维持工程师是最合适的。 这位工程师不需要在日志出现时立即对其进行分析,而是专注于对复杂问题的深入分析。 在第二部分中,我将展示一个复杂的模板可以涵盖许多搜索场景&…

java 面试指南_Java面试参考指南–第1部分

java 面试指南JAVA面向对象的概念 Java in基于面向对象的概念,它允许更高级别的抽象以实际方式解决任何问题。 面向对象的方法将实际对象中的问题解决方案概念化,更易于在整个应用程序中重用。 例如椅子,风扇,狗,电脑…

创建一个安全的Spring REST API

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 “如果有用,它将被修改。” 这些智慧之言来自我的QA老师,他们…

java并发编程十 原子累加器和Unsafe

文章目录 原子累加器cas 锁原理之伪共享 UnsafeUnsafe CAS 操作 原子累加器 累加器性能比较 private static <T> void demo(Supplier<T> adderSupplier, Consumer<T> action) {T adder adderSupplier.get();long start System.nanoTime();List<Thread…

具有ELK的APIGEE API网关日志管理(Elastic Search,Logstash和Kibana)

在本文中&#xff0c;我们将看到如何使用 Elastic Search &#xff0c; Logstash 和 Kibana 管理APIGEE API网关生成的日志 。 下图突出显示了日志数据如何流经ELK堆栈以进行数据可视化和监视。 作为API网关的一部分&#xff0c;我们将使用MessageLogging策略在代理流&#xf…

java 80_【JavaWeb】80:js基础详解

今天是刘小爱自学Java的第80天。感谢你的观看&#xff0c;谢谢你。话不多说&#xff0c;开始今天的学习&#xff1a;JavaScript是一门编程语言&#xff0c;但凡是编程语言&#xff0c;其在基本语法上都是大同小异的。我们学了Java&#xff0c;那么再学习其它语言时&#xff0c;…