LinuxブートローダーをUSBドライブにバックアップする方法

GRUBの設定とブートファイルをUSBメモリに保存してください。UEFIシステムの場合は、EFIファイルとファームウェアエントリリストも保存してください。これらはリカバリ用の参照ファイルであり、完全なディスクイメージではありません。起動コードが欠落している場合は、Linuxレスキューメディアを使用して、実際のブートレイアウトに合わせてGRUBを再インストールしてください。

GRUBバックアップの内容

/etc/default/grubディストリビューションは通常、とからメニューを生成し/etc/grub.d/、サポートファイルは/boot/grubまたはの下にあります/boot/grub2。Debianはgrub.cfg生成されたとしてドキュメント化するため、設定を復元して再生成してください。BIOS GRUBはMBRと埋め込みセクタを使用する場合があります。UEFIはFAT EFIシステムパーティション(ESP)上のファイルとファームウェア変数内のブートエントリを使用します。

GRUBをUSBドライブにバックアップする

1. USBをマウントし、ブートモードを確認します。

USBドライブを接続し、ファイルマネージャーで開いて、マウント位置をメモします。次に、ディスクの一覧を表示し、現在のシステムがどのように起動されたかを確認します。

lsblk -o NAME,SIZE,FSTYPE,LABEL,UUID,MOUNTPOINTS
findmnt /
if [ -d /sys/firmware/efi ]; then echo UEFI; else echo BIOS; fi
Linuxのファイルマネージャに、バックアップフォルダとその他のファイルを含むマウントされたUSBドライブが表示されている。
マウントされたUSBボリュームがバックアップファイルの保存先となります。

サイズ、ファイルシステム、ラベル、マウントポイントを使用して、USBディスクと内蔵ディスクを区別してください。名前は/dev/sda変更される可能性があり、ルートパーティションが必ずしもBIOSブートローダーのターゲットディスクになるとは限りません。

lsblkコマンドのターミナル出力には、EFIパーティション、Linuxルートパーティション、および別のUSBドライブがリストされている。
デバイスの詳細情報を使用して、ESPとリムーバブルドライブの位置を特定してください。

UEFI システムでは、出力から EFI システム パーティション (ESP) を特定します。多くの場合、FAT32 形式で、マウント ポイントは/boot/efi、/efi、 または などです/boot。通常、EFIディレクトリが含まれています。

2. GRUBの設定ファイルと関連ファイルをアーカイブする

例のUSBパスを、ご自身で見つけたマウントポイントに置き換えてください。スペースを含むパスは、引用符で囲んでください。

USB="/media/$USER/USB_LABEL"
BACKUP="$USB/grub-backup"
sudo mkdir -p "$BACKUP"

paths=(etc/default/grub etc/grub.d)
for p in etc/default/grub.d boot/grub boot/grub2; do
  [ ! -e "/$p" ] || paths+=("$p")
done
sudo tar -C / -czf "$BACKUP/grub-files.tar.gz" "${paths[@]}"
Linuxターミナルに、GRUB設定ファイルがUSBメモリ上のバックアップフォルダにコピーされている様子が表示されている。
GRUBの設定、メニュースクリプト、既存のブートファイルをまとめて保存します。

このアーカイブは、Linuxのパーミッションを保持しないUSBファイルシステム上でも、Linuxのパーミッションを保持します。また、このインストールに含まれるオプションのGRUBディレクトリも含まれています。

3. UEFIで、EFIファイルとファームウェアエントリを保存します。

ESP指定したマウントポイントを設定します。この例では を使用します/boot/efi。アーカイブには、EFIディレクトリを共有している他のベンダーのファイルも含まれます。

ESP="/boot/efi"
sudo tar -C "$ESP" -czf "$BACKUP/esp-files.tar.gz" EFI
sudo efibootmgr -v | sudo tee "$BACKUP/uefi-boot-entries.txt" >/dev/null
Linuxファイルマネージャに、BOOTフォルダとオペレーティングシステムベンダーフォルダを含むEFIシステムパーティションが表示されている。
共有ESPには、複数のオペレーティングシステム用のブートファイルを含めることができます。
GRUBとEFIアーカイブ、およびUEFIブートエントリのテキストファイルを含むUSBバックアップフォルダ
ファームウェアのエントリリストは、保存したブートファイルの横に置いておいてください。

efibootmgr -vブートエントリの詳細を表示しますが、ファームウェアの設定すべてを表示するわけではありません。BIOSのみのシステムでは、これらのコマンドはスキップしてください。

4. バックアップを確認し、ドライブを取り出します。

tar -tzf "$BACKUP/grub-files.tar.gz" | head
[ ! -f "$BACKUP/esp-files.tar.gz" ] || tar -tzf "$BACKUP/esp-files.tar.gz" | head
ls -lh "$BACKUP"
sync

アーカイブ名とサイズが妥当であることを確認したら、USBメモリを取り外す前に取り出してください。バックアップは、起動メディア作成中に消去される可能性のあるライブインストーラ用USBメモリとは別に保管してください。

起動失敗後にバックアップを使用する

5. インストール済みシステムのブートモードでライブセッションを開始します。

可能であれば、同じUEFIモードまたはレガシーBIOSモードでLinuxライブUSBまたはレスキューUSBを起動します。ルート、個別の/bootパーティション、およびESPを再度特定します。デバイス名は異なる場合があります。

ライブセッションオプションを選択した汎用LinuxライブUSBブートメニュー
ライブセッションでは、設備の点検と修理に必要なツールが提供されます。

インストール済みのシステムを、例えば のような一時的な場所にマウントし/mnt/target、対応するパスに個別のブートパーティションをマウントします。正確なパーティションおよびchrootコマンドについては、ディストリビューションの指示に従ってください。

ライブLinuxターミナルでルートパーティションとEFIパーティションをマウントし、chrootを使用してインストール済みシステムに入る
chroot環境で修復コマンドを実行する前に、インストール済みのパーティションをマウントしてください。

6. 設定を選択的に復元してから、GRUBを修復します。

インストール済みのルートパーティションと個別の/bootパーティションをマウントした後、このインストールとリリースに付属していたアーカイブのみを復元してください。

sudo tar -xzf "/path/to/grub-backup/grub-files.tar.gz" -C /mnt/target

例のパスをUSBメモリの実際の場所に置き換えてください。EFIアーカイブを共有ESP上に展開しないでください。ディストリビューションの再インストール手順に従って、ブートファイルとファームウェアエントリを再作成してください。セキュアブートには、署名済みのshimおよびGRUBパッケージが必要になる場合があります。

chroot 内で、ディストリビューションのコマンドと出力パスを使用してメニューを再生成します。Debian と Ubuntu では一般的に を使用します。update-grubその他のディストリビューションではgrub-mkconfigまたは をドキュメントgrub2-mkconfig化しています。起動コードが見つからない場合は、正しい BIOS ディスクまたは UEFI パーティション用に GRUB を再インストールします。 の前にターゲットを確認しますgrub-install。

ターゲットのchroot環境内のターミナルがGRUBメニューを再生成し、検出されたLinuxカーネルを報告します。
設定を復元した後、修復されたインストール環境からメニューを再生成してください。

最初の512バイトだけを復元すればいいのでは?

1セクターコピーを使用すると、BIOS GRUBの組み込みイメージまたはBIOSブートパーティションが欠落します。最初のセクターにはパーティションテーブルデータも含まれているため、古いコピーを復元すると、変更されたディスクが破損する可能性があります。UEFIファイルとファームウェアエントリは別々です。このアーカイブは復旧情報として使用し、完全なロールバックのためにテスト済みのディスク全体のイメージを保管してください。

公式資料

コメントを残す

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクをブラウザで開き、Chromeショートカットやアプリスタイルの起動機能を追加し、カレンダーとGmailを通じて期日が過ぎたタスクを管理できます。