「カーネルパラメータ」の版間の差分
Kokkiemouse (トーク | 投稿記録) (バックスラッシュの誤表記を修正) |
(他言語へのリンクを追加) |
||
(4人の利用者による、間の16版が非表示) | |||
2行目: | 2行目: | ||
[[en:Kernel parameters]] |
[[en:Kernel parameters]] |
||
[[es:Kernel parameters]] |
[[es:Kernel parameters]] |
||
+ | [[pt:Kernel parameters]] |
||
+ | [[ru:Kernel parameters]] |
||
[[zh-hans:Kernel parameters]] |
[[zh-hans:Kernel parameters]] |
||
− | + | カーネルにオプションを渡してその動作を制御するには、3つの方法があります。 |
|
+ | # カーネルを構築するとき、カーネルの {{ic|config}} ファイルで。詳しくは [[カーネル#コンパイル]]を見てください。 |
||
− | #カーネルをビルドするとき。 |
||
− | #カーネルを起動するとき |
+ | # カーネルを起動するとき-コマンドラインパラメータを使う (通常はブートローダを使う)。 |
− | # |
+ | # 実行時に {{ic|/proc/sys/}} にあるファイルを通して実行する。(参照 [[sysctl]]) と {{ic|/sys/}} があります。 |
+ | {{Note|ロード可能なモジュールのオプションは {{ic|/etc/modprobe.d/}} にある ''.conf'' ファイルで設定することができます。[[カーネルモジュール#/etc/modprobe.d/ 内のファイルを使う]] を見て下さい。}} |
||
− | このページでは2番目の場合について詳しく記述し、Arch Linux でよく使われるカーネルパラメータの一覧を示します。 |
||
+ | |||
+ | この3つの方式では、設定可能なオプションの有無、名称、指定方法が異なります。このページでは 2 番目の方法 (カーネルコマンドラインパラメータ) についてのみ説明し、Arch Linux で最もよく使われるカーネルパラメータの一覧を示します。 |
||
+ | |||
+ | ほとんどのパラメータはサブシステムに関連しており、カーネルがそれらのサブシステムを組み込んで設定されている場合にのみ機能します。また、それらが関連するハードウェアの存在にも依存します。 |
||
+ | |||
+ | カーネルコマンドラインパラメータは {{ic|parameter}} または {{ic|1=parameter=value}} というフォーマットで表されます。 |
||
+ | |||
+ | {{Note|すべてのカーネルパラメータは大文字と小文字を区別します}} |
||
==設定== |
==設定== |
||
26行目: | 36行目: | ||
*メニューが表示されたら {{ic|Tab}} を押してパラメータを文字列の最後に加える: |
*メニューが表示されたら {{ic|Tab}} を押してパラメータを文字列の最後に加える: |
||
− | :{{bc|1=linux /boot/vmlinuz-linux root= |
+ | : {{bc|1=linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=/boot/initramfs-linux.img '''quiet splash'''}} |
:{{ic|Enter}} を押して加えたパラメータを使って起動します。 |
:{{ic|Enter}} を押して加えたパラメータを使って起動します。 |
||
32行目: | 42行目: | ||
*再起動後も変更を持続させるには、{{ic|/boot/syslinux/syslinux.cfg}} を開き、パラメータを {{ic|APPEND}} 行に加えます: |
*再起動後も変更を持続させるには、{{ic|/boot/syslinux/syslinux.cfg}} を開き、パラメータを {{ic|APPEND}} 行に加えます: |
||
− | :{{bc|1=APPEND root= |
+ | : {{bc|1=APPEND root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw '''quiet splash'''}} |
Syslinux の設定について、詳しくは [[Syslinux]] を見て下さい。 |
Syslinux の設定について、詳しくは [[Syslinux]] を見て下さい。 |
||
40行目: | 50行目: | ||
*メニューが表示されたら {{ic|e}} を押して一番末尾にパラメータを追加してください: |
*メニューが表示されたら {{ic|e}} を押して一番末尾にパラメータを追加してください: |
||
− | :{{bc|1=initrd=\initramfs-linux.img root= |
+ | : {{bc|1=initrd=\initramfs-linux.img root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw '''quiet splash'''}} |
:{{ic|Enter}} を押すと編集したパラメータで起動が開始されます。 |
:{{ic|Enter}} を押すと編集したパラメータで起動が開始されます。 |
||
+ | {{Note| |
||
− | {{Note|メニューのタイムアウト値を設定していない場合、起動時 systemd-boot のメニューが表示されるまで {{ic|Space}} を押し続ける必要があります。}} |
||
+ | * メニュータイムアウトの値を設定していない場合、systemd-boot メニューを表示させるために、起動中に {{ic|Space}} を押し続ける必要があります。 |
||
+ | * ブートメニューからパラメータを編集できない場合は、{{ic|/boot/loader/loader.conf}} を編集して {{ic|editor 1}} を追加して編集可能にする必要があるかもしれません。 |
||
+ | }} |
||
*再起動後も変更を永続的に適用するには、{{ic|/boot/loader/entries/arch.conf}} ([[ビギナーズガイド#UEFI マザーボードの場合|ビギナーズガイド]]の指示通りに [[Unified Extensible Firmware Interface#EFI System Partition|EFI System Partition]] と設定ファイルを設定した場合) を編集して {{ic|options}} 行に以下を追加してください: |
*再起動後も変更を永続的に適用するには、{{ic|/boot/loader/entries/arch.conf}} ([[ビギナーズガイド#UEFI マザーボードの場合|ビギナーズガイド]]の指示通りに [[Unified Extensible Firmware Interface#EFI System Partition|EFI System Partition]] と設定ファイルを設定した場合) を編集して {{ic|options}} 行に以下を追加してください: |
||
− | :{{bc|1=options root= |
+ | : {{bc|1=options root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw '''quiet splash'''}} |
systemd-boot に関する詳細は [[systemd-boot]] の記事を見て下さい。 |
systemd-boot に関する詳細は [[systemd-boot]] の記事を見て下さい。 |
||
60行目: | 73行目: | ||
:{{ic|b}} を押して加えたパラメータを使って起動します。 |
:{{ic|b}} を押して加えたパラメータを使って起動します。 |
||
− | *再起動後も変更を持続させるには、{{ic|/boot/grub/grub.cfg}} |
+ | *再起動後も変更を持続させるには、{{ic|/boot/grub/grub.cfg}} を開いて上と同じ行を編集することも''できますが''、初心者におすすめの方法は: |
:{{ic|/etc/default/grub}} を開きカーネルオプションを {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} 行に追加: |
:{{ic|/etc/default/grub}} を開きカーネルオプションを {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} 行に追加: |
||
76行目: | 89行目: | ||
*メニューが表示されたら {{ic|e}} を押しパラメータを {{ic|kernel}} 行の後ろに加えます: |
*メニューが表示されたら {{ic|e}} を押しパラメータを {{ic|kernel}} 行の後ろに加えます: |
||
− | :{{bc|1=kernel /boot/vmlinuz-linux root= |
+ | : {{bc|1=kernel /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw '''quiet splash'''}} |
:{{ic|b}} を押して加えたパラメータを使って起動します。 |
:{{ic|b}} を押して加えたパラメータを使って起動します。 |
||
97行目: | 110行目: | ||
===rEFInd=== |
===rEFInd=== |
||
+ | * 目的のメニューエントリで {{ic|+}}、{{ic|F2}}、または {{ic|Insert}} を押し、サブメニューエントリでもう一度押します。文字列の最後にカーネルパラメータを追加します。 |
||
− | *再起動後も変更を適用するには、{{ic|/boot/EFI/arch/refind_linux.conf}} を編集して、パラメータを全ての(もしくは必要な)行に追加してください、例えば: |
||
− | :{{bc|1= |
+ | : {{bc|1=root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=\boot\initramfs-linux.img '''quiet splash'''}} |
+ | : {{ic|Enter}} を押して、これらのパラメータで起動します。 |
||
− | *rEFInd で OS の自動検知を無効にしていて、代わりに {{ic|/boot/EFI/refind/refind.conf}} で OS を定義して OS をロードしている場合、以下のように編集することができます: |
||
+ | *再起動後も変更を適用するには、{{ic|/boot/EFI/arch/refind_linux.conf}} を編集して、パラメータを全ての(もしくは必要な)行に追加してください、例えば: |
||
− | :{{bc|<nowiki>menuentry "Arch" { |
||
− | loader /EFI/arch/vmlinuz-arch.efi |
||
− | options "quiet splash ro root=PARTUUID=978e3e81-8048-4ae1-8a06-aa727458e8ff"</nowiki>}} |
||
+ | : {{bc|1="Boot using default options" "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw '''quiet splash'''"}} |
||
− | rEFInd でカーネルパラメータを設定する方法についての詳しい情報は以下を見て下さい |
||
+ | * rEFInd で OS の自動検知を無効にしていて、代わりに {{ic|/boot/EFI/refind/refind.conf}} で OS を定義して OS をロードしている場合、以下のように編集することができます: |
||
− | #[http://www.rodsbooks.com/refind/linux.html Configuring the rEFInd Bootmanager] |
||
+ | |||
− | #[http://www.rodsbooks.com/refind/linux.html Methods of Booting Linux] |
||
+ | : {{bc|<nowiki> |
||
+ | menuentry "Arch Linux" { |
||
+ | ... |
||
+ | options "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw </nowiki>'''quiet splash'''<nowiki>" |
||
+ | ... |
||
+ | } |
||
+ | </nowiki>}} |
||
+ | |||
+ | rEFInd の構成の詳細については、[[rEFInd]] の記事を参照してください。 |
||
===EFISTUB/efibootmgr=== |
===EFISTUB/efibootmgr=== |
||
[[EFISTUB#ブートマネージャを使わずに直接起動する]] を見て下さい。 |
[[EFISTUB#ブートマネージャを使わずに直接起動する]] を見て下さい。 |
||
+ | |||
+ | === dracut === |
||
+ | |||
+ | [[dracut]] はカーネルパラメータを initramfs に埋め込むことができるので、ブートローダの設定から省略することができます。[[dracut#カーネルコマンドラインオプション]] を参照してください。 |
||
===cmdline をハイジャック=== |
===cmdline をハイジャック=== |
||
+ | |||
ブートローダーにアクセスすることすらできない場合でも、(root 権限があれば) カーネルパラメータを変更してデバッグを有効にできる可能性があります。その方法とは、カーネルパラメータが保存されている {{ic|/proc/cmdline}} を上書きすることです。{{ic|/proc/cmdline}} は root でも書き込むことができないので、バインドマウントを使ってパスをマスクすることでハイジャックします。 |
ブートローダーにアクセスすることすらできない場合でも、(root 権限があれば) カーネルパラメータを変更してデバッグを有効にできる可能性があります。その方法とは、カーネルパラメータが保存されている {{ic|/proc/cmdline}} を上書きすることです。{{ic|/proc/cmdline}} は root でも書き込むことができないので、バインドマウントを使ってパスをマスクすることでハイジャックします。 |
||
まず、使用したいカーネルパラメータを記述したファイルを作成してください: |
まず、使用したいカーネルパラメータを記述したファイルを作成してください: |
||
− | {{hc|/root/cmdline|2= |
+ | {{hc|/root/cmdline|2= |
+ | root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 ro console=tty1 logo.nologo debug |
||
+ | }} |
||
次に、バインドマウントを使ってパラメータを上書きします: |
次に、バインドマウントを使ってパラメータを上書きします: |
||
129行目: | 156行目: | ||
{{ic|-n}} オプションは {{ic|/etc/mtab}} へのマウントの追加をスキップするため、root が読み取り専用でマウントされていても機能します。{{ic|cat /proc/cmdline}} を実行することでカーネルパラメータが変更されたか確認できます。 |
{{ic|-n}} オプションは {{ic|/etc/mtab}} へのマウントの追加をスキップするため、root が読み取り専用でマウントされていても機能します。{{ic|cat /proc/cmdline}} を実行することでカーネルパラメータが変更されたか確認できます。 |
||
− | ==パラメータ一覧== |
+ | == パラメータ一覧 == |
+ | 以下のリストは完全ではありません。全てのオプションの一覧は、[https://docs.kernel.org/admin-guide/kernel-parameters.html カーネルのドキュメント]を見て下さい。 |
||
− | パラメータは {{ic|parameter}} か {{ic|1=parameter=value}} という形式です。全てのパラメータは大文字・小文字を区別します。 |
||
− | |||
− | {{Note|リストの全てのオプションが使えるとは限りません。ほとんどのパラメータはサブシステムと連携していて、カーネルをサブシステムと一緒に動作するよう設定した時にだけ働きます。また、特定のハードウェアに依存しているパラメータもあります。}} |
||
− | |||
− | 以下のリストは完全ではありません。全てのオプションの一覧は、[https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html カーネルのドキュメント]を見て下さい。 |
||
{| class="wikitable" |
{| class="wikitable" |
||
!パラメータ!!説明 |
!パラメータ!!説明 |
||
|- |
|- |
||
+ | | init || {{ic|/sbin/init}} ではなく指定されたバイナリを init プロセスとして実行します。{{pkg|systemd-sysvcompat}} パッケージは、{{ic|/usr/lib/systemd/systemd}} へのシンボリックリンクを {{ic|/sbin/init}} に作成して [[systemd]] を使用します。{{ic|/bin/sh}} を指定することで、シェルを起動するように設定できます。 |
||
− | | root= || ルートファイルシステム カーネルがサポートしているデバイス名のフォーマットについては [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n192 init/do_mounts.c] を参照してください。 [[initramfs]] と [[udev]] を使用した場合、 [[永続的なブロックデバイスの命名|より多くの名前形式]]がサポートされています |
||
|- |
|- |
||
+ | | initrd || 初期 RAM ディスクの場所を指定します。UEFI [[ブートローダー]] や [[EFISTUB]] の場合、パスの区切り文字にはバックスラッシュ ({{ic|\}}) を使用しなければなりません。 |
||
− | | rootflags= || 永続的なブロックデバイスの命名 |
||
|- |
|- |
||
+ | | [[dm-crypt/システム設定#cryptdevice|cryptdevice]] || [[dm-crypt]] で暗号化されたパーティションの場所と[[Wikipedia:device mapper|デバイスマッパー]]名を指定します。 |
||
− | | ro || 起動時にルートファイルシステムを読み取り専用でマウントします (デフォルト<sup>1</sup>) |
||
|- |
|- |
||
+ | | debug || カーネルのデバッグ (イベントログレベル) を有効化します。 |
||
− | | rw || 起動時にルートデバイスを読み書き可能でマウント |
||
|- |
|- |
||
+ | | lsm || Linux セキュリティモジュールの初期化順を設定します。[[AppArmor]]、[[SELinux]]、[[TOMOYO]] を有効化するために使用されます。 |
||
− | | initrd= || initial ramdisk の場所を指定。 UEFI [[ブートローダー]] や [[EFISTUB]] ではファイルパスの区切り文字としてバックスラッシュ ({{ic|\}}) を使用するしなければなりません |
||
|- |
|- |
||
− | | |
+ | | maxcpus || SMPカーネルが起動時に使用するプロセッサーの最大数を指定します。 |
|- |
|- |
||
+ | | mem || 指定された量のメモリを強制的に使います |
||
− | | init=/bin/sh || シェルでブートします |
||
|- |
|- |
||
+ | | netdev || ネットワークデバイスのパラメータ。 |
||
− | | systemd.unit= || [[systemd#Targets|指定されたターゲット]]で起動します |
||
|- |
|- |
||
− | | |
+ | | nomodeset || [[カーネルモード設定]] を無効化します。 |
|- |
|- |
||
+ | | panic || カーネルパニック時に自動的に再起動するまでの時間。 |
||
− | | nomodeset || [[Kernel Mode Setting]] を無効化します |
||
|- |
|- |
||
+ | | resume || [[ハイバネート]]から復帰するときに使用するスワップデバイスを指定します。 |
||
− | | zswap.enabled || [[Zswap]]を有効化します |
||
|- |
|- |
||
+ | | ro || 起動時にルートデバイスを読み取り専用でマウントします (デフォルト<sup>1</sup>)。 |
||
− | | panic= || カーネルパニックが発生した際に自動的に再起動する時間を指定します |
||
|- |
|- |
||
+ | | root || ルートファイルシステム。カーネルのサポートされているデバイス名形式については [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n254 init/do_mounts.c] を見てください。[[initramfs]] と [[udev]] を使用する場合、[[永続的なブロックデバイスの命名|さらに多くのデバイス名形式]]がサポートされていることに注意してください。 |
||
− | | debug || カーネルでバッグを有効化します (イベントログレベル). |
||
|- |
|- |
||
+ | | rootflags || ルートファイルシステムのマウントオプション。再マウント (つまり、{{man|8|systemd-remount-fs.service}}) によって適用できないオプションを設定するときに便利です。例えば、[[XFS]] ルートボリュームの {{ic|discard}} オプションがあります。 |
||
− | | mem= || 指定された量のメモリを強制的に使います |
||
|- |
|- |
||
− | | |
+ | | rw || 起動時にルートデバイスを読み書き可能でマウントします。 |
|- |
|- |
||
+ | | systemd.unit || [[systemd#ターゲット|指定されたターゲット]]を起動します。 |
||
− | | selinux= || SELinuxを有効もしくは無効にします |
||
|- |
|- |
||
− | | |
+ | | video || フレームバッファビデオのデフォルト値を上書きします。 |
− | |- |
||
− | | video= || フレームバッファビデオのデフォルトを上書きします |
||
|} |
|} |
||
− | + | # {{ic|ro}} も {{ic|rw}} もカーネルコマンドラインで明示的に設定されていない場合、カーネルは {{ic|rw}} を使用します ({{man|7|bootparam|デバイス固有ではない全般を参照 ブート引数}}) ただし、[[mkinitcpio]] はカーネルのデフォルトをオーバーライドするデフォルト値として {{ic|ro}} を使用します ({{man|8|mkinitcpio|EARLY INIT ENVIRONMENT}} を参照) ブートローダーには、独自に設定されたデフォルトがある場合もあります。たとえば、''grub-mkconfig'' は {{ic|rw}} を使用します (リファレンスとして {{Bug|36275}} を参照){{Note|1=mkinitcpio の [[fsck#ブート時間チェック|fsck フック]] ([https://bbs.archlinux.org/viewtopic.php?pid=1303683] を参照) を使う場合、または [[F2FS#一部のオプションで再マウントが不可能|F2FS をルートファイルシステムとして使用する場合]]、{{ic|rw}} が必要です。}} |
|
− | |||
==関連項目== |
==関連項目== |
||
+ | * [https://docs.kernel.org/admin-guide/kernel-parameters.html "The kernel’s command-line parameters" documentation] |
||
− | *[[sysctl]] |
||
*[[省電力設定#カーネルパラメータ]] |
*[[省電力設定#カーネルパラメータ]] |
||
*[http://files.kroah.com/lkn/lkn_pdf/ch09.pdf List of kernel parameters with further explanation and grouped by similar options] |
*[http://files.kroah.com/lkn/lkn_pdf/ch09.pdf List of kernel parameters with further explanation and grouped by similar options] |
||
− | *[https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt Linux "Kernel Parameters" ドキュメント] |
2023年7月20日 (木) 02:53時点における最新版
カーネルにオプションを渡してその動作を制御するには、3つの方法があります。
- カーネルを構築するとき、カーネルの
config
ファイルで。詳しくは カーネル#コンパイルを見てください。 - カーネルを起動するとき-コマンドラインパラメータを使う (通常はブートローダを使う)。
- 実行時に
/proc/sys/
にあるファイルを通して実行する。(参照 sysctl) と/sys/
があります。
この3つの方式では、設定可能なオプションの有無、名称、指定方法が異なります。このページでは 2 番目の方法 (カーネルコマンドラインパラメータ) についてのみ説明し、Arch Linux で最もよく使われるカーネルパラメータの一覧を示します。
ほとんどのパラメータはサブシステムに関連しており、カーネルがそれらのサブシステムを組み込んで設定されている場合にのみ機能します。また、それらが関連するハードウェアの存在にも依存します。
カーネルコマンドラインパラメータは parameter
または parameter=value
というフォーマットで表されます。
目次
設定
カーネルパラメータを設定するには、ブートメニューが出た時にそのメニューを編集して一時的にセットするのと、ブートローダの設定ファイルを修正する方法があります。
ここでは Syslinux, systemd-boot, GRUB, GRUB Legacy, LILO のそれぞれの場合に quiet
と splash
パラメータを加える方法を説明します。
Syslinux
- メニューが表示されたら
Tab
を押してパラメータを文字列の最後に加える:
linux /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=/boot/initramfs-linux.img quiet splash
Enter
を押して加えたパラメータを使って起動します。
- 再起動後も変更を持続させるには、
/boot/syslinux/syslinux.cfg
を開き、パラメータをAPPEND
行に加えます:
APPEND root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash
Syslinux の設定について、詳しくは Syslinux を見て下さい。
systemd-boot
- メニューが表示されたら
e
を押して一番末尾にパラメータを追加してください:
initrd=\initramfs-linux.img root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash
Enter
を押すと編集したパラメータで起動が開始されます。
- 再起動後も変更を永続的に適用するには、
/boot/loader/entries/arch.conf
(ビギナーズガイドの指示通りに EFI System Partition と設定ファイルを設定した場合) を編集してoptions
行に以下を追加してください:
options root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw 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
を押しパラメータをkernel
行の後ろに加えます:
kernel /boot/vmlinuz-linux root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw 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
- 目的のメニューエントリで
+
、F2
、またはInsert
を押し、サブメニューエントリでもう一度押します。文字列の最後にカーネルパラメータを追加します。
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw initrd=\boot\initramfs-linux.img quiet splash
Enter
を押して、これらのパラメータで起動します。
- 再起動後も変更を適用するには、
/boot/EFI/arch/refind_linux.conf
を編集して、パラメータを全ての(もしくは必要な)行に追加してください、例えば:
"Boot using default options" "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash"
- rEFInd で OS の自動検知を無効にしていて、代わりに
/boot/EFI/refind/refind.conf
で OS を定義して OS をロードしている場合、以下のように編集することができます:
menuentry "Arch Linux" { ... options "root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 rw quiet splash" ... }
rEFInd の構成の詳細については、rEFInd の記事を参照してください。
EFISTUB/efibootmgr
EFISTUB#ブートマネージャを使わずに直接起動する を見て下さい。
dracut
dracut はカーネルパラメータを initramfs に埋め込むことができるので、ブートローダの設定から省略することができます。dracut#カーネルコマンドラインオプション を参照してください。
cmdline をハイジャック
ブートローダーにアクセスすることすらできない場合でも、(root 権限があれば) カーネルパラメータを変更してデバッグを有効にできる可能性があります。その方法とは、カーネルパラメータが保存されている /proc/cmdline
を上書きすることです。/proc/cmdline
は root でも書き込むことができないので、バインドマウントを使ってパスをマスクすることでハイジャックします。
まず、使用したいカーネルパラメータを記述したファイルを作成してください:
/root/cmdline
root=UUID=0a3407de-014b-458b-b5c1-848e92a327a3 ro console=tty1 logo.nologo debug
次に、バインドマウントを使ってパラメータを上書きします:
# mount -n --bind -o ro /root/cmdline /proc/cmdline
-n
オプションは /etc/mtab
へのマウントの追加をスキップするため、root が読み取り専用でマウントされていても機能します。cat /proc/cmdline
を実行することでカーネルパラメータが変更されたか確認できます。
パラメータ一覧
以下のリストは完全ではありません。全てのオプションの一覧は、カーネルのドキュメントを見て下さい。
パラメータ | 説明 |
---|---|
init | /sbin/init ではなく指定されたバイナリを init プロセスとして実行します。systemd-sysvcompat パッケージは、/usr/lib/systemd/systemd へのシンボリックリンクを /sbin/init に作成して systemd を使用します。/bin/sh を指定することで、シェルを起動するように設定できます。
|
initrd | 初期 RAM ディスクの場所を指定します。UEFI ブートローダー や EFISTUB の場合、パスの区切り文字にはバックスラッシュ (\ ) を使用しなければなりません。
|
cryptdevice | dm-crypt で暗号化されたパーティションの場所とデバイスマッパー名を指定します。 |
debug | カーネルのデバッグ (イベントログレベル) を有効化します。 |
lsm | Linux セキュリティモジュールの初期化順を設定します。AppArmor、SELinux、TOMOYO を有効化するために使用されます。 |
maxcpus | SMPカーネルが起動時に使用するプロセッサーの最大数を指定します。 |
mem | 指定された量のメモリを強制的に使います |
netdev | ネットワークデバイスのパラメータ。 |
nomodeset | カーネルモード設定 を無効化します。 |
panic | カーネルパニック時に自動的に再起動するまでの時間。 |
resume | ハイバネートから復帰するときに使用するスワップデバイスを指定します。 |
ro | 起動時にルートデバイスを読み取り専用でマウントします (デフォルト1)。 |
root | ルートファイルシステム。カーネルのサポートされているデバイス名形式については init/do_mounts.c を見てください。initramfs と udev を使用する場合、さらに多くのデバイス名形式がサポートされていることに注意してください。 |
rootflags | ルートファイルシステムのマウントオプション。再マウント (つまり、systemd-remount-fs.service(8)) によって適用できないオプションを設定するときに便利です。例えば、XFS ルートボリュームの discard オプションがあります。
|
rw | 起動時にルートデバイスを読み書き可能でマウントします。 |
systemd.unit | 指定されたターゲットを起動します。 |
video | フレームバッファビデオのデフォルト値を上書きします。 |
ro
もrw
もカーネルコマンドラインで明示的に設定されていない場合、カーネルはrw
を使用します (bootparam(7) § デバイス固有ではない全般を参照 ブート引数) ただし、mkinitcpio はカーネルのデフォルトをオーバーライドするデフォルト値としてro
を使用します (mkinitcpio(8) § EARLY INIT ENVIRONMENT を参照) ブートローダーには、独自に設定されたデフォルトがある場合もあります。たとえば、grub-mkconfig はrw
を使用します (リファレンスとして FS#36275 を参照)