linux迁移至固态硬盘全过程
自从台式机上用上固态硬盘后,就再也受不了笔记本上的5400转的机械硬盘了,所以这次又买了块固态硬盘打算装到笔记本上。
笔记本里装的是Ubuntu 14.04 + Win7双系统,Win7主要偶尔运行一些Windows Only的软件,或者偶尔玩一下游戏,没什么特殊的配置,所以重不重装倒无所谓。Ubuntu就不一样了,我的整个开发环境都在里面,假如重装的话配置起来超级麻烦的,当初给台式机重装系统和各种配置就花了我好几天的时间,所以这次决定要直接把原来的系统迁移过来,由于之前没这么干过,整个过程提心吊胆的,还好一次搞定了。
用到的硬件
- 笔记本Thinkpad T420,内置日立5400转硬盘、可拆卸式光驱
- 浦科特M6S固态硬盘
- 适用于T420的光驱位硬盘托架
- 容量为4GB的U盘
具体步骤
把笔记本自带的机械硬盘拆下来,把固态硬盘换上去;把光驱拆下来,把机械硬盘放到硬盘托里,再把硬盘托放进光驱位。固态硬盘成为主硬盘,机械硬盘成为副硬盘。
将U盘插到电脑上,用Linux自带的dd将ubuntu 14.04的镜像文件写到U盘中:
sudo dd bs=4M if=/home/jiazhoulvke/Downloads/ubuntu-14.04.1-desktop-amd64.iso of=/dev/sdc
用国产良心软件DiskGenius给固态硬盘分好区:
- 100M的Win7的系统保留分区(有点像Linux里的/boot)。
- 50G的Win7系统分区。
- 8G的Linux交换分区。
- 400M给/boot。
- 剩下的空间全部给/。
安装Win7的过程不在本文讨论范围内,就不详述了。
重启电脑,从U盘启动,进入live系统,挂载分区:
#sda6为固态硬盘的boot分区
#sda7为固态硬盘的root分区
#sdb5为原机械硬盘的windows分区
#sdb6为原机械硬盘的boot分区
#sdb7为原机械硬盘的root分区
sudo -s
mkdir /mnt/{data,new,old}
mount /dev/sda7 /mnt/new
mount /dev/sda6 /mnt/new/boot
mount /dev/sdb5 /mnt/data
mount /dev/sdb7 /mnt/old
mount /dev/sdb6 /mnt/old/boot
用tar备份root分区和boot分区(也可以用dd或者cp -a直接复制,我是顺便做个备份,所以用tar):
cd /mnt/old
tar czf /mnt/data/ubuntu14.04.tar.gz ./*
解压文件到固态硬盘:
cd /mnt/new
tar xzf /mnt/data/ubuntu14.04.tar.gz
安装grub到固态硬盘:
grub-install /dev/sda
grub-install --recheck /dev/sda
挂载几个目录:
mount --bind /proc /mnt/new/proc
mount --bind /dev /mnt/new/dev
mount --bind /sys /mnt/new/sys
chroot到固态硬盘的系统中:
chroot /mnt/new
更新grub配置:
update-grub
获取新硬盘的各分区的UUID:
blkid
由于硬盘都已经换了/etc/fstab里的信息肯定也需要更改才行,根据自己的实际情况更改好UUID。
UUID=825537ad-82f0-44cd-9c3c-fd0603f11576 / ext4 discard,noatime,errors=remount-ro 0 1
UUID=df7e9a69-4f55-45b9-98ef-f5dbf55c72d4 /boot ext4 discard,noatime,defaults 0 2
UUID=02259789-2877-4256-b3d1-4c87e4aa6faa none swap sw 0 0
其中的discard参数是用于开启TRIM功能,noatime参数减少无谓的元数据操作,可延长固态硬盘的使用寿命。
由于8G内存完全够用,所以能不用swap分区就尽量不用。在/etc/sysctl.conf中加入下面这行,减少对swap的使用:
vm.swappiness=1
现在可以重启体验新硬盘了。
先在win7下用as ssd benchmark测试一下:
写入稍微有点慢,没有台式机上的三星840EVO快,不过还能接受。
再在ubuntu下用hdparm对比一下固态硬盘和机械硬盘的速度:
~$sudo hdparm -Tt /dev/sda7
/dev/sda7:
Timing cached reads: 13492 MB in 2.00 seconds = 6748.96 MB/sec
Timing buffered disk reads: 1276 MB in 3.00 seconds = 424.90 MB/sec
~$sudo hdparm -Tt /dev/sdb6
/dev/sdb6:
Timing cached reads: 12904 MB in 2.00 seconds = 6454.72 MB/sec
Timing buffered disk reads: 214 MB in 3.02 seconds = 70.76 MB/sec
差距太明显了,原来从开机到进入系统要30秒以上,现在基本上只要10秒左右;原来要好几秒才能启动的程序也基本都是秒开了。如丝般顺滑~~
linux迁移至固态硬盘全过程的更多相关文章
- 笔记本E450机械硬盘数据迁移到固态硬盘
背景: E450机械硬盘使用速度过慢,但E450只有一个SATA位,无法直接使用 “分区助手”迁移. 处理: 1.将固态硬盘通过USB口外接在笔记本上 2.正常打开E450,进入桌面 3.对固态硬盘进 ...
- 联想拯救者15-isk安装固态硬盘与系统迁移教程
一.固态选择 首先知道拯救者15-ISK是m.2接口2280尺寸,支持PCIE协议NVMe接口标准.我加装的固态是HP EX900系列250G M.2 NVMe固态硬盘. 二.开盖安装 1.拯救者15 ...
- 戴尔笔记本Inspiron 7560(灵越) 加装固态硬盘从选购固态硬盘到系统迁移到设置SSD为第一启动(受不了了,网上的教程就没有完整的)
菜鸡我的笔记本为戴尔灵越Inpsiron 7560,其实Inspiron 15 7560 和Inspiron 7560是同一个型号. 电脑拆了安过内存条,换过电池,现在又加了一块固态硬盘. 因为不想安 ...
- 【转】如何使用分区助手完美迁移系统到SSD固态硬盘?
自从SSD固态硬盘出世以来,一直都被持续关注着,SSD的性能优势让无数用户起了将操作系统迁移到SSD的心思,直接后果就是让无数机械硬盘为止黯然退场,很多软件都可以做到系统迁移,然而,被完美迁移的系统却 ...
- 如何把win10系统迁移到SSD固态硬盘
https://jingyan.baidu.com/article/5d368d1ec59ac43f60c05733.html 我之前将两个盘都已经固定在笔记本内,迁移完之后无论怎么改还是从原来的机械 ...
- Linux下测试SSD固态硬盘写入速度
最近买了一个256GB的SSD固态硬盘,想测试一下写入速度,于是如下操作. 部分代码: gettimeofday(&start, NULL); int fd = open("test ...
- Ubuntu 固态硬盘 4K对齐及启用 Trim,及其验证方法
因为之前一个移动硬盘因为坏道蔓延导致没办法继续使用,我略冲动地跑去买了一块 120GB 的三星840 固态硬盘回来.为了使用起来更方便,还去弄了个光驱位硬盘托架,把固态硬盘接在了光驱位与原本的笔记本硬 ...
- kali系统固化到固态硬盘小记(赠送给广大折腾党的笔记)
1.首先你需要一个移动硬盘和一个移动硬盘盒子(一根数据转换线,一般买盒子商家会赠送的) SSD硬盘要事先格式化一下格式,不然识别不出来 2.准备好Kali镜像,传送门在这里https://www.ka ...
- 内存大厂威刚发布速度高达550MB/s的固态硬盘SU750
近日,内存大厂ADATA(威刚)宣布推出两款1款全新的固态硬盘——SU750. SU750是一款传统的2.5英寸SSD,采用了新一代TLC 3D NAND闪存,官方表示借助SLC缓存,其最高存取速度可 ...
随机推荐
- 【转】C#的版本
这年头啥东东都喜欢过段时间整个啥新版本出来.汽车,手机如此,软件就更是如此了啊.比如啥Iphone 4,Iphone 5,Windows 8,Oracle 12C,SQL Server 2010. 版 ...
- CNN完成mnist数据集手写数字识别
# coding: utf-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data d ...
- IntelliJ IDEA集成工具Database连接MySQL8.0报错的解决方法
直接用默认配置连接的话,会报以下错误: Connection to MySQL - @localhost failed. [08001] Could not create connection to ...
- 教你学会Linux/Unix下的vi文本编辑器
vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结. 首先,记住vi编辑器的两个模式:1.命令模式 2.编辑模式. 在一个UNIX/Linux的s ...
- C# string补位
参考:https://www.cnblogs.com/zhangqs008/archive/2012/02/01/2341078.html //1.1.左补位 "; , 'A'); //1. ...
- sublime中项目无法添加文件夹
问题记录 mac中,使用vue init webpack project 后,在sublime中打开,但是添加新文件夹和删除,总提示没有权限, 然后用git提交吧 也不行,每次都要sudo 出现的提示 ...
- 如何使用GoEasy实现PHP与Websocket实时通信
最近搞了搞websocket 做了个简答的聊天demo 1. 从GoEasy获取appkey appkey是验证用户的有效性的唯一标识. Ø 注册账号. GoEasy官网:https:// ...
- redis:安装配置主从
1.安装依赖包 yum install gcc gcc-c++ -y 2.下载安装包,解压 cd /usr/local/src/wget http://download.redis.io/releas ...
- 为公司架构一套高质量的 Vue UI 组件库
有没有曾遇过,产品要我们实现一个功能,但是 iview 或者 elementui 不支持,我们然后义正言辞的说,不好意思,组件库不支持,没法做到. 有没有曾和设计师争论得面红耳赤,其实也是因为组件库暂 ...
- Spring核心技术(九)——Spring管理的组件和Classpath扫描
Spring管理的组件和Classpath的扫描 在前文描述中使用到的Spring中的Bean的定义,都是通过指定的XML来配置的.而前文中描述的注解的解析则是在源代码级别来提供配置元数据的.在那些例 ...