私は見つけたがこれを一度に行う方法、問題が再発生しました。だとしたら質問が残ります。 AAEON EMB-BT1 itxボードのSATAポートからSSDを取り外すたびに起動が拒否され、このエラーが発生するのはなぜですか?私のオペレーティングシステムはDebian Linuxであり、SSDを交換するたびにgrub-efiを再インストールすることはできません。
これは私のパーティションです。ゼロ以外の2048で始まるEFIシステムに関連している可能性がありますか?しかし、これはDebian Partition Managerが設定する方法です。
grub-efi 再インストール処理後のディスクの状態は次のとおりです。
明らかに、Boot0001 *オプションが機能せず、マザーボードからSSDを取り外すと、Boot0000 * debianエントリが消去されます。私はなぜ、どのように理解していません。
編集:起動時にACPIバスエラーもあります。
答え1
明らかに、システムファームウェアはアクセスできなくなったディスクを参照するすべてのUEFI NVRAMブートエントリを自動的に削除します。これはUEFI NVRAMがいっぱいになる可能性を防ぐのに役立ちますが、ブートディスクを頻繁に交換する場合は問題になる可能性があります。残念ながら、このファームウェアの動作を変更できない可能性があります。
代わりに、UEFI GRUBブートローダの2番目のコピーをインストールすることでリムーバブルメディア/代替パスEFIシステムパーティションから。これにより、ファームウェアが自動的に起動可能なディスクを検出するのに役立ちます。
次の方法でこれを実行できます。
sudo grub-install --force-extra-removable /dev/sda
/boot/efi/EFI/BOOT/BOOTx64.efi
これにより、リムーバブルメディア(x64ハードウェアアーキテクチャ)から起動するとき、またはインストールされているオペレーティングシステムに適用可能なUEFI NVRAMブートエントリがない場合に、ファームウェアが探すパスであるブートローダの2番目のコピーが作成されます。
すべてのシステムSSDに対してこれを行うと、SSDの交換に必要な労力が最小限に抑えられます。 Windows 10と11はデフォルトでUEFIブートマネージャのコピーをこのパスに自動的に設定するため、Windowsを含むブートSSDがある場合は特別な作業を行う必要はありません。
実際、EFIシステムパーティションがブロック#2048で始まるのは正常です。サイズが64バイトにすぎなかった以前のMBRパーティションテーブルとは異なり、GPTパーティションテーブルは最新の標準が設定されている少なくとも33,512バイトのセクタを占めています。 out of照合のために、パーティションの制限を正確に1MiBの倍数に増やします。これにより、内部的に大きなディスクブロックを使用するSSDおよび一部のSANのパフォーマンスの低下を防ぐことができます。
答え2
使用しているディスクデバイスを取り外すと、ディスク上のデータが破損する可能性があります。最良の結果を得るには、ディスクを取り外す前にディスクをアンマウントしてください。
また、SATAはホットプラグ対応デバイスを部分的にのみサポートしています。デバイスが物理レールを備えたホットスワップ対応スロットにある場合は安全です。ただし、ガイドなしでケーブルでのみ接続すると、電源を入れた状態でドライブを取り外したり接続したりするたびに、ドライブ電子機器が損傷する危険があります。
また、BIOSが初期化された後にドライブを接続すると、ドライブが起動可能かどうかが検出されず、起動リストに含まれない可能性があります。再起動するか電源を入れ直すと、この問題が解決される可能性があります。また、EFIモードを使用している場合は、ブートローダをインストールするとBIOS EFIブートリストにエントリが追加され、BIOSが初期化されたときにドライブがオンラインになっていないと、ドライブに関連付けられたブートエントリが削除される可能性があります。
ドライブが起動しない場合は、次のオプションを使用できます。
- 一部のBIOSでは、EFIエントリを手動で追加できます。
- 一部のBIOSでは、作成された起動メニューを使用して、リストにないドライブに対して検出されたefiエントリを手動で選択できます。
- オペレーティングシステムでは、efibootmgrツールはBIOSにエントリを追加できます。
- rEFIndなどのツールは、任意のディスクから起動可能なEFI実行可能ファイルを検索できます。