Fico feliz em ter ajudado. Marque o tópico como resolvido, isso ajudará outras pessoas com o mesmo problema.
Quanto a explicação, creio que é um tanto técnico... veja isso:
acpi_osi=       [HW,ACPI] Modify list of supported OS interface strings
                        acpi_osi="string1"      # add string1
                        acpi_osi="!string2"     # remove string2
                        acpi_osi=!*             # remove all strings
                        acpi_osi=!              # disable all built-in OS vendor
                                                  strings
                        acpi_osi=               # disable all strings
                        'acpi_osi=!' can be used in combination with single or
                        multiple 'acpi_osi="string1"' to support specific OS
                        vendor string(s).  Note that such command can only
                        affect the default state of the OS vendor strings, thus
                        it cannot affect the default state of the feature group
                        strings and the current state of the OS vendor strings,
                        specifying it multiple times through kernel command line
                        is meaningless.  This command is useful when one do not
                        care about the state of the feature group strings which
                        should be controlled by the OSPM.
                        Examples:
                          1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent
                             to 'acpi_osi="Windows 2000" acpi_osi=!', they all
                             can make '_OSI("Windows 2000")' TRUE.
                        'acpi_osi=' cannot be used in combination with other
                        'acpi_osi=' command lines, the _OSI method will not
                        exist in the ACPI namespace.  NOTE that such command can
                        only affect the OSI support state, thus specifying it
                        multiple times through kernel command line is also
                        meaningless.
                        Examples:
                          1. 'acpiosi=' can make 'CondRefOf(_OSI, Local1)'
                             FALSE.
                        'acpi_osi=!' can be used in combination with single or
                        multiple 'acpi_osi="string1"' to support specific
                        string(s).  Note that such command can affect the
                        current state of both the OS vendor strings and the
                        feature group strings, thus specifying it multiple times
                        through kernel command line is meaningful.  But it may
                        still not able to affect the final state of a string if
                        there are quirks related to this string.  This command
                        is useful when one want to control the state of the
                        feature group strings to debug BIOS issues related to
                        the OSPM features.
                        Examples:
                          1. 'acpi_osi="Module Device" acpi_osi=!' can make
                             'OSI("Module Device")' FALSE.
                          2. 'acpiosi=! acpi_osi="Module Device"' can make
                             'OSI("Module Device")' TRUE.
                          3. 'acpiosi=! acpi_osi=! acpi_osi="Windows 2000"' is
                             equivalent to
                             'acpi_osi=! acpi_osi=! acpi_osi="Windows 2000"'
                             and
                             'acpi_osi=! acpi_osi="Windows 2000" acpi_osi=!',
                             they all will make '_OSI("Windows 2000")' TRUE.
http://redsymbol.net/linux-kernel-boot-parameters/