私は問題が何であるかを知っていると信じており、危険かもしれませんが、問題を解決しようとすることができることがもう1つあることを知っているので、まずここに尋ねる必要があります。私は個人的にLinuxをインストールし、それを基本オペレーティングシステムとして何度も実行しましたが、このような問題は経験したことがありません。
質問
私は友人が古いラップトップ(Samsung Notebook NP-R580Hだと思います)にManjaro(Windows 7のデュアルブート設定)をインストールするのを手伝っています。ただし、この問題はManjaroに限定されていません(在庫Arch Linuxも確認しており、この問題はインストールするすべてのオペレーティングシステムに適用されると想定しています)。
GRUBのインストールが失敗するまで、最初の試みではすべてがうまくいきました。 GRUBは、ESPがEFIパーティションのように見えないと文句を言います/boot/efi doesn't look like an efi partition
。
これは、ESPをNTFSからvFATにフォーマットした後、GRUBがそれを有効なESPとして認識するため、マイナーな問題です。 ESPの内容をフォーマットする前にバックアップしましたが(だから元のWindows 7 EFIファイルがありました)UUIDは気付かなかったが(当時はまったく意味がないようだったので)。
残念ながら、GRUBは新しいエラーを返し、今日に至りましたFailed to create EFI Boot variable entry: No space left on device
。多くの調査の後、NVRAMがいっぱいであることが報告され、efibootmgrが新しいブートエントリを作成できないことがわかりました。
List Startup Itemsを使用できると思いましたが、文句を言いefibootmgr -v
ましたNo BootOrder is set; firmware will attempt recovery
。詳細な調査の結果、これらの起動エントリは起動可能ファイルが既知の場所にある場合にのみ表示されるように見えます。いいえ、ESPが再フォーマットされたためです(これはhttps://wiki.archlinux.org/title/GRUB#Default/fallback_boot_path)。この発見後、efibootmgrを使用してUEFIブートエントリを直接追加しようとしましたが、同じエラーが発生しました。
可能性
この時点でNVRAMを正しく読み取ることができない場合は、提案されているefi_no_storage_paranoia
ようにカーネルパラメータを使用するという1つのオプションを考えることができます。https://askubuntu.com/a/1073318、気になるけど。ラップトップが完全にレンガで覆われている場合はどうなりますか?
この記事を書く過程で、このbcfg
ツールが役に立つ可能性があることを発見しました(https://wiki.archlinux.org/title/Unified_Extensible_Firmware_Interface#bcfg)、しかし、他の作業を行う前に私より経験のある方のご意見をお待ちしております。
この時点で、元のESPを復元する方法を探しています。 NVRAMから以前の値を読み取ることができれば、ESPを再作成するのに必要なUUIDがわかると思います。まだ値が得られていないのですが。
より多くの情報が必要な場合は、提供してください。