少し前に、EFIパーティションのサイズを変更することにしました。理由を聞かないでください...それ以来、私はもはや正常に起動できません。サイズを変更するには、gpartedを使用し、パーティションサイズを268MBに変更しました。起動できなかった後、元の512MBに戻しましたが成功しませんでした。現在、Super GrubDiskを介してシステムを起動しています。
システムに2つのディスクがあります。 1つのメインGTPディスク(キングストン)と、データ専用のMBR(WD)を備えたディスク。 MBRのものは無視してください。また、スーパーグラブディスクを保持しているトランセンドUSBスティックも表示されます。
メインディスクの現在のレイアウトは次のとおりです。
Sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): EA79EA21-C913-462F-9A23-9CD5D1E74496
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 2925 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System Partition
2 1050624 1550335 244.0 MiB 8300
3 1550336 234440703 111.1 GiB 8E00
だから私は明らかにESP/dev/sdaにあります。これはpartedの出力です。パーティションの詳細に関する情報を提供するには:
(parted) print
\Model: ATA Kingston SH103S3 (scsi)
Disk /dev/sda: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 EFI System Partition boot, hidden, esp
2 538MB 794MB 256MB ext2
3 794MB 120GB 119GB lvm
起動の問題について... BIOSを起動すると、次の起動オプションが表示されます:(写真を使用する必要があります...)
キングストンディスクにはタグ「UEFI」が存在しないという事実に基づいて、AsusはこのディスクをGPT/EFIとして検出しなかったと思います。確かに、SuperGrubDiskフラッシュドライブ(ESPを備えたGPTでもあります)に存在するためです。
とにかくディスクから起動しようとすると、黒い画面が表示されます。そのため、MBRから起動しようとしていると思いますが、MBRには何の役にも立ちません。
したがって、スーパーgrubディスクを起動すると、次のオプションが表示されます。 つまり、ESPはHD1、GPT1に期待どおりにあり、完全に正常に起動するように見えます。
これを解決することを期待して、ファームウェアの最後のバージョンをすでにフラッシュしました。私の最後の手段は、データをバックアップして完全に再インストールすることですが、最初にこれを正しい方法で解決しようとしています。
まず、EFIモードの起動に関するいくつかの重要なポイント:
EFI/BOOT/bootx64.efi
)がありますは有効です。このファイル名は、もともとインストールメディア(CD、USBフラッシュドライブなど)での使用を目的としていましたが、ハードディスク上のESPでも使用できます。上記のすべてをまとめると、ESPのサイズを変更したときに、Ubuntuブートローダーがファームウェアにアクセスできなくなり、組み込みのブートマネージャーから削除されたのではないかと疑っています。パーティションのサイズを元のサイズに戻すと、アクセスの問題が修正される場合とされない場合がありますが、ファイルシステムにアクセスできるようになった場合でも、NVRAMベースのブートエントリがなくなると、ブートローダーを起動できなくなります。 Super GRUB Diskを使用するなど、余分なフープを飛び越えることなく。
問題を修正するための最初のステップとして、ESPでdosfsck
(または別のOSの同等のツール)を実行することをお勧めします。これにより、長引くファイルシステムの問題が修正されます。
これが完了したら、ブートエントリ用の新しいNVRAMエントリを作成する必要があります。これを行うための最も邪魔にならない方法は、Linuxのefibootmgr
、EFIシェルのbcfg
、Windowsの EasyUEFI またはbcdedit
、またはいくつかを使用することです。同様のツール。これでUbuntuを起動できるので、次のコマンドでうまくいくはずです。
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\shimx64.efi -L ubuntu
セキュアブートを無効にして起動している場合は、shimx64.efi
をgrubx64.efi
に変更できます。ただし、shimx64.efi
は、セキュアブートが有効になっているかどうかに関係なく機能するため、機能しない場合を除いて使用することをお勧めします。ディレクトリ区切り文字としての二重円記号(\\
)にも注意してください。 EFIは、Unix/Linuxスタイルのスラッシュ(\
)ではなくDOS/Windowsスタイルのバックスラッシュ(/
)をディレクトリ区切り文字として使用します。バックスラッシュは、二重にするか、Bashで引用符で囲む必要があります。 Bashでエスケープ文字として再使用されます。 (最近のバージョンのefibootmgr
はスラッシュをバックスラッシュに変換できると聞きましたが、この変更が適用されたバージョンがわからないため、2倍にしたバックスラッシュを使用するのが最も安全です。)
警告:スーパーGRUBディスクがBIOS/CSM /レガシーモードで起動している場合、efibootmgr
は機能しません。これが当てはまる場合は、次のことを行う必要があります。上記では、EFI/UEFIモードで起動されたLinux緊急ディスクを使用しています。または、USBフラッシュディスクまたはCD-Rでmy rEFInd boot manager を使用してUbuntuをEFIモードで起動し、efibootmgr
GRUBを再度アクティブにします。