linux crc(Linux怎么学)
crc错误手机能修复吗
什么是CRC错误?
CRC(CyclicRedundancyCheck)是一种数据校验方法,它通过计算数据的校验和来检测数据传输过程中是否出现了错误。如果数据在传输过程中发生了改变,那么计算出来的校验和就会与接收方计算出来的校验和不一致,这时就会出现CRC错误。
手机出现CRC错误的手机出现CRC错误的原因可能有很多,下面列举几种常见的情况:
文件传输过程中出现了错误,导致文件损坏。
手机存储介质出现了故障,例如闪存出现了坏块。
手机操作系统出现了异常,导致文件读写出现问题。
手机病毒感染,导致文件损坏或读写错误。
能否修复CRC错误?
一般情况下,CRC错误发生后,文件就已经损坏了,无法恢复原状。但是,如果CRC错误是由存储介质故障或操作系统异常等原因引起的,可以通过以下方法修复:
使用数据恢复软件,例如Recuva、EaseUSDataRecovery等,尝试恢复损坏的文件。
使用磁盘工具,例如chkdsk(Windows)或fsck(Linux),对存储介质进行检测和修复。
重装手机操作系统,以解决操作系统异常问题。
使用杀毒软件,清除手机病毒。
需要注意的是,以上方法并不能保证100%修复CRC错误,具体效果还要根据实际情况而定。
linux硬盘检测健康状态
定期检查硬盘的健康状态是每个系统管理员必须要做的事情。说到硬盘的健康状态,这里就得先说一下S.M.A.R.T.了。
SMART是一种磁盘自我分析检测技术,早在90年代末就基本得到了普及
每一块硬盘(包括IDE、SCSI)在运行的时候,都会将自身的若干参数记录下来
这些参数包括型号、容量、温度、密度、扇区、寻道时间、传输、误码率等
硬盘运行了几千小时后,很多内在的物理参数都会发生变化
某一参数超过报警阈值,则说明硬盘接近损坏
此时硬盘依然在工作,如果用户不理睬这个报警继续使用
那么硬盘将变得非常不可靠,随时可能故障
SMART是和主板BIOS上相应功能配合的
要使用SMART,必须先进入到主板BIOS设置里边启动相关设置
一般从Pentium2级别起的主板,都支持SMART
BIOS启动以后,就是操作系统级别的事情了
很遗憾,Windows没有内置SMART相关工具(需要安装第三方工具软件)
好在Linux上很早就有了SMART支持了
如果把Linux装在VMware等虚拟机上,在系统启动时候可以看到有个服务启动报错:smartd
这个服务器就是smart的daemon进程(因为vmware虚拟机的硬盘不支持SMART,所以报错)
可以使用下面的命令来确认硬盘是否打开了SMART支持
复制代码
代码如下:
smartctl-i/dev/sda
正常情况下应该会得到下面这样的信息
复制代码
代码如下:
[root@localhost~]# smartctl-i/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF INFORMATION SECTION===
Model Family: Seagate Barracuda 7200.10 family
Device Model: ST3160815AS
Serial Number: 5RA6A1K9
Firmware Version: 4.AAB
User Capacity: 160,041,885,696 bytes
Device is: In smartctl database [for details use:-P show]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Sat Jul 7 17:18:02 2012 CST
SMART support is: Available– device has SMART capability.
在这里,如果看到SMART support is: Disabled,则表示SMART未启用
如果我们需要执行如下命令,启动SMART:
复制代码
代码如下:
smartctl–smart=on–offlineauto=on–saveauto=on/dev/sda
查看硬盘当前的健康状态使用如下命令
复制代码
代码如下:
[root@localhost~]# smartctl-H/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF READ SMART DATA SECTION===
SMART overall-health self-assessment test result: PASSED
请注意result后边的结果:PASSED,这表示硬盘健康状态良好
如果这里显示Failure,那么最好立刻给服务器更换硬盘。
执行如下命令可以看到详细的参数:
复制代码
代码如下:
[root@localhost~]# smartctl-A/dev/sda
smartctl version 5.38 [i686-redhat-linux-gnu] Copyright(C) 2002-8 Bruce Allen
Home page is a href="
复制代码
代码如下:
=== START OF READ SMART DATA SECTION===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 253 006 Pre-fail Always– 0
3 Spin_Up_Time 0×0003 097 097 000 Pre-fail Always– 0
4 Start_Stop_Count 0×0032 100 100 020 Old_age Always– 818
5 Reallocated_Sector_Ct 0×0033 100 100 036 Pre-fail Always– 0
7 Seek_Error_Rate 0x000f 085 060 030 Pre-fail Always– 369003829
9 Power_On_Hours 0×0032 084 084 000 Old_age Always– 14527
10 Spin_Retry_Count 0×0013 100 100 097 Pre-fail Always– 0
12 Power_Cycle_Count 0×0032 100 100 020 Old_age Always– 817
187 Reported_Uncorrect 0×0032 100 100 000 Old_age Always– 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always– 0
190 Airflow_Temperature_Cel 0×0022 052 046 045 Old_age Always– 48(Lifetime Min/Max 47/52)
194 Temperature_Celsius 0×0022 048 054 000 Old_age Always– 48(0 11 0 0)
195 Hardware_ECC_Recovered 0x001a 074 062 000 Old_age Always– 188295533
197 Current_Pending_Sector 0×0012 100 100 000 Old_age Always– 0
198 Offline_Uncorrectable 0×0010 100 100 000 Old_age Offline– 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always– 0
200 Multi_Zone_Error_Rate 0×0000 100 253 000 Old_age Offline– 0
202 TA_Increase_Count 0×0032 100 253 000 Old_age Always– 0
上边列出的参数表中可供进行技术分析和参考,使用下边的命令可以输出完整结果:
复制代码
代码如下:
smartctl-a/dev/sda
Linux里的cksum是什么意思
CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99.998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。若不指定任何文件名称,则cksum指令会从标准输入设备读取数据。
语法:
cksum [--help] [--version] [file...]选项介绍:
--help:在线帮助;
--version:显示版本信息;
执行范例:
1$ cksum text
2 2828606745 24 text#2828606745为CRC的值,24为text文件的大小(单位:字节)
扩展阅读:
cksum命令是确保文件从一个系统传输到另一个系统地过程中没有被损坏。这个测试要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字比较,如果校验和相等,则该文件被认为是被正确传输了。
当需要检查文件或目录是否被改动过时就要用到cksum命令。通过将一个目录或文件的校验和与它以前的校验和相比较,就能判断该文件是否被改动过。