Memory corruption detected in low memory
recovering journal
/dev/sd5 :clean xxxx
status:{DRDY}
revalidation failed(error=-5)
然后就是不停的刷代码
补充:如果插上安装时用的u盘,就能顺利启动,如果拔掉u盘启动,偶尔能启动,但是大部分情况都是以上情况
Memory corruption detected in low memory
recovering journal
/dev/sd5 :clean xxxx
status:{DRDY}
revalidation failed(error=-5)
然后就是不停的刷代码
补充:如果插上安装时用的u盘,就能顺利启动,如果拔掉u盘启动,偶尔能启动,但是大部分情况都是以上情况
默认情况下,ubuntu内核为BIOS保留最低的64K系统内存,并反复扫描内存该部分以查找错误。如果后台扫描过程发现内存已意外错误(损坏),则会向内核日志发送错误消息
Corrupted low memory at <virtual address> (<address> phys) = <memory contents after corruption>
...
Memory corruption detected in low memory
...
Hardware name: <BIOS info>
virtual address
指向损坏的内存的虚拟地址在哪里。这个内容不是固定的,可以放心地忽略它。只要该地址(以十六进制计算)小于64K(2 ^ 16字节),就没有问题,这个消息表示
主板制造商发布的Bios有Bug,系统BIOS写入低内存区域(0-64K物理内存)的时候,没有使用ACPI内存表保留该区域。
Linux内核已经预料到了该错误,没有动Bios存储的任何重要内容。如果您的BIOS已修复,则可能解决此问题。
但是,您必须有主板制造商重新发布的能解决此问题的Bios。
ubuntu内核尝试收集BIOS的错误,当发现确实是BIOS错误时才禁用低层64K的RAM。实际上,BIOS制造商不够专业,没能做出更好的BIOS版本。
如果您发现BIOS不良(上面的警告会发送到内核日志中),并且只想跳过扫描BIOS保留内存的错误,则可以对该内存区域禁用扫描。只需添加以下内核标志(如果是内存损坏,memmap=1024k$0,预留1M内存):
memmap=64K$0 memory_corruption_check=0