余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

关于固态硬盘重装系统,你该知道的一点知识

xiyangw 2023-10-08 13:44 41 浏览 0 评论

电脑变慢,想换个固态硬盘,重装个系统,那么下面这点知识是需要知道的。

一、固态硬盘接口选择:

目前主流的SSD大致有两种接口,分别是M.2和SATA两种类型。SATA接口的SSD执行的AHCI(串行ATA高级主控接口)协议标准,是目前较为成熟、常见的SSD接口。采用SATA接口的SSD价格相对来说比较低,较为适合入门级以及对SSD性能要求较低的用户群体,传输带宽限制为6Gbps,实际速度最大为560MB/s左右。M.2接口分为NVMe(非易失性内存主机控制器接口)协议以及AHCI协议,根据协议不同M.2接口的SSD在性能上也会有着一些差异,NVMe协议最高理论速度为32Gbps,读取速度可以达到3.5GB/s左右,是平均传统SATA固态硬盘的6倍。对于SSD有高性能需求的消费者可以考虑采用NVMe 协议的M.2 SSD。


二、GPT和MBR分区表

安装系统时一般采用BIOS+MBR或UEFI+GPT。

关于GPT:GUID分区表(简称GPT。使用GUID分区表的磁盘称为GPT磁盘)与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制。

关于MBR:MBR分区表(master bootrecord)的英文缩写,简称主引导记录,还可以叫做主引导扇区。它的运行机制存在于硬件的基础之上,它存储在硬盘的第一个扇区上。当我们在硬盘上安装win10系统时,win10操作系统的分区软件可以将MBR分区信息写入到硬盘中保存起来。优点就是兼容性比较好,缺点就是不支持管理大硬盘结构。

GPT和MBR两者的区别:1、MBR分区表最多只能识别2TB左右的空间,大于2TB的容量将无法识别从而导致硬盘空间浪费;GPT分区表则能够识别2TB以上的硬盘空间。2、MBR分区表最多只能支持4个主分区或三个主分区+1个扩展分区(逻辑分区不限制);GPT分区表在Windows系统下可以支持128个主分区。3、在MBR中,分区表的大小是固定的;在GPT分区表头中可自定义分区数量的最大值,也就是说GPT分区表的大小不是固定的。

如何选择?建议一:电脑是传统的BIOS主板,那建议继续使用MBR硬盘模式;若是UEFI主板的话,则继续使用GPT。建议二:如果需要重装系统,在重装前了解清楚所安装的系统版本是否支持MBR或者UEFI,这就是所谓的“兼容性”。但是,不管是新旧系统版本,或是32/64位系统,它们都能同时兼容MBR。相反,不是所有的windows版本都兼容GPT。一般通过看主板生产日期(2011年以后的大概率支持UEFI)和进BIOS查看判断电脑是否支持UEFI。

三、固态硬盘数据恢复

需要注意的是,固态硬盘速度快了,但是数据丢失的话更难恢复了。固态式硬盘为什么数据没法恢复?这是根据你的固态硬盘丢失情况或者损坏情况来判断的。如果硬盘出现了严重物理损坏,那么数据基本很难找回。如果固态硬盘没有出现物理性损坏,只是写入了新数据导致数据覆盖,或者是因为固态硬盘开启了TRIM功能,被删除的数据也是无法恢复的,不论什么软件都无法帮助恢复!

硬盘上删除文件的原理如下:当我们在操作系统中删除一个文件时,系统并没有真正删掉这个文件的数据,它只是把这些数据占用的地址标记为‘空’,即可以覆盖使用。也就是说系统允许你在这个地方再存储别的文件。但这只是在文件系统层面的操作,硬盘本身并不知道哪些地址的数据已经‘无效’,除非系统通知它可以在这些地址写入新的数据。在HDD(机械硬盘)上无任何问题,因为HDD允许覆盖写入(被覆盖的数据一样不能恢复)。但到SSD(固态硬盘)上问题就来了,因为闪存不允许覆盖,只能先擦除再写入,所以在删除文件后,操作系统会发送给SSD一个TRIM指令(disable delete notify禁用删除通知),开始执行安全擦除操作,得到‘空闲’的闪存空间来等待下一次写入。因为这样在写入操作过程中就不用再花时间去擦除原本的数据了,写入速度要快得多,但也导致数据无法恢复。

Trim的作用可参考下图:

在window系统下查看SSD Trim功能是否开启:

启动CMD命令行窗口,输入fsutil behavior query disabledeletenotify。

