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
修改/boot/grub/menu.lst
# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/42c1d2f5-3e4d-4ed3-ab45-726b3d277ad6 ro agp=off vga=791
initrd /kernel26.img
--------------------------------------------------------------------------------------------------------------
修改/etc/rc.conf
MOD_AUTOLOAD="no"
MODULES=(button processor thermal agpgart !intel-agp intel-rng lp ppdev tpm_bios tpm tpm_tis tpm_tis hid i2c-i801 i2c-core evdev pcspkr serio_raw led-class leds-ss4200 parport parport_pc pci_hotplug shpchp rtc-cmos rtc-core rtc-lib nvidia iTCO_vendor_support iTCO_wdt snd-mixer-oss snd-pcm-oss snd-hwdep snd snd-page-alloc snd-pcm snd-timer snd-hda-codec snd-hda-intel soundcore scsi_mod ata_piix mii ppp_generic r8169 slhc usbhid usbcore ehci-hcd uhci-hcd sd_mod st)
这个选项
memmap=1024K$0 memory_corruption_check=0
或者内存有损坏,用Memtest检测内存。如果有两张显卡,先进Bios关闭集成显卡
插入U盘进行修改