Windows 10をインストールする必要があります。インストールの問題により、最初の2つのドライブ(Fedoraデータが含まれています)を取り外しました。そのため、ハードドライブを接続するだけでWindowsを正常にインストールできました。
これですべてのドライブが接続されました。 Windowsを正常に起動できましたが、Fedoraは起動しなくなりました。
grubでFedoraを選択したときに発生するエラーは次のとおりです。
エラー:該当デバイスなし:3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
エラー:「/vmlinuz-4.13.9-300.fc27.x86_64」ファイルが見つかりません。
エラー:まずカーネルをロードする必要があります。
だからGoogleでこれを見つけました。質問しかし、正直なところ、答えを完全に理解していません。とにかく、私はc
grubコマンドラインを打った。ls
コマンドラインに入力すると、次のように表示されます。
(lvm/fedora_hdd-swap) (lvm/fedora_sdd-root) (lvm/fedora_sdd-home) (hd0) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1) (hd1) (hd1, gpt12) (hd1,gpt11) (hd2) (hd3) (hd3,gpt4) (hd3,gpt3) (hd3,gpt2) (hd3,gpt1)
入力すると、ls (lvm/fedora_hdd-root)/
/boot、/etcなどの必須Linuxファイルがすべて表示されます。それから私のファイルは安全で健全です。 grubを正しく設定すればよいとしましょう。
grubに戻り、e
edit Fedora listと入力すると、次のようになります。
getparams 'Fedora (4.13.9-300.fc27.x86_64) 27 (Workstation Edition)
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=achi0,gpt2 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
else
search --no-floppy --fs-uuid --set=root 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
fi
grubコマンドラインに表示されている内容に基づいて、それに応じてリストを編集する必要があると思います。
ベストアンサー1
GRUBはLinuxルートパーティションにはまったく興味がありません。 Linuxルートパーティションにのみ興味があります。 Linuxカーネルだけがこれに興味を持っています。 GRUBはファイルシステムを含むパーティションを探しています/boot
。 GRUBはいくつかの理由でこれを「GRUBルートファイルシステム」と呼びます。
エラーメッセージのカーネルパス名にプレフィックスerror: file '/vmlinuz-4.13.9-300.fc27.x86_64' not found
はありません/boot
。これは/boot
別のファイルシステムがある可能性があることを示し、set root='hd0,gpt2'
Fedoraを起動するために使用されたGRUB構成の行がGPTパーティションディスク上の特定の時点で2番目のパーティションであったことを示します。
と入力すると、ls (lvm/fedora_hdd-root)/boot/
単に空のディレクトリであることがわかります。これは/boot
物理ファイルシステムのマウントポイントとして機能します。
ファイルシステムのUUIDもありますが、error: no such device: 3b9c12dc-6ed0-4e2f-a28b-3e0931ccfea2
見つからないというエラーメッセージが表示されます。
私の考えに最適なシナリオでは、ドライブの検出順序が変更された可能性があり、以前の順序hd0,gpt2
は今hd3,gpt2
。
最悪のシナリオでは、/boot
パーティションが実際にWindows 10がインストールされているディスクにあり、Windowsインストールがパーティションを上書きすることがあります。しかし、パーティションの交換は比較的簡単です。/boot
起動メニューオプションTroubleshooting
- >Rescue a Fedora system
または起動オプションを使用して、inst.rescue
Fedoraインストールメディアから回復モードで起動する必要があります。
回復モードが開始すると、コマンドプロンプトが表示されます。すべてが順調に進んでいる場合は、Fedoraシステムをインストールする必要があります/mnt/sysimage
。したがって、最初にコマンドを使用すると、すべてのパス名の前にプレフィックスを付けるchroot /mnt/sysimage
必要がなく、/mnt/sysimage
汎用パッケージ管理ツールを使用できます。
新しい/boot
パーティションを作成してマウントするか、GRUBが明らかにLVM論理ボリュームを読み取ることができるので、/boot
ファイルシステムの内容を/boot
ルートファイルシステムのディレクトリに再マウントするだけです。
明らかにUEFIベースのシステムを使用しているので(すべてのパーティションがGPTタイプなので)、これは/boot/efi
まだ存在しない場合は空のディレクトリ(EFIシステムパーティションまたはESPのマウントポイントとして)を作成できることを意味します。を実行し、mount /boot/efi
設定が/etc/default/grub
現在の構成と一致していることを確認して、を使用して最新のカーネルパッケージを再インストールしますrpm --reinstall
。
カーネルパッケージにはこの/vmlinuz-*
ファイルが含まれており、パッケージのインストールプロセスで適切なinitramfsファイルが自動的に生成されます。完了したら、存在する必要があるすべての重要なファイルを/boot
回復する必要があります。カーネルパッケージの再インストールプロセスでは、実際のGRUB構成ファイルも更新する必要があります。
GRUBには、単純化された構成ファイル/etc/default/grub
と実際の自動生成された構成ファイル(/boot/efi/EFI/fedora/grub.cfg
UEFIシステムの場合)の2つの構成ファイルがあります。カーネルパッケージを再インストールした後に前者を更新する場合は、次のコマンドを使用して後者のファイルの更新を手動でトリガーできます。
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg