ベアメタル回復後にUEFIシステムにインストールされたOSが起動しない

概要

ベアメタルリカバリが実行されてもブートエントリがないため、OSは起動しません。

UEFIシステムでは、各マシンのNVRAMにブートエントリが作成されます。
したがって、構成が変更された場合、ブート・エントリーがないため、ブートは実行できません。

再現する手順:

1)仮想マシンAを作成します。
2)仮想マシンAにCentOS7.xをインストールします。
3)仮想マシンAをバックアップします。
4)仮想マシンBを作成します。
5)仮想マシンBでBare Metal Recoveryを実行します。
6)仮想マシンBは起動しません。

これはUEFI特有のものであり、AIP側の問題ではありません。
HDDのみが交換され、ベアメタルリカバリされた場合、OSを起動することができます。

ベアメタルリカバリ後に起動しないOSは下記です。

- CentOS6.x
- RHEL6.x
- CentOS7.5以前
- SLES15 / SLED15
- OpenSUSE15
- Debian9~11

* RHEL7.x 以降はベアメタルリカバリ後に自動的にブートエントリを作成するため、回避策は必要ありません。

回避策

1) LinuxベースBEを起動し、ベアメタル復元後エントリが格納されるパーティションを確認します。

# parted -l
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 17.2GB
Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags:

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  211MB   210MB   fat16        EFI System Partition  boot
 2      211MB   1285MB  1074MB  xfs
 3      1285MB  17.2GB  15.9GB  

この場合、/dev/sda1にEFIのパーティションがあります。

2) 下記コマンドを実行しブートエントリを作成します。

CentOS7.5以前の場合

# efibootmgr --create --label CentOS --disk /dev/sda1 --loader /EFI/centos/shimx64.efi

CentOS6.x / RHEL6.xの場合

# efibootmgr --create --label CentOS --disk /dev/sda1 --loader /EFI/redhat/grub.efi

SLES15の場合

# efibootmgr --create --label SLES --disk /dev/sda1 --loader /EFI/sles/grubx64.efi

OpenSUSE15の場合

# efibootmgr --create --label OpenSUSE --disk /dev/sda1 --loader /EFI/opensuse/grubx64.efi

Debianの場合

# efibootmgr --create --label Debian --disk /dev/sda1 --loader /EFI/debian/grubx64.efi

3) LinuxベースBEを再起動し、OSを起動します。

対象製品

- ActiveImage Protector 2016R2 / 2018 / 2022 Linux 版
- ActiveImage Protector 2018 / 2022 HyperAgent
- Deploy USB



?akb&p=1488

Table of Contents