显示DisableDeleteNotify = 0 表示已开启。如果没有开启,输入fsutil behavior set disabledeletenotify 0 进行设置。可以手动关闭Trim功能,输入fsutil behavior set disabledeletenotify 1。

  注意:一般是不需要关闭该功能的,因为只有开启了这项功能,我们安装上的固态硬盘才可以享受到更长久的使用寿命。如果你安装的固态硬盘不支持该项功能,那么此功能在开启的时候会失败。TRIM指令不仅可以提高存储数据的效率,也提升了SSD的寿命。除非你是土豪,否则不建议关闭TRIM指令,最好是SSD+HDD一起使用。

相关推荐

排序算法--归并排序_归并排序例题讲解

原理如图所示(先分割再合并):归并排序代码工作原理:1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列2、设定两个指针,最初位置分别为两个已经排序序列的起始位置3、比较两个指针所...

八大排序算法-归并排序_归并排序 算法

算法思想归并排序分为三个步骤:1.分解:将数列分解成n个子数列。(如果是将数列分成2个子数列则为2路归并)2.治理:对每个子数列进行排序操作3.合并:将两个排好序的子数列进行合并生成新的数列算法实现P...

高级排序之归并排序、希尔排序_希尔排序和归并排序区别

前言继上次排序算法简单排序算法之冒泡、插入和选择排序-Java实现版后,本文学习高级排序算法——归并排序、希尔排序,快速排序将在后续更新。本文实现代码调用方法,部分来自前一个文章:简单排序算法之冒泡、...

Excel办公应用:按合并单元格排序的三大方法

1.按姓名对科目排序重点:在"C2"中输入公式=IF(A2<>"",1,C1+1),然后下拉填充。2.按姓名添加连续序号(方法一)重点:选择"A2:A11"单元格区域,在编辑栏中输入公...

快速排序 Vs. 归并排序 Vs. 堆排序——谁才是最强的排序算法

知乎上有一个问题是这样的:堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于堆排序?昨天刚...

归并排序思路图解 #归并排序_归并排序百度百科

排序算法1.图解。OK,让它排一下。看好了,要开始排了。能看出来像递归吗?肯定算法难,但是这个次数非常的多,不用管次数。这个是帝规,就是递归。这是并,这是并,这是两个有序数,组合成一个最后的大的有序数...

排序算法学习——归并排序_归并排序算法稳定吗

我们先看归并排序的定义归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每...

动画|经典的归并排序究竟怎么玩儿?

作者|菠了个菜责编|郭芮由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列——《图解数据结构》,主要使用动画来描述常见的数据...

Excel中,多列数据统一排名,Rank函数直接搞定

Rank实现多列联合排序排序,那太简单啦,Excel中,升序降序,一个按键就可以。但,那是针对单列情况,若需要联合多列数据进行排序呢?如下图所示,需要对1、3、5列进行统一排序,咋弄嘞?联合排序案例先...

【数据结构与算法】归并排序_数据结构中归并排序

归并排序是建立在归并操作的一种高效的排序方法,该方法采用了分治的思想,比较适用于处理较大规模的数据,但比较耗内存,今天我们聊聊归并排序排序思想一天,小一尘和慧能坐在石头上,眺望着远方师傅,我听山下的柳...

C++基础算法:归并排序_经典排序算法-----归并排序(c语言实现)

归并排序(MergeSort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。...

马士兵说之归并排序_马士兵教育的内推是真的

大家对于排序应该是挺熟悉的吧,马士兵老师特意为排序出了一波视频,当然文章是转自博客园的,马士兵老师的视频观看请点击下方的了解更多概要本章介绍排序算法中的归并排序。内容包括:1.归并排序介绍2.归并...

C++快速排序和归并排序_c++快速排序sort

快速排序每一轮挑选一个基准元素(随机选择,编程时一般选取第一个),并让比它大或小的元素移动到基准元素的两边,把数列拆解成了两个部分。而后对这两部分分别进行快速排序。时间复杂度:O(nlogn),辅助空...

经典的排序算法——归并排序_归并排序算法步骤

归并排序(MergeSort)是一种基于分治策略的高效排序算法。它将原始数组不断地分割成两个子数组,直到每个子数组只剩下一个元素为止(即基本有序),然后再通过合并已排序的子数组来最终得到完全有序的大...

归并排序_归并排序c++实现

归并排序概念:归并排序中涉及到一个概念就是分而治之,总序列化成小序列,将小序列排序好,利用排序好的小序列,再归并排序成原来要排序的序列。所以排序前先要分:functiondivide(arr){...

取消回复欢迎 发表评论: