If some motherboards do not automatically turn off the power after shutdown, you need to manually turn off the power, pleasegrubadd:
Quote:
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,7)/boot/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.23.1-42.fc8)
root (hd0,7)
kernel /boot/vmlinuz-2.6.23.1-42.fc8 ro root=LABEL=/1234 rhgb quiet acpi=force
initrd /boot/initrd-2.6.23.1-42.fc8.img
As long as the sentence in red is added, it can be shut down normally. The specific reasons are analyzed as follows:
After the Kernel gets up, it will execute arch/i386/kernel/setup.c
Quote:
void __init setup_arch(char **cmdline_p)
{
unsigned long max_low_pfn;
paravirt_post_allocator_init();
dmi_scan_machine();
}
Dmi_scan_machine() will get information about DMI support from BIOS. ACPI driver will pass
Quote:
static int __init blacklist_by_year(void)
{
int year = dmi_get_year(DMI_BIOS_DATE);
/* Doesn’t exist? Likely an old system */
if (year == -1) {
printk(KERN_ERR PREFIX “no DMI BIOS year, “
“acpi=force is required to enable ACPI\n” );
return 1;
}
/* 0? Likely a buggy new BIOS */
if (year == 0) {
printk(KERN_ERR PREFIX “DMI BIOS year==0, “
“assuming ACPI-capable machine\n” );
return 0;
}
if (year < CONFIG_ACPI_BLACKLIST_YEAR) {
printk(KERN_ERR PREFIX “BIOS age (%d) fails cutoff (%d), “
“acpi=force is required to enable ACPI\n”,
year, CONFIG_ACPI_BLACKLIST_YEAR);
return 1;
}
return 0;
}
To get information, once the DMI information obtained by dmi_get_year does not support ACPI, the red part of the information will be printed.
Then the kernel thinks that ACPI is not supported, and eventually the machine cannot be shut down through ACPI.