カーネルパラメータ
カーネルの挙動を操作するために、カーネルにオプションを通すタイミングは3回あります:
- カーネルをビルドするとき。
- カーネルを起動するとき(普通、ブートローダから読み込まれた時)。
- 起動中(
/proc
と/sys
にあるファイルを使う)。
このページでは2番目の場合について詳しく記述し、Arch Linux でよく使われるカーネルパラメータの一覧を示します。
目次
設定
カーネルパラメータを設定するには、ブートメニューが出た時にそのメニューを編集して一時的にセットするのと、ブートローダの設定ファイルを修正する方法があります。
ここでは Syslinux, systemd-boot, GRUB, GRUB Legacy, LILO に quiet
と splash
パラメータを加えることにします。
Syslinux
- メニューが表示されたら
Tab
を押してパラメータを文字列の最後に加える:
linux /boot/vmlinuz-linux root=/dev/sda3 initrd=/boot/initramfs-linux.img quiet splash
Enter
を押して加えたパラメータを使って起動します。
- 再起動後も変更を持続させるには、
/boot/syslinux/syslinux.cfg
を開き、パラメータをAPPEND
行に加えます:
APPEND root=/dev/sda3 quiet splash
Syslinux の設定について、詳しくは Syslinux を見て下さい。
systemd-boot
- メニューが表示された
e
を押して一番末尾にパラメータを追加してください:
initrd=\initramfs-linux.img root=/dev/sda2 quiet splash
Enter
を押すと編集したパラメータで起動が開始されます。
- 再起動後も変更を永続的に適用するには、
/boot/loader/entries/arch.conf
(ビギナーズガイドの指示通りに EFI System Partition と設定ファイルを設定した場合) を編集してoptions
行に以下を追加してください:
options root=/dev/sda2 quiet splash
systemd-boot に関する詳細は systemd-boot の記事を見て下さい。
GRUB
- メニューが表示されたら
e
を押しパラメータをlinux
行の後ろに加える:
linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff quiet splash
b
を押して加えたパラメータを使って起動します。
- 再起動後も変更を持続させるには、
/boot/grub/grub.cfg
を開いて上と同じ行を編集することもできますが、初心者におすすめの方法は:
/etc/default/grub
を開きカーネルオプションをGRUB_CMDLINE_LINUX_DEFAULT
行に追加:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
- そして
grub.cfg
ファイルを自動生成します:
# grub-mkconfig -o /boot/grub/grub.cfg
GRUB の設定について、詳しくは GRUB を見て下さい。
GRUB Legacy
- メニューが表示されたら
e
を押しパラメータをlinux
行の後ろに加える:
kernel /boot/vmlinuz-linux root=/dev/sda3 quiet splash
b
を押して加えたパラメータを使って起動します。
- 再起動後も変更を持続させるには、
/boot/grub/menu.lst
を開いて上と同じようにkernel
行にパラメータを追加します。
GRUB Legacy の設定について詳しくは GRUB Legacy を見て下さい。
LILO
- パラメータを
/etc/lilo.conf
に追加します:
image=/boot/vmlinuz-linux ... quiet splash
LILO の設定については LILO により多くの情報があります。
rEFInd
- 再起動後も変更を適用するには、
/boot/EFI/arch/refind_linux.conf
を編集して、パラメータを全ての(もしくは必要な)行に追加してください、例えば:
"Boot to X" "root=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff ro rootfstype=ext4 quiet splash
- rEFInd で OS の自動検知を無効にしていて、代わりに
/boot/EFI/refind/refind.conf
で OS を定義して OS をロードしている場合、以下のように編集することができます:
menuentry "Arch" { loader /EFI/arch/vmlinuz-arch.efi options "quiet splash ro root=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff"
rEFInd でカーネルパラメータを設定する方法についての詳しい情報は以下を見て下さい
EFISTUB/efibootmgr
EFISTUB#ブートマネージャを使わずに直接起動する を見て下さい。
パラメータ一覧
パラメータは parameter
か parameter=value
という形式です。全てのパラメータは大文字・小文字を区別します。
パラメータ | 説明 |
---|---|
root= |
Root ファイルシステム。 |
ro |
起動時に root デバイスを読み込み専用でマウント (デフォルト1)。 |
rw |
起動時に root デバイスを読み書き可能でマウント。 |
initrd= |
initial ramdisk の場所を指定。 |
init= |
init プロセスで /sbin/init (Arch では systemd にリンクされています) の代わりに指定したバイナリを実行する。
|
init=/bin/sh |
シェルで起動。 |
systemd.unit= |
|
systemd.unit=multi-user |
指定したランレベルで起動。 |
systemd.unit=rescue |
シングルユーザーモード (root) で起動 |
nomodeset |
Kernel Mode Setting を無効にする |
zswap.enabled | Zswap を有効化。 |
video=<videosetting> | フレームバッファのデフォルトビデオを上書き。 |
1 ブートローダーによって rw
と ro
のどちらも設定されていないときは mkinitcpio はデフォルトの値として ro
を使用します。ブートローダは使用する値を設定することがあります。例えば GRUB はデフォルトで rw
を使用します (FS#36275 を参照)。
全てのオプションの一覧は、カーネルのドキュメントを見て下さい。