Bug#925591: grub-install fails on raid1+efi setup
Joerg Dorchain
joerg at dorchain.net
Wed Mar 27 09:33:14 GMT 2019
Package: grub2-common
Version: 2.02+dfsg1-13
# grub-install
Installing for x86_64-efi platform.
efibootmgr: option requires an argument -- 'd'
efibootmgr version 15
usage: efibootmgr [options]
-a | --active sets bootnum active
-A | --inactive sets bootnum inactive
-b | --bootnum XXXX modify BootXXXX (hex)
-B | --delete-bootnum delete bootnum
-c | --create create new variable bootnum and add to bootorder
-C | --create-only create new variable bootnum and do not add to bo
otorder
-D | --remove-dups remove duplicate values from BootOrder
-d | --disk disk (defaults to /dev/sda) containing loader
-r | --driver Operate on Driver variables, not Boot Variables.
-e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess
-E | --device num EDD 1.0 device number (defaults to 0x80)
-g | --gpt force disk with invalid PMBR to be treated as GPT
-i | --iface name create a netboot entry for the named interface
-l | --loader name (defaults to "\EFI\debian\grub.efi")
-L | --label label Boot manager display label (defaults to "Linux")
-m | --mirror-below-4G t|f mirror memory below 4GB
-M | --mirror-above-4G X percentage memory to mirror above 4GB
-n | --bootnext XXXX set BootNext to XXXX (hex)
-N | --delete-bootnext delete BootNext
-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)
-O | --delete-bootorder delete BootOrder
-p | --part part (defaults to 1) containing loader
-q | --quiet be quiet
-t | --timeout seconds set boot manager timeout waiting for user input.
-T | --delete-timeout delete Timeout.
-u | --unicode | --UCS-2 handle extra args as UCS-2 (default is ASCII)
-v | --verbose print additional information
-V | --version return version and exit
-w | --write-signature write unique sig to MBR if needed
-y | --sysprep Operate on SysPrep variables, not Boot Variables.
-@ | --append-binary-args file append extra args from file (use "-" for stdin)
-h | --help show help/usage
grub-install: error: efibootmgr failed to register the boot entry: Operation not permitted.
This results in no efi boot variable set. The current workaround
is to manually copy /boot/efi/EFI/debian/grubx64.efi to
/boot/efi/EFI/boot/bootx64.efi
# dpkg-query -W|grep grub
grub-common 2.02+dfsg1-13
grub-efi-amd64 2.02+dfsg1-13
grub-efi-amd64-bin 2.02+dfsg1-13
grub2-common 2.02+dfsg1-13
# efibootmgr -v
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0006,0007,0005
Boot0004* UEFI OS HD(1,GPT,37db7f15-2cdd-4553-9185-6761a0208897,0x800,0x7d000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0005* Hard Drive BBS(HD,,0x0)..GO..NO........O.S.a.m.s.u.n.g. .S.S.D. .8.4.0. .S.e.r.i.e.s.................>..Gd-.;.A..MQ..L.1.S.C.4.E.N.C.A.6.A.7.1.5.1. .Z. . . . ........BO..NO........O.K.I.N.G.S.T.O.N. .S.V.3.0.0.S.3.7.A.1.2.0.G.................>..Gd-.;.A..MQ..L.0.5.2.0.B.6.8.7.1.5.6.0.0.A.5.3. . . . ........BO..NO........O.W.D.C. .W.D.6.0.E.F.R.X.-.6.8.L.0.B.N.1.................>..Gd-.;.A..MQ..L. . . . .W. .-.D.X.W.1.2.5.D.3.8.Y.N.7.V........BO
Boot0006* UEFI OS HD(1,GPT,b17fefc1-aee4-4936-99c6-595909b8cd80,0x800,0x7d000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0007* UEFI OS HD(1,GPT,695948ea-ba98-4c56-98ee-55e5aa8fb9e4,0x800,0x7d000)/File(\EFI\BOOT\BOOTX64.EFI)
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 1.2G 1 loop /nfsexports/tftp/grml
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 250M 0 part
│ └─md1 9:1 0 250M 0 raid1 /boot/efi
└─sda2 8:2 0 111.6G 0 part
└─md0 9:0 0 111.5G 0 raid1
├─redstar-root 253:0 0 704M 0 lvm /
├─redstar-swap 253:1 0 8G 0 lvm [SWAP]
├─redstar-usr 253:5 0 13G 0 lvm /usr
├─redstar-var 253:6 0 25G 0 lvm /var
├─redstar-tmp 253:7 0 30G 0 lvm /tmp
└─redstar-mnt 253:8 0 4M 0 lvm /mnt
sdb 8:16 0 5.5T 0 disk
├─sdb1 8:17 0 250M 0 part
│ └─md1 9:1 0 250M 0 raid1 /boot/efi
├─sdb2 8:18 0 111.6G 0 part
│ └─md0 9:0 0 111.5G 0 raid1
│ ├─redstar-root 253:0 0 704M 0 lvm /
│ ├─redstar-swap 253:1 0 8G 0 lvm [SWAP]
│ ├─redstar-usr 253:5 0 13G 0 lvm /usr
│ ├─redstar-var 253:6 0 25G 0 lvm /var
│ ├─redstar-tmp 253:7 0 30G 0 lvm /tmp
│ └─redstar-mnt 253:8 0 4M 0 lvm /mnt
└─sdb3 8:19 0 5.4T 0 part
└─cryptpv 253:2 0 5.4T 0 crypt
├─cryptvg-mail 253:3 0 1.6G 0 lvm /nfsexports/var_mail
└─cryptvg-export 253:4 0 2.4T 0 lvm /nfsexports/export
sdc 8:32 0 111.8G 0 disk
├─sdc1 8:33 0 250M 0 part
│ └─md1 9:1 0 250M 0 raid1 /boot/efi
└─sdc2 8:34 0 111.6G 0 part
└─md0 9:0 0 111.5G 0 raid1
├─redstar-root 253:0 0 704M 0 lvm /
├─redstar-swap 253:1 0 8G 0 lvm [SWAP]
├─redstar-usr 253:5 0 13G 0 lvm /usr
├─redstar-var 253:6 0 25G 0 lvm /var
├─redstar-tmp 253:7 0 30G 0 lvm /tmp
└─redstar-mnt 253:8 0 4M 0 lvm /mnt
# more /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb2[3](W) sdc2[2] sda2[0]
116898112 blocks super 1.2 [3/3] [UUU]
md1 : active raid1 sdb1[3](W) sdc1[2] sda1[0]
255936 blocks super 1.0 [3/3] [UUU]
EFI sees three EFI system partions on three disks. With metadata
at the end, the filesystem is fine for the bios.
In Linux, this is a three-way-mirror /dev/md1.
The grub-install script should be able to unwind the setup to
install three boot entries for the three disks.
The same effect is also reproducible with only a two-way-mirror.
As a side note, the default initramfs is fine with all this.
I am able to do testing. Thanks for having a look.
Bye,
Joerg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 898 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-grub-devel/attachments/20190327/c2a9bac3/attachment.sig>
More information about the Pkg-grub-devel
mailing list