解决一下喽,,Ubuntu正在成为我的笔记本硬盘杀手??[已解决]
发表于 : 2007-11-01 22:56
Ubuntu也许将成为你的笔记本硬盘杀手
Ubuntu系统的ACPI电源管理默认设置存在问题,当用户切换到电池供电模式时,/etc/acpi/power.sh向所有块设备发出一个hdparm -B 1命令,这会导致出现频繁的负荷循环(load cycles)。发现Bug #59695的用户称仅在100小时内就出现了7000次负荷循环。大多数笔记本硬盘只能承受至多60万次此类循环,这意味着它会大幅度减少笔记本硬盘的寿命。SATA硬盘用户可以输入“smartctl -d ata -a /dev/sda”命令来查看负荷循环次数,但需要先安装Smartmontools软件包(apt-get下)。
*********************************
ubuntu在ENABLE_LAPTOP_MODE是true的情况下,当切换至电源时hdparm -B 1才会被执行。而ubuntu默认是将ENABLE_LAPTOP_MODE设置为false的,默认安装完gusty后grep ENABLE_LAPTOP_MODE /etc/default/acpi-support 得到的是false. 在这种情况下就算是切换至电池,hdparm -B 1也不会被执行,因为切换至电池时执行的脚本是/etc/acpi/power.sh, 其中判断执行不执行hdparm -B 1的一段是这样写的:
if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
(sleep 5 && laptop_mode_enable)&
fi
而laptop_mode_enable是执行hdparm -B 1命令的。所以默认情况下(ENABLE_LAPTOP_MODE = false)含有hdparm -B 1的laptop_mode_enable是不被调用的。 我使用的是hp6220 + gusty,默认hdparm -I /dev/sda |grep Advanced 得到的是 Advanced power management level: 128 这个128就是hdparm -B xx来设置的,ubuntu默认是128,在ENABLE_LAPTOP_MODE是false的情况下,切换至电池后,这个值仍然是128而不是1。
但为什么好多人在切换至电池后这个值被设置为1呢,除了不小心将ENABLE_LAPTOP_MODE设置为true外,还有可能是笔记本BIOS默认设置是在切换至电池后就尽可能的让硬盘省电,在这种情况下ubuntu的设置就被BIOS的设置给覆盖了,所以频繁load_cycle。
这里是一名ubuntu的开发者关于此问题的解释http://www.linux-hero.com/rant/ubuntu-hard-drive-explosions/ [linux-hero.com]。
Ubuntu系统的ACPI电源管理默认设置存在问题,当用户切换到电池供电模式时,/etc/acpi/power.sh向所有块设备发出一个hdparm -B 1命令,这会导致出现频繁的负荷循环(load cycles)。发现Bug #59695的用户称仅在100小时内就出现了7000次负荷循环。大多数笔记本硬盘只能承受至多60万次此类循环,这意味着它会大幅度减少笔记本硬盘的寿命。SATA硬盘用户可以输入“smartctl -d ata -a /dev/sda”命令来查看负荷循环次数,但需要先安装Smartmontools软件包(apt-get下)。
*********************************
ubuntu在ENABLE_LAPTOP_MODE是true的情况下,当切换至电源时hdparm -B 1才会被执行。而ubuntu默认是将ENABLE_LAPTOP_MODE设置为false的,默认安装完gusty后grep ENABLE_LAPTOP_MODE /etc/default/acpi-support 得到的是false. 在这种情况下就算是切换至电池,hdparm -B 1也不会被执行,因为切换至电池时执行的脚本是/etc/acpi/power.sh, 其中判断执行不执行hdparm -B 1的一段是这样写的:
if [ x$ENABLE_LAPTOP_MODE = xtrue ]; then
(sleep 5 && laptop_mode_enable)&
fi
而laptop_mode_enable是执行hdparm -B 1命令的。所以默认情况下(ENABLE_LAPTOP_MODE = false)含有hdparm -B 1的laptop_mode_enable是不被调用的。 我使用的是hp6220 + gusty,默认hdparm -I /dev/sda |grep Advanced 得到的是 Advanced power management level: 128 这个128就是hdparm -B xx来设置的,ubuntu默认是128,在ENABLE_LAPTOP_MODE是false的情况下,切换至电池后,这个值仍然是128而不是1。
但为什么好多人在切换至电池后这个值被设置为1呢,除了不小心将ENABLE_LAPTOP_MODE设置为true外,还有可能是笔记本BIOS默认设置是在切换至电池后就尽可能的让硬盘省电,在这种情况下ubuntu的设置就被BIOS的设置给覆盖了,所以频繁load_cycle。
这里是一名ubuntu的开发者关于此问题的解释http://www.linux-hero.com/rant/ubuntu-hard-drive-explosions/ [linux-hero.com]。