スペースを含むカーネルパラメータを追加するにはGRUB_CMDLINE_LINUX_DEFAULT
?たとえば、私がこれを行うとき:
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_os_name=\"Microsoft Windows XP\""
続いて
grub-mkconfig -o /boot/grub/grub.cfg
linux
grub.cfg に次の行が表示されます。
linux /vmlinuz-linux root=UUID=<long id> rw quiet acpi_os_name="Microsoft Windows XP"
この grub.cfg を使用して起動すると、起動中に次の出力が表示されます。
/init: eval: line 1: syntax error: unterminated quoted string
すべて削除すると、acpi_os_name=\"Microsoft Windows XP\"
以前と同じです。ところで、これを行った理由は、ラップトップのACPIファンの問題によるものでした。それで、ファンが正しく機能するようにこの記事に従いました。
https://wiki.archlinux.org/index.php/DSDT
編集0:
出力はuname -s -r -v
次のとおりです
Linux 3.13.8-1-ARCH #1 SMP PREEMPT Tue Apr 1 12:19:51 CEST 2014
答え1
これはGRUB2の文書化されたバグです。次のように報告されました。
- Ubuntu-https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/445952
- Debian --https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=550319
- アップストリーム -http://savannah.gnu.org/bugs/?27641
関連する深刻な問題は、GRUBが主張するカーネルコマンドラインに引用符を表示しても尊重されないことです。ただし、この問題はアップストリームで修正されているように見え、残っているのはファイルがgrub.cfg
ここで文書を削除するようにするシェルコードの参照を過度に使用することだけです。
これはうまくいきます。
GRUB_CMDLINE_LINUX_DEFAULT="quiet acpi_os_name=\\\"Microsoft Windows XP\\\""
または
GRUB_CMDLINE_LINUX_DEFAULT='quiet acpi_os_name=\"Microsoft Windows XP\"'
修正する
少なくともGRUB 2.00以降では、追加の参照は必要なく、上記の問題はGRUBに関連しているようには見えません。