Debian グラブブートローダ/スーパーブロック問題/UEFI

Debian グラブブートローダ/スーパーブロック問題/UEFI

Debian 10 BusterとWindows 10デュアルブートを実行するIntel Nuc-8i3behがあります。最初にインストールする必要があるのはWindowsシステムです。ブートローダは UEFI モードでは grub です。

システム:sda - >
sdbにWindowsとdebianがあるプライマリハードドライブ - >データsdc用の2番目のハードドライブ - > 2番目のハードドライブバックアップ用の外付けハードドライブ

最近、Windows 10にIntelシステム用の新しいドライバをインストールしました。その後、私のブートローダは表示されなくなります。システムはWindowsで直接起動します。その後、USBスティックでブートリカバリイメージを実行してみましたが、ブートリカバリユーティリティのデフォルトリカバリは機能しませんでした。以下は、起動時に解決される脆弱性の概要です。 http://paste.ubuntu.com/p/kgPymkWqGM/

問題は29番線にあると思います。

wrong fs type, bad option, bad superblock on /dev/sda6, missing codepage or helper program, or other error

どういうわけかスーパーブロックのテーブルは正しくありません。

Disk sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Disk identifier: EC763990-4AF7-4A4C-A3AA-355A8DC62FB8
          Start       End   Sectors  Size Type
sda1       2048   1085439   1083392  529M Windows recovery environment
sda2    1085440   1290239    204800  100M EFI System
sda3    1290240   1323007     32768   16M Microsoft reserved
sda4    1323008 117221375 115898368 55.3G Microsoft basic data
sda5  117221376 125034495   7813120  3.7G Linux swap
sda6  125034496 234437070 109402575 52.2G Linux filesystem

sda6の終わりはもはや正確ではありません。

TelcoMの回答後、次のことを試しました。 USBドライブからDebianライブシステムを起動しました:

efibootmgr -c -b 0005 -d /dev/sda2 -l \\efi\\debian\\shimx64.efi -L "Debian-UEFI"
Could not prepare Boot variable: Permission denied

それからsudoで同じことを試しました。

sudo efibootmgr -c -b 0005 -d /dev/sda2 -l \\efi\\debian\\shimx64.efi -L "Debian-UEFI"
Could not prepare Boot variable: No space left on device

説明を読んだ後、fsckコマンドを実行してみましたが、成功しませんでした。

sudo e2fsck -C0 -p -f -v /dev/sda6
/dev/sda6: The filesystem size (according to the superblock) is 13675776 blocks
The physical size of the device is 13675321 blocks
Either the superblock or the partition table is likely to be corrupt!


/dev/sda6: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    (i.e., without -a or -p options)

fsckを手動で実行するときにfsckにどのオプションを設定する必要があるのか​​わかりません。

この問題を解決する方法を知っている人はいますか?ありがとうございます。

ベストアンサー1

あなたのsda6ものを暗号化する必要がありますか?これは、Boot Repairがこれを理解していない理由を説明できます。

efibootmgr -vブート回復サマリーの出力はここで重要です。

efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0000,0004,0002,0003,0001
Boot0000* Windows Boot Manager  HD(2,GPT,768a1a9a-11ae-40d1-a0d8-b52954fa5abc,0x109000,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...M................
Boot0001* debian    VenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)
Boot0002* UEFI : LAN : PXE IP4 Intel(R) Ethernet Connection (6) I219-V  PciRoot(0x0)/Pci(0x1f,0x6)/MAC(1c697a017978,0)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0003* UEFI : LAN : PXE IP6 Intel(R) Ethernet Connection (6) I219-V  PciRoot(0x0)/Pci(0x1f,0x6)/MAC(1c697a017978,0)/IPv6([::]:<->[::]:,0,0)..BO
Boot0004* UEFI : USB : SanDisk : PART 0 : OS Bootloader PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/USB(2,0)/HD(1,MBR,0x456c7,0x800,0x3a7f800)..BO

ここでは、UEFIというUEFIブートオプションがdebianまだ存在していますが、Windowsはそれをブート順序に再適用して最初のブートエントリにしたようです。したがって、問題はGRUB自体ではなくファームウェア設定にある可能性があります。

(明らかにWindows 10の一部のバージョンにはUEFIスロットが必要ですが、必ずしも設定する必要がBoot0000ない場合は自動的にBootOrderの最初のOSに戻り、自己修復を試みます。デュアルを使用するとき -UEFIを起動する場合、Windowsは常にそれに応じて異なるオペレーティングシステムをBootOrder引き継ぎ、設定すると仮定することをお勧めします。Boot0000

ところがdebianスタートアップアイテムがちょっと変に見えますね。Boot0000Windowsエントリなどの一般的なUEFIブートローダを参照しません。 Debian は通常、EFI システムパーティションで使用するのと同様のパス名を含む有効なGRUB があるように見えるため、一般的なセキュアブート互換性エントリは次のようになりますsda2debian

Boot0001* debian HD(2,GPT,68a1a9a-11ae-40d1-a0d8-b52954fa5abc,0x109000,0x32000)/File(\efi\debian\shimx64.efi)

しかし、あなたのdebianアイテムはその逆だと言いますVenHw(99e275e7-75a0-4b37-a2e6-c5385e6c00cb)

これは、Debian が以前の BIOS 準拠のブート方法を使用したか、ファームウェアが奇妙なベンダー固有のアセンブリ方法を使用したことを意味します。

Boot-Repairまたは他のLinux Live USBを手動で実行できる場合は、efibootmgr次のことでこの問題をすばやく解決できます。

efibootmgr -c -b 0005 -d /dev/sda2 -l \\efi\\debian\\shimx64.efi -L "Debian-UEFI"
efibootmgr -0 0005,0001,0000,0004,0002,0003

最初のコマンドは、Debian用の新しいUEFIブートエントリを定義して、ESPパーティションの正しいディスクとパス名を識別します(UEFI仕様に応じて、このパス名はシステムにインストールされているすべてのUEFIブートローダで共有できます)。

2番目のコマンドは、起動順序を並べ替えることで、新しいエントリが最初、前のエントリが2番目、debianWindowsが3番目のオプション、残りの可能なすべてのオプションです(ファームウェアを満足させるため)。

使用方法が見つからない場合は、efibootmgrシステムファームウェア設定(しばしば「BIOS設定」とも呼ばれますが、UEFIはBIOSではないため技術的には使用されていない用語)に移動して起動順序を変更できますdebian。開始項目の前に最初に名前が付けられますWindows Boot Manager。しかし、それはVenHwDebianが実際に動作するために既存の奇妙な開始項目に依存しています...それはまさに私に自信を与えません。しかし、試してみるには何の害もありません。

おすすめ記事