Kernel parameters (日本語) - ArchWiki

# Kernel parameters (日本語)

カーネルの挙動を操作するために、カーネルにオプションを通すタイミングは３回あります:

1. カーネルをビルドするとき。
2. カーネルを起動するとき（普通、ブートローダから読み込まれた時）。
3. 起動中（`/proc` と `/sys` にあるファイルを使う）。

このページでは２番目の場合について詳しく記述し、Arch Linux でよく使われるカーネルパラメータの一覧を示します。

## 設定

Note: `$ cat /proc/cmdline` を実行することで起動時のパラメータとあなたによって変更がされたかを確認できます。

カーネルパラメータを設定するには、ブートメニューが出た時にそのメニューを編集して一時的にセットするのと、ブートローダの設定ファイルを修正する方法があります。

ここでは Syslinux, 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 (日本語) を見て下さい。

#### 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 でカーネルパラメータを設定する方法についての詳しい情報は以下を見て下さい

1. Configuring the rEFInd Bootmanager
2. Methods of Booting Linux

## パラメータ一覧

パラメータは `parameter` か `parameter=value` という形式です。全てのパラメータは大文字・小文字を区別します。

Note: リストの全てのオプションが使えるとは限りません。ほとんどのパラメータはサブシステムと連携していて、カーネルをサブシステムと一緒に動作するよう設定した時にだけ働きます。また、特定のハードウェアに依存しているパラメータもあります。

パラメータ | 説明
--- | ---
`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 を有効化。

1 ブートローダーによって `rw` と `ro` のどちらも設定されていないときは mkinitcpio はデフォルトの値として `ro` を使用します。ブートローダは使用する値を設定することがあります。例えば GRUB はデフォルトで `rw` を使用します (FS#36275 を参照)。

全てのオプションの一覧は、カーネルのドキュメントを見て下さい。

## 関連項目

- sysctl
- 省電力設定#カーネルパラメータ
- List of kernel parameters with further explanation and grouped by similar options

Category:

- Kernel (日本語)