将ubuntu系统迁移到ssd固态
朋友送了一个固态硬盘给我,因此将原机械硬盘上的系统迁移到固态硬盘上。
原机械硬盘(dev/sdb)装有win10和ubuntu双系统。分区情况如下:
sda1:ESP分区
sda2:资料
sda3:资料
sda4:swap分区,被我干掉了,内存8g,基本上用不上。也可以使用swap文件代替swap分区。
sda5:ubuntu的/分区
sda6:ubunt的/home分区
【记录下删除swap分区的过程】
.先查看swap分区
swapon -s
.停用swap分区
#确保swap分区没有使用
free -m
#停用swap分区
sudo swapoff /dev/sdb4 (第1步显示的名称)
#检查停用成功
free -m
.删除swap分区文件
sudo rm -rf /dev/sdb4
这样就成功删除了swap分区。
.在/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分区

然后,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 上不再使用的旧内核。删除完后,记得使用sudo update-grub更新一下。
2.插入u盘启动,进入Live USB界面,点击试用ubuntu,进入桌面后,获取root权限
sudo su
备份
3.备份/分区和/home分区
cd /
#挂载/分区
sudo mkdir src-root
sudo mount /dev/sdb5 /src-root #挂载/home分区
sudo mkdir src-home
sudo mount /dev/sdb6 /src-home #挂载放/文件的分区(ssd的/分区)
sudo mkdir des-root
sudo mount dev/sda4 /des-root #挂载放/home文件的分区(ssd的/home分区)
sudo mkdir des-home
sudo mount dev/sda5 /des-home #备份/分区文件。 注意:因为是live USB环境,直接用/表示USB ubuntu的/,所以不能直接用/。由于已经cd到了要备份的ubuntu的/目录下了,所以直接用./
sudo su
cd /src-root
tar cvpzf /des-root/backup.tgz --exclude=./proc --exclude=./lost+found --exclude=./mnt --exclude=./media --exclude=./sys --exclude=./run --exclude=./tmp --exclude=./home ./ #备份/home分区文件
sudo su
cd /src-home
tar 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-root
tar -xvpzf backup.tgz
# 解压/home备份文件
cd /des-home
tar -xvpzf home_backup.tgz # 创建前面备份时忽略的文件夹
cd /src-rootmkdir proc
mkdir media
mkdir mnt
mkdir tmp
mkdir sys
mkdir 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/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t devpts pts /mnt/dev/pts/
chroot /mnt
grub-install /dev/sda1
update-grub2
6.重启,然后修改/etc/fstab文件,主要修改UUID。
7.最后,记得删除备份文件,减少磁盘空间占用。
将ubuntu系统迁移到ssd固态的更多相关文章
- 如何把win10系统迁移到SSD固态硬盘
https://jingyan.baidu.com/article/5d368d1ec59ac43f60c05733.html 我之前将两个盘都已经固定在笔记本内,迁移完之后无论怎么改还是从原来的机械 ...
- 【转】如何使用分区助手完美迁移系统到SSD固态硬盘?
自从SSD固态硬盘出世以来,一直都被持续关注着,SSD的性能优势让无数用户起了将操作系统迁移到SSD的心思,直接后果就是让无数机械硬盘为止黯然退场,很多软件都可以做到系统迁移,然而,被完美迁移的系统却 ...
- 戴尔笔记本Inspiron 7560(灵越) 加装固态硬盘从选购固态硬盘到系统迁移到设置SSD为第一启动(受不了了,网上的教程就没有完整的)
菜鸡我的笔记本为戴尔灵越Inpsiron 7560,其实Inspiron 15 7560 和Inspiron 7560是同一个型号. 电脑拆了安过内存条,换过电池,现在又加了一块固态硬盘. 因为不想安 ...
- 光驱SSD安装Win7+ubuntu系统双系统
准备条件: U盘,32GB,三星品牌 SSD,120GB,三星品牌 win7旗舰版,Ghost系统(安装简单嘛),Ylmf_Ghost_Win7_SP1_x64_2016_1011.iso ubunt ...
- 联想拯救者15-isk安装固态硬盘与系统迁移教程
一.固态选择 首先知道拯救者15-ISK是m.2接口2280尺寸,支持PCIE协议NVMe接口标准.我加装的固态是HP EX900系列250G M.2 NVMe固态硬盘. 二.开盖安装 1.拯救者15 ...
- 基于SSD固态硬盘的数据库性能优化
基于SSD固态硬盘的数据库性能优化 2010-11-08 00:0051cto佚名 关键字:固态硬盘 数据库管理 SSD 企业软件热点文章 Java内存结构与模型结构分析 Oracle触发器的语法 ...
- SSD固态硬盘使用注意事项
SSD固态硬盘的结构和运行方式不同于传统硬盘,在购买以后强烈建议进行一些设置以达到最优的运行效能,延长SSD的使用寿命.以下第一部分是一些可以在网上找到的关于SSD硬盘相关的注意事项,已经介绍很多,这 ...
- 笔记本光驱位置装SSD固态硬盘(亲自试验)
我的笔记本买的早了,2010年的联想Z460,速度有点慢,本来想换台电脑,想想还是算了,没有太大必要.固态硬盘便宜了,于是在原来的光驱位置装了一个256G的SSD固态硬盘,现在的性能能达到刚买来时的1 ...
- SSD 固态硬盘,Trim指令 ,查看状态、开启、关闭
一说到SSD 固态硬盘,经常会看到Trim指令这个名词,那什么是Trim? Trim是什么? 为了解决硬盘降速的问题,微软联合各大SSD厂商开发了一个新技术——Trim.Trim指令也叫disab ...
随机推荐
- fengmiantu---
- Intellij IDEA中使用Debug调试详解
转载:https://www.linuxidc.com/Linux/2017-09/146772.htm Intellij IDEA中使用Debug调试详解 Debug用来追踪代码的运行流程,通常 ...
- PHP版本问题
PHP 5.3以下版本 无法用下标直接取得函数返回的数组 eg: $val_0 = explode(',', $val)[0]//报错 #要改成: $exploded_val = explode(', ...
- Vultr CentOS下后台跑node
在Mac或者Windows下简直易如反掌.几行命令搞定的事情,但因为使用的是远程SSH连接纯命令行处理,所以需要记录下来怎么弄. 比如, 1. 怎么在什么都没有的CentOS里下载Node安装包? 2 ...
- 《图解设计模式》读书笔记9-1 Flyweight模式
目录 模式简介 示例代码 代码功能与实现思路 类图 代码 结果图示分析 模式角色和类图 角色 类图 拓展思路 对多个地方产生影响 什么要共享,什么不要共享 垃圾回收 模式简介 Flyweight是轻量 ...
- c#处理bin文件
1. fs.Position 写入的位置,从哪个位置开始写 fs.Write(byte1,0,byte1.Length); byte1写入的byte[], 写入内容从第几位开始取,length取多长 ...
- 16/7/8_PHP-字符串介绍
不知道为什么慕课网还这个都要介绍.不过还是一个新的知识点. PHP开发中,我们遇到最多的可能就是字符串. 字符串变量用于包含字符串的值. 一个字符串 通过下面的3种方法来定义: 1.单引号2.双引号3 ...
- python实现建立tcp通信
实现代码如下: #tcp协议通信import socketclass TcpConnect: def get_tcp(self,ip,port,message): #实例化一个基于tcp的socket ...
- maximize_window()最大化浏览器和刷新当前页面refresh()
from selenium import webdriverdriver = webdriver.Firefox()driver.get("https://www.baidu.com&quo ...
- C++实现,拓展中国剩余定理——解同余方程组(理论证明和代码实现)
拓展中国剩余定理 前言 记得半年前还写过关于拓展中国剩余定理的博客...不过那时对其理解还不是比较深刻,写的也比较乱. 于是趁学校复习之机,再来重温一下拓展中国剩余定理(以下简称ExCRT) 记得半年 ...