<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Noyciy7037</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Noyciy7037"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Noyciy7037"/>
	<updated>2026-04-10T20:35:18Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=GRUB&amp;diff=41302</id>
		<title>GRUB</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=GRUB&amp;diff=41302"/>
		<updated>2026-01-22T06:04:53Z</updated>

		<summary type="html">&lt;p&gt;Noyciy7037: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ブートローダー]]&lt;br /&gt;
[[Category:GNU]]&lt;br /&gt;
[[de:GRUB]]&lt;br /&gt;
[[en:GRUB]]&lt;br /&gt;
[[es:GRUB]]&lt;br /&gt;
[[pl:GRUB]]&lt;br /&gt;
[[pt:GRUB]]&lt;br /&gt;
[[ru:GRUB]]&lt;br /&gt;
[[zh-hans:GRUB]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Arch ブートプロセス}}&lt;br /&gt;
{{Related|Master Boot Record}}&lt;br /&gt;
{{Related|GUID Partition Table}}&lt;br /&gt;
{{Related|Unified Extensible Firmware Interface}}&lt;br /&gt;
{{Related|GRUB Legacy}}&lt;br /&gt;
{{Related|GRUB/EFI サンプル}}&lt;br /&gt;
{{Related|GRUB/ヒントとテクニック}}&lt;br /&gt;
{{Related|マルチブート USB ドライブ}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[https://www.gnu.org/software/grub/ GRUB] (GRand Unified Bootloader) は[[ブートローダー]]です。現在の GRUB は &#039;&#039;&#039;GRUB 2&#039;&#039;&#039; とも呼ばれています。元の GRUB ([[GRUB Legacy]]) はバージョン 0.9x に対応しています。このページでは GRUB 2 についてのみ説明します。&lt;br /&gt;
&lt;br /&gt;
{{Note|この記事全体で、{{ic|&#039;&#039;esp&#039;&#039;}} は [[EFI システムパーティション]] (別名 ESP) のマウントポイントを表します。}}&lt;br /&gt;
&lt;br /&gt;
== サポートされているファイルシステム ==&lt;br /&gt;
&lt;br /&gt;
GRUB には[https://www.gnu.org/software/grub/manual/grub/html_node/Features.html#Features 複数のファイルシステム] (特に重要なものとしては [[FAT32]]、[[ext4]]、[[Btrfs]]、[[XFS]]) に対する独自のサポートがあります。注意事項に関しては [[#サポートのないファイルシステム]] 章を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Warning|ファイルシステムには、GRUB がまだ対応していない新しい機能が導入されることがあります。その場合、GRUB と互換性の無い機能を無効化しない限り、そのファイルシステムを {{ic|/boot}} に対して使用するべきではありません。この問題は、[[パーティショニング#/boot|/boot パーティション]]を別に分けて、[[FAT32]] などの広くサポートされているファイルシステムを使用することで、回避することができます。}}&lt;br /&gt;
&lt;br /&gt;
== UEFI システム ==&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 次のページを読んで理解しておくことをおすすめします: [[Unified Extensible Firmware Interface]]、[[パーティショニング#GUID Partition Table]]、[[Arch ブートプロセス#UEFI_2]]。&lt;br /&gt;
* UEFI を使うようにインストールする場合、Arch のインストールメディアを UEFI モードで起動することが重要です。さもないと、&#039;&#039;efibootmgr&#039;&#039; が GRUB の UEFI ブートエントリを追加できません。[[#デフォルト/フォールバックのブートパス|フォールバックブートパス]]へのインストールは NVRAM を使用しないため、BIOS モードでも可能です。&lt;br /&gt;
* UEFI を使用してディスクから起動するには EFI システムパーティションが必要です。[[EFI システムパーティション#既存のパーティションの確認]] に従って、すでに EFI システムパーティションが存在するかどうかを確認してください。存在しない場合は作成する必要があります。&lt;br /&gt;
* この記事全体で、{{ic|insmod}} を使って追加の GRUB2 モジュールを挿入可能であると仮定しています。[[#Shim-lock]] で議論されているように、これはセキュアブートが有効化されている UEFI システムには当てはまりません。セキュアブートシステム上で標準の GRUB EFI ファイル {{ic|grubx64.efi}} に含まれていない追加の GRUB モジュールを使用したい場合は、{{ic|grub-mkstandalone}} を使って追加の GRUB モジュールを含めた GRUB EFI {{ic|grubx64.efi}} を再生成しなければなりません。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== インストール ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* UEFI の実装はマザーボード製造者ごとに異なっています。以下で説明されている手順は広い範囲の UEFI システムで動作するように意図されています。しかし、この方法を適用しているにも関わらず問題が発生する場合は、あなたのハードウェア固有のケースにおける詳細な情報を (可能であれば解決策も) 共有することが推奨されます。そのようなケースのために [[GRUB/EFI サンプル]] の記事が提供されています。&lt;br /&gt;
* このセクションでは、あなたが x64 (64 ビット) UEFI のシステムに対して GRUB をインストールしようとしていると仮定します。IA32 (32 ビット) UEFI の場合は (32 ビット CPU と混同しないでください)、適切な場所で {{ic|x86_64-efi}} を {{ic|i386-efi}} に置き換えてください。[[Unified Extensible Firmware Interface#UEFI ファームウェアのビット数を調べる]] の手順を見て、UEFI のビット数を調べてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
まず、{{Pkg|grub}} と {{Pkg|efibootmgr}} を[[インストール]]してください。&#039;&#039;GRUB&#039;&#039; はブートローダである一方、&#039;&#039;efibootmgr&#039;&#039; はブートエントリを NVRAM に書き込むために GRUB のインストールスクリプトによって使用されます。&lt;br /&gt;
&lt;br /&gt;
そして、以下の手順に従って GRUB をディスクにインストールしてください:&lt;br /&gt;
&lt;br /&gt;
# [[EFI システムパーティション#パーティションのマウント|EFI システムパーティションをマウント]]してください。そして、このセクションの後の部分で出てくる {{ic|&#039;&#039;esp&#039;&#039;}} という記述をそのマウントポイントに置き換えてください。&lt;br /&gt;
# ブートローダの識別子を選んでください、ここでは仮に {{ic|GRUB}} としましょう。{{ic|&#039;&#039;esp&#039;&#039;/EFI/}} にあなたが選んだものと同じ名前のディレクトリが作成され、そこに EFI バイナリが格納されます。その名前が UEFI ブートメニューの GRUB ブートエントリの名前になります。&lt;br /&gt;
# 以下のコマンドを実行して、GRUB EFI アプリケーション {{ic|grubx64.efi}} を {{ic|&#039;&#039;esp&#039;&#039;/EFI/GRUB/}} に、モジュールを {{ic|/boot/grub/x86_64-efi/}} にインストールしてください。&lt;br /&gt;
::{{Note|&lt;br /&gt;
::* GRUB をブートローダとしてインストールするシステム内でパッケージをインストールし、{{ic|grub-install}} を実行してください。つまり、ライブインストール環境から起動している場合、{{ic|grub-install}} は (インストール先の) chroot 環境の中で実行する必要があるということです。何らかの理由で、インストールされたシステムの外で {{ic|grub-install}} を実行する必要がある場合、マウントした {{ic|/boot}} ディレクトリへのパスを {{ic|1=--boot-directory=}} オプションに渡してください。例: {{ic|1=--boot-directory=/mnt/boot}}&lt;br /&gt;
::* 一部のマザーボードは、空白を含む {{ic|bootloader-id}} を扱うことができません。}}&lt;br /&gt;
::{{bc|1=# grub-install --target=x86_64-efi --efi-directory=&#039;&#039;esp&#039;&#039; --bootloader-id=GRUB}}&lt;br /&gt;
&lt;br /&gt;
上記のインストール作業が完了した後、メインの GRUB ディレクトリが {{ic|/boot/grub/}} に作成されています。別の場所を指定する方法については [[GRUB/ヒントとテクニック#代替インストール方法]] を見てください。{{ic|grub-install}} は[[#ファームウェアブートマネージャーに GRUB エントリを作成する|ファームウェアのブートマネージャにもエントリを作成]]しようとすることに注意してください。その名前は上記の例では {{ic|GRUB}} となります。しかし、ブートエントリが埋まっていると、これは失敗します。この場合は [[efibootmgr]] を使って必要ないエントリを削除してください。&lt;br /&gt;
&lt;br /&gt;
設定を確定したあとに[[#メイン設定ファイルの生成|メインの設定ファイルを生成]]することを忘れないでください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|--removable}} オプションを使うと、GRUB は {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTX64.EFI}} にインストールされます ({{ic|i386-efi}} ターゲットの場合は {{ic|&#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTIA32.EFI}})。その結果、EFI 変数がリセットされた場合やドライブを他のコンピュータに移した場合でもそのドライブから起動することができるようになります。通常は BIOS を使用する方法と同じようにドライブを選択することで使うことができます。Windows とデュアルブートする場合、Windows は通常そこに EFI 実行ファイルを配置するので注意してください。とはいえ、そのファイルは Windows の UEFI ブートエントリを再生成するためだけに使用されます。[[Mac]] 上に GRUB をインストールする場合、このオプションを使用する必要があります。一部のデスクトップマザーボード (特に MSI のマザーボード) はここに保存されている EFI 実行ファイルしか見ないので、このオプションが必須になります。&lt;br /&gt;
UEFI アップデートを実行すると、既存の UEFI ブートエントリが削除されるかもしれません。なので、&amp;quot;removable&amp;quot; なブートエントリを有効化しておくと、それをフォールバックとして利用できます。}}&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* {{ic|--efi-directory}} と {{ic|--bootloader-id}} は GRUB UEFI 専用です。{{ic|--efi-directory}} は、非推奨となった {{ic|--root-directory}} を置き換えます。&lt;br /&gt;
* {{ic|grub-install}} コマンドに &#039;&#039;device_path&#039;&#039; オプション (例えば {{ic|/dev/sda}}) が無いことに気付いたかもしれません。実際、&#039;&#039;device_path&#039;&#039; は GRUB EFI インストールスクリプトによって無視されます。UEFI ブートローダーは MBR ブートコードもパーティションブートセクタも全く使用しないのです。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
問題が発生した場合は [[#UEFI|UEFI のトラブルシューティング]] を見て下さい。加えて [[GRUB/ヒントとテクニック#UEFI の詳細情報]] も参照してください。&lt;br /&gt;
&lt;br /&gt;
=== セキュアブートサポート ===&lt;br /&gt;
&lt;br /&gt;
GRUB は、CA 鍵か shim のいずれかを使用するセキュアブートを完全にサポートしています。しかし、インストールのコマンドは、どちらを使用するかによって異なります。&lt;br /&gt;
&lt;br /&gt;
{{Warning|&lt;br /&gt;
* [[セキュアブート]]を不適切に設定すると、システムが起動不能になる可能性があります。セキュアブートを有効化した後に何らかの理由により起動できなくなった場合、ファームウェアでセキュアブートを無効化し、システムを再起動する必要があります。&lt;br /&gt;
* ブートローダで不必要なモジュールをロードすると、セキュリティリスクを発生させる可能性があります。これらのコマンドは、必要なときにだけ使用してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== CA 鍵 ====&lt;br /&gt;
&lt;br /&gt;
CA 鍵を使うには、インストールのコマンドは次のようになります:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --target=x86_64-efi --efi-directory=&#039;&#039;esp&#039;&#039; --bootloader-id=GRUB --modules=&amp;quot;tpm&amp;quot; --disable-shim-lock&lt;br /&gt;
&lt;br /&gt;
==== Shim-lock ====&lt;br /&gt;
&lt;br /&gt;
{{Note|このセクションに進む前に、[[セキュアブート#shim]] に書かれてある指示の通りにし、{{pkg|sbsigntools}} をセットアップして鍵を受け取る準備を整えておく必要があります。}}&lt;br /&gt;
&lt;br /&gt;
Shim-lock を使用する場合、GRUB をセキュアブートモードでブートさせるには、[[vmlinuz]] と [[initramfs]] のイメージが含まれているファイルシステムを読むために必要なモジュール全てが GRUB のバイナリに含まれていなければなりません。&lt;br /&gt;
&lt;br /&gt;
GRUB バージョン {{ic|2.06.r261.g2f4430cc0}} から、セキュアブートモードで {{ic|insmod}} を使ってモジュールをロードすることは許可されなくなりました (任意のコードをサイドロードできてしまう可能性があるからです)。GRUB モジュールが EFI バイナリ内に組み込まれていない場合、GRUB はそれらのモジュールをサイドロード/{{ic|insmod}} しようと試み、その結果、以下のようなメッセージにより GRUB の起動が失敗します:&lt;br /&gt;
&lt;br /&gt;
 error: prohibited by secure boot policy&lt;br /&gt;
&lt;br /&gt;
[https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/tree/debian/build-efi-images?h=debian/2.06-2ubuntu12 Ubuntu の公式ビルドスクリプト]によると、Ubuntu では以下の GRUB モジュールが署名済み GRUB EFI バイナリ {{ic|grubx64.efi}} に組み込まれています:&lt;br /&gt;
&lt;br /&gt;
* [https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/tree/debian/build-efi-images?h=debian/2.06-2ubuntu12#n87 &amp;quot;基本&amp;quot; モジュール]。CD や簡単にパーティショニングされたディスクからブートするために必要: {{ic|all_video}}、{{ic|boot}}、{{ic|btrfs}}、{{ic|cat}}、{{ic|chain}}、{{ic|configfile}}、{{ic|echo}}、{{ic|efifwsetup}}、{{ic|efinet}}、{{ic|ext2}}、{{ic|fat}}、{{ic|font}}、{{ic|gettext}}、{{ic|gfxmenu}}、{{ic|gfxterm}}、{{ic|gfxterm_background}}、{{ic|gzio}}、{{ic|halt}}、{{ic|help}}、{{ic|hfsplus}}、{{ic|iso9660}}、{{ic|jpeg}}、{{ic|keystatus}}、{{ic|loadenv}}、{{ic|loopback}}、{{ic|linux}}、{{ic|ls}}、{{ic|lsefi}}、{{ic|lsefimmap}}、{{ic|lsefisystab}}、{{ic|lssal}}、{{ic|memdisk}}、{{ic|minicmd}}、{{ic|normal}}、{{ic|ntfs}}、{{ic|part_apple}}、{{ic|part_msdos}}、{{ic|part_gpt}}、{{ic|password_pbkdf2}}、{{ic|png}}、{{ic|probe}}、{{ic|reboot}}、{{ic|regexp}}、{{ic|search}}、{{ic|search_fs_uuid}}、{{ic|search_fs_file}}、{{ic|search_label}}、{{ic|sleep}}、{{ic|smbios}}、{{ic|squash4}}、{{ic|test}}、{{ic|true}}、{{ic|video}}、{{ic|xfs}}、{{ic|zfs}}、{{ic|zfscrypt}}、{{ic|zfsinfo}}&lt;br /&gt;
* x84_64-efi アーキテクチャ用の [https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/tree/debian/build-efi-images?h=debian/2.06-2ubuntu12#n147 &amp;quot;プラットフォーム固有&amp;quot; のモジュール]。例えば:&lt;br /&gt;
** {{ic|play}}: ブート中に音を鳴らす&lt;br /&gt;
** {{ic|cpuid}}: ブート時に CPU の機能を確認する&lt;br /&gt;
** {{ic|tpm}}: Measured Boot / [[TPM|Trusted Platform Modules]] をサポートする&lt;br /&gt;
* [https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/tree/debian/build-efi-images?h=debian/2.06-2ubuntu12#n159 &amp;quot;高度な&amp;quot; モジュール]。以下が含まれます:&lt;br /&gt;
** {{ic|cryptodisk}}: [[dm-crypt|plain モードで暗号化された]]ディスクからブートする&lt;br /&gt;
** {{ic|gcry_&#039;&#039;アルゴリズム&#039;&#039;}}: 特定のハッシュアルゴリズムと暗号化アルゴリズムをサポートする&lt;br /&gt;
** {{ic|luks}}: [[LUKS]] で暗号化されたディスクからブートする&lt;br /&gt;
** {{ic|lvm}}: [[LVM]] 論理ボリュームディスクからブートする&lt;br /&gt;
** {{ic|mdraid09}}、{{ic|mdraid1x}}、{{ic|raid5rec}}、{{ic|raid6rec}}: [[RAID]] 仮想ディスクからブートする&lt;br /&gt;
&lt;br /&gt;
GRUB モジュールのリストはシェル変数の形にしなければなりません (ここでは {{ic|GRUB_MODULES}} と表記しています)。[https://git.launchpad.net/~ubuntu-core-dev/grub/+git/ubuntu/tree/debian/build-efi-images 最新の Ubuntu スクリプト]をベースとして使い、あなたのシステムでは不要なモジュールを取り除くという方法を取ることもできます。モジュールを減らすと、ブートプロセスが比較的速くなり、ESP のスペースをいくらか節約できます。&lt;br /&gt;
&lt;br /&gt;
また、セキュリティを高めるために、EFI バイナリに[https://github.com/rhboot/shim/blob/main/SBAT.md Secure Boot Advanced Targeting (SBAT)] ファイル/セクションを含める必要があります (GRUB が UEFI shim ローダから起動される場合)。SBAT ファイル/セクションには、GRUB バイナリに関するメタデータ (バージョン、メンテナ、開発者、上流の URL) が含まれており、特定の GRUB バージョンに脆弱性がある場合、shim がそのバージョンの GRUB のロードをブロックすることが容易になります [https://eclypsium.com/2020/07/29/theres-a-hole-in-the-boot/#additional][https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/GRUB2SecureBootBypass2021] (shim の [https://github.com/rhboot/shim/blob/main/SBAT.md UEFI shim bootloader secure boot life-cycle improvements] というドキュメントで説明されています)。&lt;br /&gt;
&lt;br /&gt;
SBAT セクションが {{ic|grubx64.efi}} に無いと、shim は {{ic|grubx64.efi}} の起動に失敗します。&lt;br /&gt;
&lt;br /&gt;
GRUB がインストールされている場合、シンプルな SBAT &#039;&#039;.csv&#039;&#039; ファイルが {{ic|/usr/share/grub/sbat.csv}} で提供されています。&lt;br /&gt;
&lt;br /&gt;
その {{ic|/usr/share/grub/sbat.csv}} ファイルと必要な {{ic|GRUB_MODULES}} を使って GRUB を再インストールし、GRUB バイナリを署名してください:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --target=x86_64-efi --efi-directory=&#039;&#039;esp&#039;&#039; --modules=&amp;quot;${GRUB_MODULES}&amp;quot; --sbat /usr/share/grub/sbat.csv&lt;br /&gt;
 # sbsign --key MOK.key --cert MOK.crt --output &#039;&#039;esp&#039;&#039;/EFI/GRUB/grubx64.efi &#039;&#039;esp&#039;&#039;/EFI/GRUB/grubx64.efi&lt;br /&gt;
 # cp &#039;&#039;esp&#039;&#039;/EFI/GRUB/grubx64.efi &#039;&#039;esp&#039;&#039;/EFI/BOOT/grubx64.efi&lt;br /&gt;
&lt;br /&gt;
再起動し、&#039;&#039;MokManager&#039;&#039; で鍵を選択すれば、セキュアブートが機能するはずです。&lt;br /&gt;
&lt;br /&gt;
==== セキュアブートを使用する ====&lt;br /&gt;
&lt;br /&gt;
インストール後は、[[セキュアブート#セキュアブートを実現する]] を見て、セキュアブートを有効化する手順を確認してください。&lt;br /&gt;
&lt;br /&gt;
CA 鍵の方法を取っている場合、鍵の管理や登録、ファイルの署名は {{pkg|sbctl}} で自動化できます。詳細は [[セキュアブート#sbctl でより簡単に行う]] を見てください。&lt;br /&gt;
&lt;br /&gt;
== BIOS システム ==&lt;br /&gt;
&lt;br /&gt;
=== GUID Partition Table (GPT) 特有の手順 ===&lt;br /&gt;
&lt;br /&gt;
BIOS/[[GPT]] の構成では、[https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation BIOS ブートパーティション]が必要です。GRUB は {{ic|core.img}} をこのパーティションに埋め込みます。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* この方法を試す前に、すべてのシステムでこのパーティショニング方式がサポートされているわけではないということを心に留めておいてください。詳細は [[パーティショニング#GUID Partition Table]] を見てください。&lt;br /&gt;
* BIOS ブートパーティションは BIOS/GPT のセットアップでのみ GRUB が必要とします。BIOS/MBR セットアップでは、GRUB は MBR の後にある隙間を {{ic|core.img}} のために使用します。しかし、GPT では最初のパーティションの前に未使用の領域があることは保証されていません。&lt;br /&gt;
* [[UEFI]] システムでは、ブートセクタが組み込まれないので、BIOS ブートパーティションは必要ありません。しかし、UEFI システムでは依然として [[EFI システムパーティション]]が必要です。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ディスク上にパーティションタイプ GUID {{ic|21686148-6449-6E6F-744E-656564454649}} の、ファイルシステムの無い 1 メビバイト (&#039;&#039;fdisk&#039;&#039; や &#039;&#039;gdisk&#039;&#039; で {{ic|1=+1M}}) のパーティションを作成してください。&lt;br /&gt;
&lt;br /&gt;
* [[fdisk]] では、パーティションタイプ {{ic|BIOS boot}} を選択してください。&lt;br /&gt;
* [[gdisk]] では、パーティションタイプコード {{ic|ef02}} を選択してください。&lt;br /&gt;
* [[parted]] では、そのパーティションで {{ic|bios_grub}} フラグをセット/アクティブ化してください。&lt;br /&gt;
&lt;br /&gt;
このパーティションはどのような順番で配置しても良いですが、ディスクの先頭 2 TiB 以内になければなりません。このパーティションは GRUB のインストール前に作成する必要があります。パーティションの準備が完了したら、以下の指示に従ってブートローダーをインストールします。&lt;br /&gt;
&lt;br /&gt;
GPT のアライメント仕様から外れますが、最初のパーティションの前にあるスペースは BIOS ブートパーティションとしても使用できます。このパーティションは定期的にアクセスされるものではないのでパフォーマンスの問題は無視できますが、一部のディスクユーティリティは警告を発します。&#039;&#039;fdisk&#039;&#039; や &#039;&#039;gdisk&#039;&#039; では、セクター 34 から 2047 までの区間の新しいパーティションを作成して、先のパーティションタイプを設定してください。見える状態のパーティションが先頭から始まるようにするには、このパーティションを最後に追加することを検討してください。&lt;br /&gt;
&lt;br /&gt;
=== Master Boot Record (MBR) 特有の手順 ===&lt;br /&gt;
&lt;br /&gt;
通常、MBR でパーティションされた環境において [[MBR]] の後の隙間 (512 バイトの MBR 領域の後ろで最初のパーティションの前) は 31 KiB になっていて、このパーティションテーブルでは DOS 互換のシリンダーアライメントは問題になりません。しかしながら GRUB の {{ic|core.img}} 用に十分な領域を確保するために 1 から 2 MiB ほど MBR の後の領域をとることを推奨します ({{bug|24103}})。この領域を獲得したり他の 512 バイトでないセクターの問題を起こさないために ({{ic|core.img}} の埋め込みとは関係ありません) 1 MiB [[パーティショニング#パーティションアライメント|パーティションアライメント]]をサポートしているパーティションツールを使うのが得策です。&lt;br /&gt;
&lt;br /&gt;
=== インストール ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|grub}} パッケージを[[インストール]]してください ({{AUR|grub-legacy}} がインストールされている場合は置き換えられます。) 次に以下を実行してください:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --target=i386-pc &#039;&#039;/dev/sdX&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|i386-pc}} は実際のアーキテクチャに関わらず使用されます。{{ic|&#039;&#039;/dev/sdX&#039;&#039;}} は GRUB がインストールされる &#039;&#039;&#039;ディスク&#039;&#039;&#039; (&#039;&#039;&#039;パーティションではありません&#039;&#039;&#039;) です。例えば、{{ic|/dev/sda}}、{{ic|/dev/nvme0n1}}、{{ic|/dev/mmcblk0}} です。ブロックデバイスの命名方法については [[デバイスファイル#ブロックデバイスの名前]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
次に、[[#メイン設定ファイルの生成|メイン設定ファイルを生成]]する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot}} に [[LVM]] を使用している場合、GRUB を複数の物理ディスク上にインストールすることができます。&lt;br /&gt;
&lt;br /&gt;
{{Tip|USB メモリなどに GRUB をインストールする他の方法については [[GRUB/ヒントとテクニック#代替インストール方法]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|grub-install}} コマンドの詳細については、{{man|8|grub-install}} および [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation GRUB Manual] を参照してください。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
インストールされたシステムでは、GRUB は起動の度に設定ファイル {{ic|/boot/grub/grub.cfg}} をロードします。ツールを使う場合は、[[#grub.cfg の生成]] を、手動で作成する場合は [[#grub.cfg のカスタマイズ]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== grub.cfg の生成 ===&lt;br /&gt;
&lt;br /&gt;
このセクションでは {{ic|/etc/default/grub}} 設定ファイルの編集についてだけ扱っています。他のオプションは [[GRUB/ヒントとテクニック]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|/etc/grub.d/}} 下のファイルや {{ic|/etc/default/grub}} に変更を加えた後は必ず[[#メイン設定ファイルの生成|メイン設定ファイルの再生成]]を行なって下さい。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|GRUB の新しいバージョンで設定ファイルの構文が変更された場合、ブートローダーをアップデート/再インストールしてください ([[#UEFI システム]] や [[#BIOS システム]] を見てください)。設定が一致しないと、システムが起動できなくなる可能性があります。例えば、新しい設定では既存の GRUB バイナリが認識しない関数が使用されているかもしれず、想定外の動作を引き起こす可能性があります。}}&lt;br /&gt;
&lt;br /&gt;
==== メイン設定ファイルの生成 ====&lt;br /&gt;
&lt;br /&gt;
インストールした後は、メインの設定ファイル {{ic|/boot/grub/grub.cfg}} を生成する必要があります。生成プロセスは、{{ic|/etc/default/grub}} 内の様々なオプションや {{ic|/etc/grub.d/}} 下のスクリプトによって制御されます。{{ic|/etc/default/grub}} におけるオプションのリストと、それぞれのオプションの簡潔な説明は、GNU の[https://www.gnu.org/software/grub/manual/grub/html_node/Simple-configuration.html ドキュメント]を参照してください。&lt;br /&gt;
&lt;br /&gt;
追加の設定をしていない場合、設定ファイル自動生成スクリプトは、ブートさせるシステムのルートファイルシステムを判定し、その情報を設定ファイルに保存します。これを成功させるには、システムを起動させているか、またはシステムに chroot していることが重要です。&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* デフォルトのファイルパスは {{ic|/boot/grub/grub.cfg}} です、{{ic|/boot/grub/i386-pc/grub.cfg}} ではありません。&lt;br /&gt;
* [[chroot]] や [[systemd-nspawn]] コンテナで &#039;&#039;grub-mkconfig&#039;&#039; を実行しようとした場合、次のようなエラーによりうまく行かないことがあります: {{ic|grub-probe: error: failed to get canonical path of &#039;&#039;/dev/sdaX&#039;&#039;}}。この場合、[https://bbs.archlinux.org/viewtopic.php?pid=1225067#p1225067 このフォーラムの投稿]で記述されているように [[arch-chroot]] を使ってみて下さい。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;grub-mkconfig&#039;&#039; ツールを使って {{ic|/boot/grub/grub.cfg}} を生成してください:&lt;br /&gt;
&lt;br /&gt;
 # grub-mkconfig -o /boot/grub/grub.cfg&lt;br /&gt;
&lt;br /&gt;
デフォルトで、生成スクリプトは Arch Linux の[[カーネル]]のメニューエントリを自動的に設定に追加します。&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* [[カーネル]]をインストール/アンインストールした後は、上記の &#039;&#039;grub-mkconfig&#039;&#039; コマンドを再度実行する必要があります。&lt;br /&gt;
* 複数の GRUB エントリを管理するためのヒントとして、例えば {{Pkg|linux}} と {{Pkg|linux-lts}} の両方を使用している場合、[[GRUB/ヒントとテクニック#複数のエントリ]] を見てください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
他のオペレーティングシステムのエントリを自動的に追加する方法は [[#他の OS の検出]] を見てください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/grub.d/40_custom}} を編集して {{ic|/boot/grub/grub.cfg}} を再生成することで、追加のカスタムメニューエントリを追加することができます。または、{{ic|/boot/grub/custom.cfg}} を作成して、そこにカスタムのメニューエントリを追加することもできます。{{ic|/boot/grub/custom.cfg}} を編集した後に &#039;&#039;grub-mkconfig&#039;&#039; を再度実行する必要はありません。{{ic|/etc/grub.d/41_custom}} は必要な {{ic|source}} 文を設定ファイルに追加するからです。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|/etc/grub.d/40_custom}} は {{ic|/etc/grub.d/&#039;&#039;nn&#039;&#039;_custom}} を作成する際のテンプレートとして使うことができます。{{ic|&#039;&#039;nn&#039;&#039;}} の部分は優先順位で、スクリプトを実行する順番を決定します。スクリプトを実行する順番は GRUB ブートメニューエントリの配置を決定します。必要なスクリプトを確実に実行させるために、{{ic|&#039;&#039;nn&#039;&#039;}} は {{ic|06}} よりも大きくする必要があります。}}&lt;br /&gt;
&lt;br /&gt;
カスタムのメニューエントリの例は [[#ブートメニューエントリの例]] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== 他の OS の検出 ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;grub-mkconfig&#039;&#039; で、インストールされている他のシステムを検索して自動的にメニューに追加するには、 {{Pkg|os-prober}} パッケージを [[インストール]] して、他のシステムが起動するパーティションを[[マウント]]してください。その後、&#039;&#039;grub-mkconfig&#039;&#039; を再実行します。もし、{{ic|Warning: os-prober will not be executed to detect other bootable partitions}} と出力されたら、{{ic|/etc/default/grub}} を編集して次の行を追加/アンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
 GRUB_DISABLE_OS_PROBER=false&lt;br /&gt;
&lt;br /&gt;
その後、もう一度試してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 正確なマウントポイントは重要ではありません。&#039;&#039;os-prober&#039;&#039; は {{ic|mtab}} を読み込んで、起動可能なエントリを検索すべき場所を特定します。&lt;br /&gt;
* 他のオペレーティングシステムをエントリに含めるために、&#039;&#039;grub-mkconfig&#039;&#039; を実行するたびに対象のパーティションをマウントすることを忘れないでください。&lt;br /&gt;
* &#039;&#039;os-prober&#039;&#039; は、chroot 内で実行すると正しく動作しないかもしれません。そのような場合は、再起動してシステムに入り、再び試してください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|最後に選択したブートエントリを GRUB に記憶させたい場合もあるでしょう、[[GRUB/ヒントとテクニック#以前のエントリを思い出させる]] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
===== Windows =====&lt;br /&gt;
&lt;br /&gt;
UEFI モードでインストールされた Windows の場合、Windows Boot Manager ({{ic|bootmgfw.efi}}) を含んでいる [[EFI システムパーティション]]がマウントされていることを確認してください。root として {{ic|os-prober}} を実行すると、Windows のエントリを検出・生成します。&lt;br /&gt;
&lt;br /&gt;
BIOS モードでインストールされた Windows の場合、Windows &#039;&#039;システムパーティション&#039;&#039; をマウントしてください (そのパーティションの[[永続的なブロックデバイスの命名#by-label|ファイルシステムラベル]]は {{ic|System Reserved}} ({{ic|システムで予約済み}}) か {{ic|SYSTEM}} であるはずです)。root として {{ic|os-prober}} を実行すると、Windows のエントリを検出・生成します。&lt;br /&gt;
&lt;br /&gt;
{{Note|BIOS モードでインストールされた Windows の場合:&lt;br /&gt;
* NTFS パーティションはデフォルトの Linux ドライバでマウントすると、必ずしも検出されないかもしれません。GRUB が検出しない場合、[[NTFS-3G]] をインストールして再マウントしてみてください。&lt;br /&gt;
{{Out of date| Windows 7 以降、{{ic|bootmgr}} は[[Wikipedia:System partition and boot partition#Microsoft definition|システムパーティション]]内にあり、このパーティションは暗号化されていません。}}&lt;br /&gt;
* 暗号化された Windows パーティションは、マウントする前に暗号化を解除する必要があるかもしれません。BitLocker では、[[cryptsetup]] や {{AUR|dislocker}} で実行できます。これで {{Pkg|os-prober}} が正しいエントリを追加できるはずです。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== 追加引数 ====&lt;br /&gt;
&lt;br /&gt;
カスタムの追加引数を Linux イメージに渡すために、{{ic|/etc/default/grub}} で {{ic|GRUB_CMDLINE_LINUX}} と {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} 変数を設定することができます。これら2つは互いに追加され、標準のブートエントリを作成する際にカーネルに渡されます。&#039;&#039;recovery&#039;&#039; ブートエントリについては、{{ic|GRUB_CMDLINE_LINUX}} だけが生成時に使われます。&lt;br /&gt;
&lt;br /&gt;
両方を使う必要はありませんが、上手く使えば便利です。例えば、{{ic|1=GRUB_CMDLINE_LINUX_DEFAULT=&amp;quot;resume=UUID=&#039;&#039;uuid-of-swap-partition&#039;&#039; quiet&amp;quot;}} ({{ic|&#039;&#039;uuid-of-swap-partition&#039;&#039;}} は [[ハイバネート]]後に復帰できるようにするためのスワップパーティションの [[UUID]])。この例の設定では、(ハイバネートからの) 復帰をせず、メニューエントリからの起動中にカーネルメッセージを非表示にする {{ic|quiet}} も無いリカバリブートエントリを生成します。しかし、他の (標準の) メニューエントリはこれらのオプションを持ちます。&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、&#039;&#039;grub-mkconfig&#039;&#039; はルートファイルシステムの [[UUID]] を検出して、設定にそれを反映します。これを無効化するには、{{ic|1=GRUB_DISABLE_LINUX_UUID=true}} をアンコメントしてください。&lt;br /&gt;
&lt;br /&gt;
GRUB リカバリエントリを生成するには、{{ic|/etc/default/grub}} 内の {{ic|GRUB_DISABLE_RECOVERY}} が {{ic|true}} に設定されていない必要があります。&lt;br /&gt;
&lt;br /&gt;
詳細は [[カーネルパラメータ]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
==== トップレベルのメニューエントリを設定する ====&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、&#039;&#039;grub-mkconfig&#039;&#039; は、含まれているカーネルを {{ic|sort -V}} を使ってソートし、それらの中の最初のカーネルをトップレベルのエントリとして使用します。すなわち、例えば {{ic|/boot/vmlinuz-linux-lts}} は {{ic|/boot/vmlinuz-linux}} より前に来るので、{{Pkg|linux-lts}} と {{Pkg|linux}} の両方がインストールされている場合、LTS カーネルがトップレベルのメニューエントリとなります。これは、望ましくない場合があるでしょう。この挙動は、{{ic|/etc/default/grub}} 内の {{ic|1=GRUB_TOP_LEVEL=&#039;&#039;path_to_kernel&#039;&#039;&amp;quot;}} を指定することでオーバーライドすることができます。例えば、標準のカーネルをトップレベルのメニューエントリにするには、{{ic|1=GRUB_TOP_LEVEL=&amp;quot;/boot/vmlinuz-linux&amp;quot;}} を使用します。&lt;br /&gt;
&lt;br /&gt;
==== LVM ====&lt;br /&gt;
&lt;br /&gt;
{{Warning|GRUB はシンプロビジョニングされた論理ボリュームをサポートしていません。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot}} や {{ic|/}} に [[LVM]] を使用している場合、{{ic|lvm}} モジュールをプリロードするようにしてください:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/default/grub|2=&lt;br /&gt;
GRUB_PRELOAD_MODULES=&amp;quot;... lvm&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== RAID ====&lt;br /&gt;
&lt;br /&gt;
GRUB は [[RAID]] ボリュームの便利な管理手段を提供します。ボリュームをネイティブに管理できるようにするために、GRUB モジュール {{ic|mdraid09}} か {{ic|mdraid1x}} をロードする必要があります:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/default/grub|2=&lt;br /&gt;
GRUB_PRELOAD_MODULES=&amp;quot;... mdraid09 mdraid1x&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
例えば、{{ic|/dev/md0}} は以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 set root=(md/0)&lt;br /&gt;
&lt;br /&gt;
パーティショニングされた RAID ボリューム (例: {{ic|/dev/md0p1}}) は以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 set root=(md/0,1)&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot}} パーティションに RAID1 を使用している場合 (あるいは、{{ic|/boot}} が RAID1 ルートパーティション上に存在する場合) に GRUB をインストールするには、BIOS システム上では、両方のドライブ上で &#039;&#039;grub-install&#039;&#039; を実行してください。例:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --target=i386-pc --debug /dev/sda&lt;br /&gt;
 # grub-install --target=i386-pc --debug /dev/sdb&lt;br /&gt;
&lt;br /&gt;
ここでは、{{ic|/boot}} が存在する RAID1 アレイが、{{ic|/dev/sda}} と {{ic|/dev/sdb}} に存在するとしています。&lt;br /&gt;
&lt;br /&gt;
{{Note|GRUB は [[Btrfs]] RAID 0/1/10 からの起動をサポートしていますが、RAID 5/6 はサポートしていません。RAID 5/6 に対しては [[mdadm]] を使用することができます (mdadm は GRUB によってサポートされています)。&lt;br /&gt;
&lt;br /&gt;
==== 暗号化された /boot ====&lt;br /&gt;
&lt;br /&gt;
GRUB には暗号化された {{ic|/boot}} を起動するための特別なサポートがあります。これは、[[LUKS]] ブロックデバイスをアンロックして、GRUB の設定を読み込み、[[initramfs]] と [[カーネル]] をそのブロックデバイスからロードすることにより行われます。このオプションは[[dm-crypt/特記事項#暗号化されていない boot パーティションのセキュア化|暗号化されていないブートパーティション]]の問題を解決することを試みます。&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|/boot}} を別のパーティションに保存する必要は&#039;&#039;&#039;ありません&#039;&#039;&#039;。システムのルート {{ic|/}} ディレクトリツリー下に保存することもできます。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|GRUB 2.12rc1 の LUKS2 に対するサポートは限られています。詳細は [[#LUKS2]] セクションを見てください。}}&lt;br /&gt;
&lt;br /&gt;
この機能を有効化するには、{{ic|/boot}} が存在するパーティションを通常通り [[LUKS]] を使って暗号化してください。そして、以下のオプションを {{ic|/etc/default/grub}} に追加してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/default/grub|output=&lt;br /&gt;
GRUB_ENABLE_CRYPTODISK=y&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
このオプションは grub-install により使用され、grub の {{ic|core.img}} を生成します。&lt;br /&gt;
&lt;br /&gt;
このオプションを追加した後やパーティションを暗号化した後に [[#インストール|GRUB を(再)インストール]]することを忘れないでください。&lt;br /&gt;
&lt;br /&gt;
これだけだと、パスフレーズを2回入力させられることになります。1回目は起動の初期段階で GRUB が {{ic|/boot}} マウントポイントをアンロックするためのもので、2回目は iniramfs により実装されている root ファイルシステムそれ自体をアンロックするためのものです。[[dm-crypt/デバイスの暗号化#キーファイルを initramfs に埋め込む|キーファイル]]を使えば、これを防げます。&lt;br /&gt;
&lt;br /&gt;
{{Warning|&lt;br /&gt;
* [[#メイン設定ファイルの生成|メインの設定ファイルを生成]]したいときは、{{ic|/boot}} がマウントされていることを確認してください。&lt;br /&gt;
* {{ic|/boot}} マウントポイントが関与するシステムアップデートを行うために、アップデートする前に、暗号化された {{ic|/boot}} がアンロックされていて、かつ、マウントされていることを確認してください。{{ic|/boot}} パーティションが別にある場合、[[crypttab]] を[[dm-crypt/デバイスの暗号化#キーファイルを initramfs に埋め込む|キーファイル]]と一緒に使うことでこれを自動化できます。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 特殊なキーマップを使用している場合、デフォルトの GRUB 環境にはそのようなキーマップが存在しません。このことは、[[LUKS]] ブロックデバイスをアンロックするためにどのようにしてパスフレーズを入力するかに関連しています。[[GRUB/ヒントとテクニック#初期ブートにおけるコアイメージの手動設定]] を参照してください。&lt;br /&gt;
* パスワードの入力画面が表示されない問題が発生した場合 (cryptouuid や cryptodisk、&amp;quot;device not found&amp;quot; に関係するエラー)、{{ic|1=--modules=&amp;quot;part_gpt part_msdos&amp;quot;}} を {{ic|grub-install}} コマンドの最後に付け加えて GRUB を再インストールしてみてください。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|1=[https://bbs.archlinux.org/viewtopic.php?id=234607 pacman フック] を使用すれば、{{ic|/boot}} 内のファイルにアクセスする必要のあるアップグレード時に {{ic|/boot}} を自動マウントできます。}}&lt;br /&gt;
&lt;br /&gt;
===== LUKS2 =====&lt;br /&gt;
{{Out of date|1=Grub 2.14rc1はArgon2iとArgon2id PBKDFsをサポートします。  [https://cgit.git.savannah.gnu.org/cgit/grub.git/commit/?id=6052fc2cf684dffa507a9d81f9f8b4cbe170e6b6 アップストリームのコミットを参照。]|2=:en:Talk:GRUB#grub_2:2.14rc1_added_support_for_LUKS2_+_argon2_encryption.}}&lt;br /&gt;
&lt;br /&gt;
[[#インストール]] 章で説明されているように、{{ic|grub-install}} を使用して LUKS サポートありでブータブルな GRUB イメージを作成してください。ただし、いくつかの注意点があります:&lt;br /&gt;
&lt;br /&gt;
* LUKS2 の初期サポートが GRUB 2.06 で追加されましたが、いくつかの制限があります。これらの制限は、GRUB 2.12rc1 で部分的にのみ対処されています。[https://savannah.gnu.org/bugs/?55093 GRUB bug #55093] を参照してください。&lt;br /&gt;
* GRUB 2.12rc1 から、{{ic|grub-install}} で LUKS2 のロックを解除するためのコアイメージを作成できるようになりました。しかし、PBKDF2 のみがサポートされており、Argon2 はサポートされていません。&lt;br /&gt;
* Argon2id (&#039;&#039;cryptsetup&#039;&#039; デフォルト) と Argon2i PBKDF はサポートされていません ([https://savannah.gnu.org/bugs/?59409 GRUB bug #59409])。PBKDF2 のみのサポートです。&lt;br /&gt;
&lt;br /&gt;
:{{Tip|LUKS2 と Argon のサポートパッチが施された {{AUR|grub-improved-luks2-git}} を使用できます。このパッケージの Argon サポートには UEFI システムが必要であることに注意してください。[https://aur.archlinux.org/packages/grub-improved-luks2-git#comment-911119]}}&lt;br /&gt;
&lt;br /&gt;
{{Note|GRUB 2.12rc1 より前では、カスタムの GRUB 設定ファイルを使って {{ic|grub-mkimage}} コマンドで EFI バイナリを手動で作成する必要がありました。(例えば、{{ic|/boot/grub/grub-pre.cfg}} に {{ic|cryptomount}}、{{ic|insmod normal}}、そして {{ic|normal}} への呼び出しを追加する必要がありました。) しかし、これはもはや必要なくなり、{{ic|grub-install}} だけで十分です。ただし、2.06 からアップグレードした後に少なくとも一回は {{ic|grub-mkconfig -o /boot/grub/grub.cfg}} を実行する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
起動中に無効なパスフレーズを入力して GRUB のレスキューシェルに入った場合、{{ic|cryptomount -a}} を実行してすべての (できれば1つだけ) 暗号化されたパーティションをマウントしてみてください。または、{{ic|cryptomount -u $crypto_uuid}} を使用して特定のパーティションをマウントしてください。その後、通常通り {{ic|insmod normal}} と {{ic|normal}} で進めてください。&lt;br /&gt;
&lt;br /&gt;
正しいパスフレーズを入力したが {{ic|Invalid passphrase}} というエラーにより即座に戻される場合、正しい暗号化モジュールを指定していることを確認してください。{{ic|cryptsetup luksDump &#039;&#039;/dev/nvme0n1p2&#039;&#039;}} を使って、ハッシュ関数 (SHA-256, SHA-512) とインストールされているモジュール ({{ic|gcry_sha256}}, {{ic|gcry_sha512}}) が一致するか、PBKDF アルゴリズムが pbkdf2 であるかを確認してください。{{ic|cryptsetup luksConvertKey --hash &#039;&#039;sha256&#039;&#039; --pbkdf pbkdf2 &#039;&#039;/dev/nvme0n1p2&#039;&#039;}} を使えば、ハッシュと PBDKDF アルゴリズムを今あるキーに対して変更することができます。通常の状況では、パスフレーズが処理されるのに数秒掛かるはずです。&lt;br /&gt;
&lt;br /&gt;
=== grub.cfg のカスタマイズ ===&lt;br /&gt;
&lt;br /&gt;
このセクションでは &#039;&#039;grub-mkconfig&#039;&#039; に頼らずに {{ic|/boot/grub/grub.cfg}} 内にある GRUB のブートエントリーを手動で作成する方法について言及します。&lt;br /&gt;
&lt;br /&gt;
基本的な GRUB の設定ファイルでは以下のオプションが使用されます。&lt;br /&gt;
&lt;br /&gt;
* {{ic|(hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)}} はディスク &#039;&#039;X&#039;&#039; 上に存在するパーティション &#039;&#039;Y&#039;&#039; を表します。パーティション番号は 1 から始まり、ディスク番号は 0 から始まります。&lt;br /&gt;
* {{ic|1=set default=&#039;&#039;N&#039;&#039;}} は、ユーザーが操作せずにタイムアウトした後に選択されるデフォルトのブートエントリを表します。&lt;br /&gt;
* {{ic|1=set timeout=&#039;&#039;M&#039;&#039;}} は、ユーザーの選択が無かった場合に &#039;&#039;M&#039;&#039; 秒の間待ってデフォルトのブートエントリが起動されることを表します。&lt;br /&gt;
* {{ic|&amp;lt;nowiki&amp;gt;menuentry &amp;quot;title&amp;quot; {entry options}&amp;lt;/nowiki&amp;gt;}} は {{ic|title}} というタイトルのブートエントリを表します。&lt;br /&gt;
* {{ic|1=set root=(hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)}} はカーネルと GRUB モジュールが格納されているブートパーティションを表します。(boot は分離されたパーティションである必要はなく、単に &amp;quot;root&amp;quot; パーティション ({{ic|/}}) 下にあるディレクトリを指定しても構いません)&lt;br /&gt;
&lt;br /&gt;
==== LoaderDevicePartUUID ====&lt;br /&gt;
&lt;br /&gt;
{{man|8|systemd-gpt-auto-generator}} が [[systemd#GPT パーティションの自動マウント|GPT パーティションの自動マウント]]をするために必要な {{ic|LoaderDevicePartUUID}} UEFI 変数を GRUB で設定するには、{{ic|grub.cfg}} で {{ic|bli}} モジュールをロードしてください:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ &amp;quot;$grub_platform&amp;quot; = &amp;quot;efi&amp;quot; ]; then&lt;br /&gt;
  insmod bli&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ブートメニューエントリの例 ====&lt;br /&gt;
&lt;br /&gt;
{{Tip|以下のブートエントリは &#039;&#039;grub-mkconfig&#039;&#039; によって生成された {{ic|/boot/grub/grub.cfg}} でも使用可能です。以下を {{ic|/etc/grub.d/40_custom}} に追加して[[#メイン設定ファイルの生成|メインの設定ファイルを再生成]]するか、あるいは以下を直接 {{ic|/boot/grub/custom.cfg}} に追加してください。}}&lt;br /&gt;
&lt;br /&gt;
複数の GRUB エントリーを管理するヒントとして、例えば {{Pkg|linux}} と {{Pkg|linux-lts}} カーネルを同時使用している場合は [[GRUB/ヒントとテクニック#複数のエントリ]] を見てください。&lt;br /&gt;
&lt;br /&gt;
[[Archiso]] と [https://archboot.com Archboot] のブートメニューエントリについては [[マルチブート USB ドライブ#ブートエントリ]] を見てください。&lt;br /&gt;
&lt;br /&gt;
===== GRUB コマンド =====&lt;br /&gt;
&lt;br /&gt;
====== &amp;quot;Shutdown&amp;quot; メニューエントリ ======&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
menuentry &amp;quot;System shutdown&amp;quot; {&lt;br /&gt;
	echo &amp;quot;System shutting down...&amp;quot;&lt;br /&gt;
	halt&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====== &amp;quot;Restart&amp;quot; メニューエントリ ======&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
menuentry &amp;quot;System restart&amp;quot; {&lt;br /&gt;
	echo &amp;quot;System rebooting...&amp;quot;&lt;br /&gt;
	reboot&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====== &amp;quot;UEFI Firmware Settings&amp;quot; メニューエントリ ======&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ ${grub_platform} == &amp;quot;efi&amp;quot; ]; then&lt;br /&gt;
	menuentry &#039;UEFI Firmware Settings&#039; --id &#039;uefi-firmware&#039; {&lt;br /&gt;
		fwsetup&lt;br /&gt;
	}&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== EFI バイナリ =====&lt;br /&gt;
&lt;br /&gt;
UEFI モードで起動している場合、GRUB は他の EFI バイナリをチェインロードできます。&lt;br /&gt;
&lt;br /&gt;
{{Tip|1=GRUB が UEFI モードで起動している時にだけメニューエントリを表示するには、メニューエントリを {{ic|if}} 文で囲ってください:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ ${grub_platform} == &amp;quot;efi&amp;quot; ]; then&lt;br /&gt;
	&#039;&#039;UEFI のときだけ表示するメニューエントリをここへ&#039;&#039;&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====== UEFI シェル ======&lt;br /&gt;
&lt;br /&gt;
[[EFI システムパーティション]]直下に [[Unified Extensible Firmware Interface#UEFI シェル|UEFI シェル]] を置いてメニューエントリに追加すれば、UEFI シェルを起動できます:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;UEFI Shell&amp;quot; {&lt;br /&gt;
	insmod fat&lt;br /&gt;
	insmod chain&lt;br /&gt;
	search --no-floppy --set=root --file /shellx64.efi&lt;br /&gt;
	chainloader /shellx64.efi&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====== gdisk ======&lt;br /&gt;
&lt;br /&gt;
[[gdisk#gdisk EFI アプリケーション|gdisk EFI アプリケーション]]をダウンロードして {{ic|gdisk_x64.efi}} を {{ic|&#039;&#039;esp&#039;&#039;/EFI/tools/}} にコピーしてください。&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;gdisk&amp;quot; {&lt;br /&gt;
	insmod fat&lt;br /&gt;
	insmod chain&lt;br /&gt;
	search --no-floppy --set=root --file /EFI/tools/gdisk_x64.efi&lt;br /&gt;
	chainloader /EFI/tools/gdisk_x64.efi&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====== ユニファイドカーネルイメージをチェインロード ======&lt;br /&gt;
&lt;br /&gt;
[[セキュアブート]]に従って生成したか他の方法によって生成した [[Unified カーネルイメージ]]を持っているならば、それをブートメニューに追加できます。例えば:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;Arch Linux&amp;quot; {&lt;br /&gt;
	insmod fat&lt;br /&gt;
	insmod chain&lt;br /&gt;
	search --no-floppy --set=root --fs-uuid &#039;&#039;FILESYSTEM_UUID&#039;&#039;&lt;br /&gt;
	chainloader /EFI/Linux/arch-linux.efi&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== デュアルブート =====&lt;br /&gt;
&lt;br /&gt;
====== GNU/Linux ======&lt;br /&gt;
&lt;br /&gt;
もう一つのディストリビューションが {{ic|sda2}} パーティションにあると仮定します:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;Other Linux&amp;quot; {&lt;br /&gt;
	set root=(hd0,2)&lt;br /&gt;
	linux /boot/vmlinuz (必要であれば追加のオプションをここへ)&lt;br /&gt;
	initrd /boot/initrd.img (カーネルが必要とする/使用するイメージはここへ)&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
代わりに UUID やファイルシステムのラベルで GRUB に正しいパーティションを探させるには:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;Other Linux&amp;quot; {&lt;br /&gt;
        # UUID が 763A-9CB6 だとすると&lt;br /&gt;
	search --no-floppy --set=root --fs-uuid 763A-9CB6&lt;br /&gt;
&lt;br /&gt;
        # OTHER_LINUX というラベルで探す (パーティションラベルが曖昧でないことを確認してください)&lt;br /&gt;
        #search --no-floppy --set=root --label OTHER_LINUX&lt;br /&gt;
&lt;br /&gt;
	linux /boot/vmlinuz (必要であれば追加のオプションをここへ。例えば、root=UUID=763A-9CB6)&lt;br /&gt;
	initrd /boot/initrd.img (カーネルが必要とする/使用するイメージはここへ)&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
もう一つのディストリビューションが、インストール済みの GRUB と {{ic|grub.cfg}}、カーネル、initramfs のある有効な {{ic|/boot}} フォルダーをすでに持っているならば、GRUB にその {{ic|grub.cfg}} ファイルを起動中にその場で読み込ませることができます。例えば、{{ic|hd0}} と4番目の GPT パーティションの場合:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
menuentry &amp;quot;configfile hd0,gpt4&amp;quot;  {&lt;br /&gt;
        insmod part_gpt&lt;br /&gt;
        insmod btrfs&lt;br /&gt;
        insmod ext2&lt;br /&gt;
        set root=&#039;hd0,gpt4&#039;&lt;br /&gt;
        configfile /boot/grub/grub.cfg&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
このエントリを選ぶと GRUB は他のボリュームからその {{ic|grub.cfg}} を読み込み、メニューを表示させます。{{ic|configfile}} ファイル内のコマンドによって環境変数が変更されても、{{ic|configfile}} から返ると環境変数の変更はすべて破棄されます。始めの GRUB メニューに戻る場合は {{ic|Esc}} を押してください。&lt;br /&gt;
&lt;br /&gt;
====== UEFI/GPT モードでインストールされた Windows ======&lt;br /&gt;
&lt;br /&gt;
このモードではメニューエントリが選択されると Windows ブートローダーの場所を発見し、GRUB のあとにブートローダーをチェインロードします。ここでするべきことは主に Windows の [[EFI システムパーティション]]を見つけて、そのパーティションから Windows のブートローダーを実行することです。&lt;br /&gt;
&lt;br /&gt;
{{Note|このメニューエントリは、UEFI ブートモードで実行中であり、かつ Windows のビット数が UEFI のビット数と一致する場合にのみ機能します。BIOS モードでインストールされた GRUB では機能しません。さらなる情報については [[Windows と Arch のデュアルブート#Windows の UEFI と BIOS の制限]]と [[Windows と Arch のデュアルブート#ブートローダーの UEFI と BIOS の制限]] をご覧ください。}}&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ &amp;quot;${grub_platform}&amp;quot; == &amp;quot;efi&amp;quot; ]; then&lt;br /&gt;
	menuentry &amp;quot;Microsoft Windows Vista/7/8/8.1 UEFI/GPT&amp;quot; {&lt;br /&gt;
		insmod part_gpt&lt;br /&gt;
		insmod fat&lt;br /&gt;
		insmod chain&lt;br /&gt;
		search --no-floppy --fs-uuid --set=root $hints_string $fs_uuid&lt;br /&gt;
		chainloader /EFI/Microsoft/Boot/bootmgfw.efi&lt;br /&gt;
	}&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|$hints_string}} と {{ic|$fs_uuid}} は以下の2つのコマンドで得られます。&lt;br /&gt;
&lt;br /&gt;
{{ic|$fs_uuid}} コマンドは EFI システムパーティションの UUID を割り出します。&lt;br /&gt;
&lt;br /&gt;
{{hc|1=# grub-probe --target=fs_uuid &#039;&#039;esp&#039;&#039;/EFI/Microsoft/Boot/bootmgfw.efi|2=&lt;br /&gt;
1ce5-7f28&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
代わりに、{{ic|lsblk --fs}} を実行して、EFI システムパーティションの UUID をそこから読み込むこともできます。&lt;br /&gt;
&lt;br /&gt;
{{ic|$hints_string}} コマンドは EFI システムパーティションの場所を割り出します。以下の例ではハードドライブ0にあります:&lt;br /&gt;
&lt;br /&gt;
{{hc|1=# grub-probe --target=hints_string &#039;&#039;esp&#039;&#039;/EFI/Microsoft/Boot/bootmgfw.efi|2=&lt;br /&gt;
 --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
以上の2つのコマンドでは Windows が使用する ESP が {{ic|&#039;&#039;esp&#039;&#039;}} にマウントされていると仮定しています。Windows である以上、Windows の EFI ファイルへのパスが異なる場合があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
====== BIOS/MBR モードでインストールされた Windows ======&lt;br /&gt;
&lt;br /&gt;
{{Note|GRUB は {{ic|bootmgr}} ディレクトリの直接ブートをサポートしています。Windows を BIOS/MBR で起動するためにパーティションブートセクターを [https://www.gnu.org/software/grub/manual/grub.html#Chain_002dloading チェインロード]する必要はもはやありません。}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|{{ic|/bootmgr}} が存在する場所は &#039;&#039;&#039;システムパーティション&#039;&#039;&#039; であり、&amp;quot;本当&amp;quot;の Windows パーティション (通常、{{ic|C:}}) ではありません。システムパーティションの[[永続的なブロックデバイスの命名#by-label|ファイルシステムラベル]]は {{ic|System Reserved}} ({{ic|システムで予約済み}}) か {{ic|SYSTEM}} であり、サイズは約100~549 MiB 程度です。さらなる情報については [[Wikipedia:System partition and boot partition]] をご覧ください。}}&lt;br /&gt;
&lt;br /&gt;
このセクションを通して Windows のパーティションは {{ic|/dev/sda1}} にあると仮定します。パーティションが異なる場合は {{ic|hd0,msdos1}} という記述をすべて変更してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|以下のメニューエントリは BIOS ブートモードでのみ機能します。UEFI モードでインストールされた GRUB では機能しません。[[Windows と Arch のデュアルブート#Windows の UEFI と BIOS の制限]] と [[Windows と Arch のデュアルブート#ブートローダーの UEFI と BIOS の制限]] をご覧ください。}}&lt;br /&gt;
&lt;br /&gt;
両方の例で {{ic|&#039;&#039;XXXX-XXXX&#039;&#039;}} はファイルシステムの UUID を表しています。UUID は {{ic|lsblk --fs}} コマンドを使って得られます。実際の UUID に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
Windows Vista/7/8/8.1/10 では:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ &amp;quot;${grub_platform}&amp;quot; == &amp;quot;pc&amp;quot; ]; then&lt;br /&gt;
	menuentry &amp;quot;Microsoft Windows Vista/7/8/8.1/10 BIOS/MBR&amp;quot; {&lt;br /&gt;
		insmod part_msdos&lt;br /&gt;
		insmod ntfs&lt;br /&gt;
		insmod ntldr&lt;br /&gt;
		search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 &#039;&#039;XXXX-XXXX&#039;&#039;&lt;br /&gt;
		ntldr /bootmgr&lt;br /&gt;
	}&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Windows XP では:&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
if [ &amp;quot;${grub_platform}&amp;quot; == &amp;quot;pc&amp;quot; ]; then&lt;br /&gt;
	menuentry &amp;quot;Microsoft Windows XP&amp;quot; {&lt;br /&gt;
		insmod part_msdos&lt;br /&gt;
		insmod ntfs&lt;br /&gt;
		insmod ntldr&lt;br /&gt;
		search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 &#039;&#039;XXXX-XXXX&#039;&#039;&lt;br /&gt;
		ntldr /ntldr&lt;br /&gt;
	}&lt;br /&gt;
fi&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Note|GRUB をインストールすると Windows 8 が汚染される場合があります。この場合、{{ic|\boot\bcd}} (エラーコード {{ic|0xc000000f}})のエラーにより Windows が起動できなくなります。これを直すには Windows 回復コンソール(インストールディスク上にある {{ic|cmd.exe}})を開いて、以下を実行してください:&lt;br /&gt;
&lt;br /&gt;
 X:\&amp;gt; bootrec.exe /fixboot&lt;br /&gt;
 X:\&amp;gt; bootrec.exe /RebuildBcd&lt;br /&gt;
&lt;br /&gt;
{{ic|bootrec.exe /Fixmbr}} を&#039;&#039;&#039;実行しない&#039;&#039;&#039;でください。GRUB が吹き飛びます。&lt;br /&gt;
あるいは、トラブルシューティングメニューにあるスタートアップ修復機能を使用できます。これは GRUB を吹き飛ばしませんし、ほとんどのエラーを修復します。&lt;br /&gt;
また、対象のハードドライブとブート可能ドライブの両方&#039;&#039;&#039;だけ&#039;&#039;&#039;を接続しておくほうが良いでしょう。通常、他のデバイスが接続されていると Windows はブート情報の修復に失敗します。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== ラベルを使う =====&lt;br /&gt;
&lt;br /&gt;
{{ic|search}} コマンドに対して {{ic|--label}} オプションを使えば、ファイルシステムに付けられた人間が読みやすい文字列であるラベルを使うことができます。まずはじめに、[[永続的なブロックデバイスの命名#by-label|ファイルシステムにラベルがあることを確認]]してください。&lt;br /&gt;
&lt;br /&gt;
そして、ラベルを使ってエントリを追加してください。例えば:&lt;br /&gt;
&lt;br /&gt;
 menuentry &amp;quot;Arch Linux, session texte&amp;quot; {&lt;br /&gt;
   search --label --set=root archroot&lt;br /&gt;
   linux /boot/vmlinuz-linux root=/dev/disk/by-label/archroot ro&lt;br /&gt;
   initrd /boot/initramfs-linux.img&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== コマンドシェルを使う ==&lt;br /&gt;
&lt;br /&gt;
GRUB のモジュールを全て保存するには MBR は小さすぎるので、メニューと基本的なコマンドだけが MBR に入っています。GRUB の機能のほとんどは {{ic|/boot/grub}} 内のモジュールとして存在し、必要に応じて挿入されます。エラー状態になると (例: パーティションレイアウトが変更された場合)、GRUB が起動に失敗する場合があります。このとき、コマンドシェルが表示されます。&lt;br /&gt;
&lt;br /&gt;
GRUB は複数のシェル/プロンプトを提供しています。メニューの読込に問題があってもブートローダがディスクを見つけられるときは、おそらく &amp;quot;normal&amp;quot; シェルに落とされるでしょう:&lt;br /&gt;
&lt;br /&gt;
 grub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
さらに深刻な問題 (例: GRUB が必要なファイルを見つけられないなど) があるときは、代わりに &amp;quot;rescue&amp;quot; シェルに落とされるでしょう:&lt;br /&gt;
&lt;br /&gt;
 grub rescue&amp;gt;&lt;br /&gt;
&lt;br /&gt;
rescue シェルは通常のシェルの制限されたサブセットで、使える機能が非常に少なくなっています。rescue シェルが出てきた時は、まず &amp;quot;normal&amp;quot; モジュールの挿入を試して、&amp;quot;normal&amp;quot; シェルを起動してみて下さい:&lt;br /&gt;
&lt;br /&gt;
 grub rescue&amp;gt; set prefix=(hdX,Y)/boot/grub&lt;br /&gt;
 grub rescue&amp;gt; insmod (hdX,Y)/boot/grub/i386-pc/normal.mod&lt;br /&gt;
 rescue:grub&amp;gt; normal&lt;br /&gt;
&lt;br /&gt;
=== ページャのサポート ===&lt;br /&gt;
&lt;br /&gt;
GRUB はページャをサポートしており長い出力をするコマンド ({{ic|help}} コマンドなど) を読むことができます。これは通常のシェルモードでしか動作せずレスキューモードでは使えません。ページャを有効にするには、GRUB コマンドシェルで次を入力して下さい:&lt;br /&gt;
&lt;br /&gt;
 sh:grub&amp;gt; set pager=1&lt;br /&gt;
&lt;br /&gt;
=== コマンドシェル環境を使ってオペレーティングシステムを起動する ===&lt;br /&gt;
&lt;br /&gt;
 grub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRUB のコマンドシェル環境を使ってオペレーティングシステムを起動することが可能です。&lt;br /&gt;
通常は&#039;&#039;&#039;チェインロード&#039;&#039;&#039;を使ってドライブやパーティションから Windows / Linux を起動するということが考えられます。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;チェインロード&#039;&#039;は現在のブートローダから別のブートローダをロードすることを意味します。&lt;br /&gt;
&lt;br /&gt;
他のブートローダーは、パーティショニングされたディスク (MBR) の先頭や、パーティションレスディスク (VBR) のパーティションの先頭に組み込んだり、あるいは UEFI の場合は EFI バイナリとして組み込むことができます。&lt;br /&gt;
&lt;br /&gt;
==== パーティションの VBR をチェインロード ====&lt;br /&gt;
&lt;br /&gt;
 set root=(hdX,Y)&lt;br /&gt;
 chainloader +1&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
X=0,1,2...&lt;br /&gt;
Y=1,2,3...&lt;br /&gt;
&lt;br /&gt;
例えば最初のハードディスクの最初のパーティションに保存された Windows をチェインロードするには:&lt;br /&gt;
&lt;br /&gt;
 set root=(hd0,1)&lt;br /&gt;
 chainloader +1&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
同じようにパーティションにインストールされた GRUB をチェインロードすることもできます。&lt;br /&gt;
&lt;br /&gt;
==== ディスクの MBR やパーティションレスディスクの VBR をチェインロード ====&lt;br /&gt;
&lt;br /&gt;
 set root=hdX&lt;br /&gt;
 chainloader +1&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
==== UEFI モードでインストールされた Windows/Linux のチェインロード ====&lt;br /&gt;
&lt;br /&gt;
 insmod fat&lt;br /&gt;
 set root=(hd0,gpt4)&lt;br /&gt;
 chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
{{ic|insmod fat}} は、EFI システムパーティション上の Windows ブートローダーにアクセするために、FAT ファイルシステムモジュールをロードするために使用されます。&lt;br /&gt;
{{ic|(hd0,gpt4)}} (すなわち {{ic|/dev/sda4}}) は、この例における EFI システムパーティションです。&lt;br /&gt;
{{ic|chainloader}} 行のエントリは、チェインロードすべき &#039;&#039;.efi&#039;&#039; ファイルへのパスを指定しています。&lt;br /&gt;
&lt;br /&gt;
==== 通常のロード ====&lt;br /&gt;
&lt;br /&gt;
[[#rescue コンソールを使う]] の例を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== rescue コンソールを使う ===&lt;br /&gt;
&lt;br /&gt;
まず [[#コマンドシェルを使う]] を見て下さい。標準シェルを有効にできない場合、ライブ CD や他のレスキューディスクを使って起動し、設定のエラーを直して GRUB を再インストールという方法があります。ただし、そのようなブートディスクはいつも使えるというわけではありません (もしくは必要ありません); レスキューコンソールは驚くほど堅牢です。&lt;br /&gt;
&lt;br /&gt;
GRUB rescue で利用できるコマンドには {{ic|insmod}}、{{ic|ls}}、{{ic|set}}、{{ic|unset}} があります。この例では {{ic|set}} と {{ic|insmod}} を使います。{{ic|set}} は変数を変更し {{ic|insmod}} は新しいモジュールを挿入して機能を追加します。&lt;br /&gt;
&lt;br /&gt;
始める前に、ユーザーは自分の {{ic|/boot}} パーティションの位置を知っていなければなりません (分割パーティションなのか、root 下のサブディレクトリなのか):&lt;br /&gt;
&lt;br /&gt;
 grub rescue&amp;gt; set prefix=(hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)/boot/grub&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;X&#039;&#039;}} は物理ドライブ番号、{{ic|&#039;&#039;Y&#039;&#039;}} はパーティション番号に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
{{Note|boot パーティションを分割している場合、パスから {{ic|/boot}} を省いて下さい (つまり、{{ic|1=set prefix=(hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)/grub}} と入力する)。}}&lt;br /&gt;
&lt;br /&gt;
コンソールの機能を拡張するために、{{ic|linux}} モジュールを挿入します:&lt;br /&gt;
&lt;br /&gt;
 grub rescue&amp;gt; insmod i386-pc/linux.mod&lt;br /&gt;
&lt;br /&gt;
もしくは、単純に:&lt;br /&gt;
&lt;br /&gt;
 grub rescue&amp;gt; insmod linux&lt;br /&gt;
&lt;br /&gt;
これで、より親しみのあるであろう {{ic|linux}} と {{ic|initrd}} のコマンドが使えます。&lt;br /&gt;
&lt;br /&gt;
例えば、Arch Linux を起動する場合:&lt;br /&gt;
&lt;br /&gt;
 set root=(hd0,5)&lt;br /&gt;
 linux /boot/vmlinuz-linux root=/dev/sda5&lt;br /&gt;
 initrd /boot/initramfs-linux.img&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
boot パーティションを分割している (例えば、UEFI を使用している場合など) なら、行を適宜変更する必要があります:&lt;br /&gt;
&lt;br /&gt;
{{Note|boot は別のパーティションであり、ルートパーティションの一部ではないので、上の prefix 変数と同じような形式で boot パーティションを手動で指定する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
 set root=(hd0,5)&lt;br /&gt;
 linux (hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)/vmlinuz-linux root=/dev/sda6&lt;br /&gt;
 initrd (hd&#039;&#039;X&#039;&#039;,&#039;&#039;Y&#039;&#039;)/initramfs-linux.img&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
{{Note|{{ic|linux}} コマンドの実行中に {{ic|error: premature end of file /YOUR_KERNEL_NAME}} と表示される場合は、代わりに {{ic|linux16}} を使ってみて下さい。}}&lt;br /&gt;
&lt;br /&gt;
Arch Linux 環境のブートに成功したら、必要に応じて {{ic|grub.cfg}} を修正し GRUB を再インストールすることができます。&lt;br /&gt;
&lt;br /&gt;
GRUB を再インストールして問題を完全に修正するには、必要応じて {{ic|/dev/sda}} を変更してください。詳しくは [[#インストール]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
== GRUB を消去 ==&lt;br /&gt;
&lt;br /&gt;
=== UEFI システム ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;grub&#039;&#039; を削除する前に、他のブートローダがインストールされていて、GRUB の後を引き継ぐように設定されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|$ efibootmgr|&lt;br /&gt;
BootOrder: 0003,0001,0000,0002&lt;br /&gt;
Boot0000* Windows Boot Manager  HD(2,GPT,4dabbedf-191b-4432-bc09-8bcbd1d7dabf,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)&lt;br /&gt;
Boot0001* GRUB  HD(2,GPT,4dabbedf-191b-4432-bc09-8bcbd1d7dabf,0x109000,0x32000)/File(\EFI\GRUB\grubx64.efi)&lt;br /&gt;
Boot0002* Linux-Firmware-Updater        HD(2,GPT,5dabbedf-191b-4432-bc09-8bcbd1d7dabf,0x109000,0x32000)/File(\EFI\arch\fwupdx64.efi)&lt;br /&gt;
Boot0003* Linux Boot Manager    HD(2,GPT,4dabbedf-191b-4432-bc09-8bcbd1d7dabf,0x109000,0x32000)/File(\EFI\systemd\systemd-bootx64.efi)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|BootOrder}} で &#039;&#039;grub&#039;&#039; が最初のエントリになっている場合、[[systemd-boot]] などの他のブートローダをインストールして最初のエントリにしてください。その後、&#039;&#039;bootnum&#039;&#039; を使って &#039;&#039;grub&#039;&#039; を削除することができます。&lt;br /&gt;
&lt;br /&gt;
 # efibootmgr --delete-bootnum -b 1&lt;br /&gt;
&lt;br /&gt;
また、{{ic|&#039;&#039;esp&#039;&#039;/EFI/grub}} と {{ic|/boot/grub}} ディレクトリも削除してください。&lt;br /&gt;
&lt;br /&gt;
=== BIOS システム ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;grub&#039;&#039; を他の BIOS ブートローダに置き換えるには、単に新しいブートローダをインストールしてください (そうすることで、[[パーティショニング#Master Boot Record (bootstrap code)|MBR ブートコード]]が上書きされます)。&lt;br /&gt;
&lt;br /&gt;
{{ic|grub-install}} は {{ic|/boot/grub}} ディレクトリを作成するので、これは手動で削除する必要があります。しかし、&#039;&#039;grub&#039;&#039; をまたインストールするかもしれない場合は、このディレクトリを残しておいたほうが良いかもしれません。&lt;br /&gt;
&lt;br /&gt;
UEFI/GPT に移行した後は、[[dd#ブートローダーの削除|dd を使って MBR ブートコードを削除する]]ことができます。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== サポートのないファイルシステム ===&lt;br /&gt;
&lt;br /&gt;
GRUB が root のファイルシステムをサポートしていない場合、代替の {{ic|/boot}} パーティションをサポートのあるファイルシステムで作成する必要があります。​開発バージョンの GRUB である {{aur|grub-git}} が該当するファイルシステムをネイティブサポートしている場合があります。&lt;br /&gt;
&lt;br /&gt;
サポートされないファイルシステムで GRUB を使用した場合、ドライブの [[UUID]] を抽出できないため、GRUB は古典的で非永続的な {{ic|/dev/&#039;&#039;sdXx&#039;&#039;}} 名を使います。この場合、{{ic|/boot/grub/grub.cfg}} を手動で編集し、{{ic|1=root=/dev/&#039;&#039;sdXx&#039;&#039;}} を {{ic|1=root=UUID=&#039;&#039;XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&#039;&#039;}} のように置き換える必要があるかもしれません。{{ic|blkid}} コマンドを使えばデバイスの UUID を得られます。[[永続的なブロックデバイスの命名]] を見てください。&lt;br /&gt;
&lt;br /&gt;
GRUB はバージョン 2.0.4 より [[F2FS]] をサポートしていますが、{{ic|extra_attr}} フラグを有効にして作成された F2FS パーティションからブートファイルを正しく読み込むことができません。&lt;br /&gt;
&lt;br /&gt;
=== デバッグメッセージを有効にする ===&lt;br /&gt;
&lt;br /&gt;
{{Note|この変更は[[#メイン設定ファイルの生成|メインの設定ファイルを生成]]すると上書きされます。}}&lt;br /&gt;
&lt;br /&gt;
以下を {{ic|grub.cfg}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 set pager=1&lt;br /&gt;
 set debug=all&lt;br /&gt;
&lt;br /&gt;
=== msdos-style エラーメッセージ ===&lt;br /&gt;
&lt;br /&gt;
 grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding will not be possible!&lt;br /&gt;
 grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.&lt;br /&gt;
             However, blocklists are UNRELIABLE and its use is discouraged.&lt;br /&gt;
 grub-setup: error: If you really want blocklists, use --force.&lt;br /&gt;
&lt;br /&gt;
このエラーは VMware コンテナに GRUB をインストールしようとすると起こることがあります。詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=581760#p581760 ここ] を読んで下さい。最初のパーティションが MBR (ブロック 63) のすぐ後ろから始まっていて、最初のパーティションの前に通常の 1 MiB のスペース (2048 ブロック) がない場合に起こります。[[#Master Boot Record (MBR) 特有の手順]] を読んで下さい。&lt;br /&gt;
&lt;br /&gt;
=== UEFI ===&lt;br /&gt;
&lt;br /&gt;
==== よくあるインストール時のエラー ====&lt;br /&gt;
&lt;br /&gt;
* 一部の UEFI デバイスで起こりうるエラーは、{{ic|Could not prepare Boot variable: Read-only file system}} です。{{ic|/sys/firmware/efi/efivars}} を読み書き可能な状態で再マウントする必要があります。{{bc|# mount -o remount,rw,nosuid,nodev,noexec --types efivarfs efivarfs /sys/firmware/efi/efivars}} [[ブートローダー]]のインストールに関しては [[Gentoo:Handbook:AMD64/Installation/Bootloader#Install|Gentoo Wiki]] を見てください。&lt;br /&gt;
* &#039;&#039;sysfs&#039;&#039; か &#039;&#039;procfs&#039;&#039; がある状態で &#039;&#039;grub-install&#039;&#039; を実行すると問題が発生し、{{ic|modprobe efivarfs}} を実行しなければならないと言われる場合、[[Unified Extensible Firmware Interface#efivarfs のマウント|efivarfs をマウント]]して上記のコマンドを実行してみてください。&lt;br /&gt;
* {{ic|--target}} と {{ic|--directory}} オプションのどちらかがないと、{{ic|grub-install}} はどこにファームウェアをインストールすればいいのか決められません。そのような場合 {{ic|grub-install}} は {{ic|source_dir does not exist. Please specify --target or --directory}} というメッセージを表示します。&lt;br /&gt;
* grub-install の実行後に {{ic|error: &#039;&#039;esp&#039;&#039; doesn&#039;t look like an EFI partition}} と表示される場合、おそらくパーティションが [[FAT32]] でフォーマットされていません。&lt;br /&gt;
&lt;br /&gt;
==== ファームウェアブートマネージャーに GRUB エントリを作成する ====&lt;br /&gt;
&lt;br /&gt;
{{ic|grub-install}} は自動的にブートマネージャーにメニューエントリを追加しようと試みます。もし GRUB がそれを行わない場合、[[UEFI#efibootmgr]] を見て、{{ic|efibootmgr}} を使ってメニューエントリを作成する指示を読んでください。しかし、[[UEFI#ISO から UEFI ブータブル USB を作成する]] にあるように、よくある原因は CD/USB を UEFI モードで起動していないというものです。&lt;br /&gt;
&lt;br /&gt;
GRUB エントリをファームウェアブートマネージャに作成する例として、{{ic|efibootmgr -c}} を考えてみましょう。これは、{{ic|/dev/sda1}} が EFI システムパーティションであり、{{ic|/boot/efi}} にマウントされていると仮定します。これは {{ic|efibootmgr}} のデフォルトの挙動です。このツールは、(&amp;quot;Linux&amp;quot; という名前の) 新しいブートオプションを作成し、それをブート順序リストの1番目に配置します。オプションを渡すことでデフォルトの挙動を変更できます。デフォルトの OS ローダーは {{ic|\EFI\arch\grub.efi}} です。&lt;br /&gt;
&lt;br /&gt;
==== レスキューシェルが起動する ====&lt;br /&gt;
&lt;br /&gt;
GRUB はロードされたが、エラーが表示されずにレスキューシェルに落とされる場合、以下の2つの理由のうち1つが原因である可能性があります:&lt;br /&gt;
&lt;br /&gt;
* {{ic|grub.cfg}} が存在しないか、場所を間違えている。{{ic|--boot-directory}} を使って GRUB UEFI をインストールして、{{ic|grub.cfg}} が存在しない場合に起こります。&lt;br /&gt;
* ブートパーティションが変更された ({{ic|grubx64.efi}} ファイルにハードコードされています)。&lt;br /&gt;
&lt;br /&gt;
==== GRUB UEFI がロードされない ====&lt;br /&gt;
&lt;br /&gt;
有効な UEFI の例:&lt;br /&gt;
&lt;br /&gt;
{{hc|# efibootmgr -u|&lt;br /&gt;
BootCurrent: 0000&lt;br /&gt;
Timeout: 3 seconds&lt;br /&gt;
BootOrder: 0000,0001,0002&lt;br /&gt;
Boot0000* GRUB HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\EFI\GRUB\grubx64.efi)&lt;br /&gt;
Boot0001* Shell HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\shellx64.efi)&lt;br /&gt;
Boot0002* Festplatte BIOS(2,0,00)P0: SAMSUNG HD204UI&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
画面が数秒間真っ暗になって、その後、次のブートオプションが試行される場合、[https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 この投稿]によると、GRUB をルートパーティションに移動することで直るかもしれません。ブートオプションは削除して後でまた作成する必要があります。GRUB のエントリは次のようにしてください:&lt;br /&gt;
&lt;br /&gt;
 Boot0000* GRUB HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grubx64.efi)&lt;br /&gt;
&lt;br /&gt;
==== デフォルト/フォールバックのブートパス ====&lt;br /&gt;
&lt;br /&gt;
一部の UEFI ファーウェアではブート可能なファイルが既知の場所に存在している必要があり、それ以外の場所では UEFI NVRAM ブートエントリに表示されません。この場合、{{ic|grub-install}} が、GRUB を起動するエントリが {{ic|efibootmgr}} によって追加されたと報告するでしょうが、VisualBIOS のブート順序セレクターには表示されません。解決策は GRUB をデフォルト/フォールバックのブートパスにインストールすることです:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --target=x86_64-efi --efi-directory=&#039;&#039;esp&#039;&#039; &#039;&#039;&#039;--removable&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
あるいは、すでにインストールされた GRUB の EFI 実行ファイルをデフォルト/フォールバックのパスに移動することができます:&lt;br /&gt;
&lt;br /&gt;
 # mv &#039;&#039;esp&#039;&#039;/EFI/grub &#039;&#039;esp&#039;&#039;/EFI/BOOT&lt;br /&gt;
 # mv &#039;&#039;esp&#039;&#039;/EFI/BOOT/grubx64.efi &#039;&#039;esp&#039;&#039;/EFI/BOOT/BOOTX64.EFI&lt;br /&gt;
&lt;br /&gt;
=== Invalid signature ===&lt;br /&gt;
&lt;br /&gt;
(例えば、パーティションを再設定したり、追加のハードドライブを追加したりしたあとで) Windows を起動しようとして &amp;quot;invalid signature&amp;quot; エラーが発生する場合、GRUB のデバイス設定を移動 (削除) し、GRUB に再設定させてください:&lt;br /&gt;
&lt;br /&gt;
 # mv /boot/grub/device.map /boot/grub/device.map-old&lt;br /&gt;
 # grub-mkconfig -o /boot/grub/grub.cfg&lt;br /&gt;
&lt;br /&gt;
これで {{ic|grub-mkconfig}} は Windows を含む全てのブートオプションを記述したはずです。これで動作したら、{{ic|/boot/grub/device.map-old}} は削除してください。&lt;br /&gt;
&lt;br /&gt;
=== 起動中にフリーズする ===&lt;br /&gt;
&lt;br /&gt;
GRUB がカーネルと初期 RAM ディスクをロードした後に、エラーメッセージが表示されずにフリーズする場合、{{ic|add_efi_memmap}} カーネルパラメータを削除してみてください。&lt;br /&gt;
&lt;br /&gt;
=== 他の OS から Arch が見つからない ===&lt;br /&gt;
&lt;br /&gt;
他のディストリビューションで {{ic|os-prober}} を使って Arch Linux を自動的に検索できないという報告が複数確認されています。この問題が発生する場合、{{ic|/etc/lsb-release}} をおくことで検知が改善されると報告されています。このファイルと更新ツールは[[公式リポジトリ]]にある {{Pkg|lsb-release}} パッケージから利用可能です。&lt;br /&gt;
&lt;br /&gt;
=== chroot でインストールした時に警告が表示される ===&lt;br /&gt;
&lt;br /&gt;
(システムのインストール中などに) chroot 環境で LVM システム上に GRUB をインストールする際に、以下のような警告が発生する場合があります:&lt;br /&gt;
&lt;br /&gt;
 /run/lvm/lvmetad.socket: connect failed: No such file or directory&lt;br /&gt;
&lt;br /&gt;
または&lt;br /&gt;
&lt;br /&gt;
 WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.&lt;br /&gt;
&lt;br /&gt;
これは、{{ic|/run}} が chroot 内で利用可能でないから起こります。すべてが正しく行われていれば、これらの警告のせいでシステムが起動できなくなることはありません。インストールを継続することができます。&lt;br /&gt;
&lt;br /&gt;
=== GRUB のロードが遅い ===&lt;br /&gt;
&lt;br /&gt;
ディスク容量が残りわずかの場合 GRUB がロードされるのにかなり時間がかかることがあります。起動が遅い場合 {{ic|/boot}} や {{ic|/}} に十分な空き容量があるか確認してください。&lt;br /&gt;
&lt;br /&gt;
=== error: unknown filesystem ===&lt;br /&gt;
&lt;br /&gt;
GRUB が {{ic|error: unknown filesystem}} と出力して起動しない理由はいくつか考えられます。[[UUID]] が正しいこと、全てのファイルシステムが問題なく、GRUB によってサポートされていることが確認できる場合、[[#GUID Partition Table (GPT) 特有の手順|BIOS Boot Partition]] がドライブの最初の 2TB の中にない可能性があります [https://bbs.archlinux.org/viewtopic.php?id=195948]。適当なパーティショニングツールを使ってパーティションが最初の 2TB 以内にあるようにして、GRUB を再インストール・再設定してください。&lt;br /&gt;
&lt;br /&gt;
また、このエラーは [[ext4]] ファイルシステムがいくつかの機能をサポートしていないことが原因かもしれません:&lt;br /&gt;
* {{ic|large_dir}} - サポートされません。&lt;br /&gt;
* {{ic|metadata_csum_seed}} - GRUB 2.11 でサポートされます ([https://git.savannah.gnu.org/cgit/grub.git/commit/?id=7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 コミット]).&lt;br /&gt;
&lt;br /&gt;
{{Warning| {{ic|/boot}} ファイルシステム上で[[ファイルシステム]]の新しい機能を有効化する前に、GRUB がそれらをサポートしていることを確認してください。}}&lt;br /&gt;
&lt;br /&gt;
=== grub-reboot で再設定されない ===&lt;br /&gt;
&lt;br /&gt;
GRUB は Btrfs のルートパーティションに書き込むを行うことができません [https://bbs.archlinux.org/viewtopic.php?id=166131]。grub-reboot を使って他のエントリを起動した場合、ディスク上の環境を更新することができなくなります。(ディストリビューションを切り替えるなどの場合に) 他のエントリから grub-reboot を実行するか他のファイルシステムを使ってください。{{ic|grub-editenv create}} を実行して {{ic|/etc/default/grub}} に {{ic|GRUB_DEFAULT&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;0}} を設定することでエントリをリセットできます (設定後は {{ic|grub-mkconfig -o /boot/grub/grub.cfg}} を行ってください)。&lt;br /&gt;
&lt;br /&gt;
=== 古い Btrfs のせいでインストールができない ===&lt;br /&gt;
&lt;br /&gt;
パーティションテーブルを作成しないで Btrfs を使ってドライブをフォーマットしている場合 (例: {{ic|/dev/sdx}})、後からパーティションテーブルを書き込むと、Btrfs のフォーマットが一部残留します。ほとんどのユーティリティや OS は残留した Btrfs を認識できないため、GRUB は (たとえ --force が付けられていても) インストールを拒否します:&lt;br /&gt;
&lt;br /&gt;
 # grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..&lt;br /&gt;
 # grub-install: error: filesystem `btrfs&#039; does not support blocklists.&lt;br /&gt;
&lt;br /&gt;
ドライブを完全に消去してもいいですが、{{ic|wipefs -o 0x10040 /dev/sdx}} を使えばデータを残して Btrfs のスーパーブロックだけを消去することができます。&lt;br /&gt;
&lt;br /&gt;
=== Windows 8/10 が認識されない ===&lt;br /&gt;
&lt;br /&gt;
Windows 8/10 の &amp;quot;高速スタートアップ&amp;quot;、&amp;quot;ハイブリッドブート&amp;quot;、&amp;quot;Hiberboot&amp;quot; と呼ばれる設定を有効にしていると Windows のパーティションをマウントすることができなくなる可能性があります。そのため {{ic|grub-mkconfig}} が Windows を認識することができなくなります。Windows で高速スタートアップを無効化することで GRUB のメニューに追加することができるようになるはずです。&lt;br /&gt;
&lt;br /&gt;
=== grub-rescue プロンプトと暗号化済み /boot ===&lt;br /&gt;
&lt;br /&gt;
[[#暗号化された /boot|暗号化済みの /boot]] を使用している場合に間違ったパスワードを入力してしまうと  grub-rescue プロンプトに入ります。&lt;br /&gt;
&lt;br /&gt;
この grub-rescue プロンプトではできることが限られています。以下のコマンドを使ってブートを完了させます:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
grub rescue&amp;gt; cryptomount &amp;lt;partition&amp;gt;&lt;br /&gt;
grub rescue&amp;gt; insmod normal&lt;br /&gt;
grub rescue&amp;gt; normal&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
より良い説明は[https://blog.stigok.com/2017/12/29/decrypt-and-mount-luks-disk-from-grub-rescue-mode.html このブログ投稿]{{Dead link|2023|04|23|status=404}}をご覧ください。&lt;br /&gt;
&lt;br /&gt;
=== GRUB をインストールしたが起動時にメニューが表示されない ===&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/default/grub}} を見て {{ic|GRUB_TIMEOUT}} が {{ic|0}} に設定されていないかチェックしてください。{{ic|0}} に設定されていた場合、正の数に設定し直してください。この値はデフォルトの GRUB エントリが起動されるまでの秒数を表しています。{{ic|GRUB_TIMEOUT_STYLE}} が {{ic|hidden}} に設定されていないかもチェックしてください。{{ic|hidden}} に設定されていた場合、{{ic|menu}} に設定し直してください。これでメニューがデフォルトで表示されるようになります。以上が終わったら、[[#メイン設定ファイルの生成|メインの設定ファイルを再生成]]して、再起動してメニューが表示されるか確かめてください。&lt;br /&gt;
&lt;br /&gt;
これでうまく行かない場合、グラフィカルターミナルとの互換性の問題があるのかもしれません。{{ic|/etc/default/grub}} で {{ic|GRUB_TERMINAL_OUTPUT}} を {{ic|console}} に設定し、GRUB のグラフィカルターミナルを無効化してください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [[Wikipedia:ja:GNU GRUB]]&lt;br /&gt;
* [https://www.gnu.org/software/grub/manual/grub.html 公式 GRUB マニュアル]&lt;br /&gt;
* [https://help.ubuntu.com/community/Grub2 Ubuntu wiki の GRUB ページ]&lt;br /&gt;
* [https://help.ubuntu.com/community/UEFIBooting UEFI システム用にコンパイルする手順を説明している GRUB wiki ページ]&lt;br /&gt;
* [[Wikipedia:BIOS Boot partition]]&lt;br /&gt;
* [https://web.archive.org/web/20160424042444/http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html#Editing_etcgrub.d05_debian_theme How to configure GRUB]&lt;br /&gt;
&lt;br /&gt;
{{TranslationStatus|GRUB|2024-08-26|812848}}&lt;/div&gt;</summary>
		<author><name>Noyciy7037</name></author>
	</entry>
</feed>