免责声明:我没有在 UEFI 启动模式下安装 Ubuntu Server 的经验。
语境
我正在通过 mdadm 设置带有 RAID 10 的新服务器。 AFAIK,ESP 无法进行 RAID,因此在 Ubuntu 安装期间,我将四个磁盘设置为引导设备,如下所示:
安装完成后,lsblk
输出如下所示(抱歉,输出很长):
citilan@zitz:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 48M 1 loop /snap/snapd/17029
loop1 7:1 0 47M 1 loop /snap/snapd/16292
loop2 7:2 0 62M 1 loop /snap/core20/1587
loop3 7:3 0 79.9M 1 loop /snap/lxd/22923
loop4 7:4 0 63.2M 1 loop /snap/core20/1623
loop5 7:5 0 103M 1 loop /snap/lxd/23541
sda 8:0 0 3.6T 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 16G 0 part
│ └─md2 9:2 0 32G 0 raid10
│ └─md2p1 259:1 0 32G 0 part [SWAP]
├─sda3 8:3 0 512M 0 part
│ └─md0 9:0 0 1020M 0 raid10
│ └─md0p1 259:0 0 1018M 0 part /boot
└─sda4 8:4 0 3.6T 0 part
└─md1 9:1 0 7.2T 0 raid10
└─md1p1 259:2 0 7.2T 0 part /
sdb 8:16 0 3.6T 0 disk
├─sdb1 8:17 0 1G 0 part /mnt
├─sdb2 8:18 0 16G 0 part
│ └─md2 9:2 0 32G 0 raid10
│ └─md2p1 259:1 0 32G 0 part [SWAP]
├─sdb3 8:19 0 512M 0 part
│ └─md0 9:0 0 1020M 0 raid10
│ └─md0p1 259:0 0 1018M 0 part /boot
└─sdb4 8:20 0 3.6T 0 part
└─md1 9:1 0 7.2T 0 raid10
└─md1p1 259:2 0 7.2T 0 part /
sdc 8:32 0 3.6T 0 disk
├─sdc1 8:33 0 1G 0 part
├─sdc2 8:34 0 16G 0 part
│ └─md2 9:2 0 32G 0 raid10
│ └─md2p1 259:1 0 32G 0 part [SWAP]
├─sdc3 8:35 0 512M 0 part
│ └─md0 9:0 0 1020M 0 raid10
│ └─md0p1 259:0 0 1018M 0 part /boot
└─sdc4 8:36 0 3.6T 0 part
└─md1 9:1 0 7.2T 0 raid10
└─md1p1 259:2 0 7.2T 0 part /
sdd 8:48 0 3.6T 0 disk
├─sdd1 8:49 0 1G 0 part
├─sdd2 8:50 0 16G 0 part
│ └─md2 9:2 0 32G 0 raid10
│ └─md2p1 259:1 0 32G 0 part [SWAP]
├─sdd3 8:51 0 512M 0 part
│ └─md0 9:0 0 1020M 0 raid10
│ └─md0p1 259:0 0 1018M 0 part /boot
└─sdd4 8:52 0 3.6T 0 part
└─md1 9:1 0 7.2T 0 raid10
└─md1p1 259:2 0 7.2T 0 part /
/boot/efi
/etc/fstab
由于Ubuntu 安装添加了此条目而被安装
root@zitz:~# grep efi /etc/fstab
# /boot/efi was on /dev/sda1 during curtin installation
/dev/disk/by-uuid/3FD8-AF4F /boot/efi vfat defaults 0 1
另外,这是我的efibootmgr -v
输出:
# efibootmgr -v
BootCurrent: 000B
Timeout: 1 seconds
BootOrder: 000B,000D,000E,000F,0003,0004,0005,0006,0002,0001
Boot0001 Hard Drive BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)..GO..NO..........S.T.4.0.0.0.N.M.0.0.0.A.-.2.H.Z.1.0.0...................\.,[email protected].=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .S.W.3.2.M.L.A.V........BO..NO..........S.T.4.0.0.0.N.M.0.0.0.A.-.2.H.Z.1.0.0...................\.,[email protected].=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .S.W.3.2.M.L.H.5........BO..NO..........S.T.4.0.0.0.N.M.0.0.0.A.-.2.H.Z.1.0.0...................\.,[email protected].=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .S.W.3.2.M.L.C.7........BO..NO..........S.T.4.0.0.0.N.M.0.0.0.A.-.2.H.Z.1.0.0...................\.,[email protected].=.X..........A...........................>..Gd-.;.A..MQ..L. . . . . . . . . . . . .S.W.3.2.M.L.3.4........BO
Boot0002* UEFI: Built-in EFI Shell VenMedia(5023b95c-db26-429b-a648-bd47664c8012)..BO
Boot0003* (B2/D0/F0) UEFI PXE IPv4 Intel(R) Ethernet Controller X550(MAC:3cecefc7f71e) PciRoot(0x0)/Pci(0x1b,0x4)/Pci(0x0,0x0)/MAC(3cecefc7f71e,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0004* (B2/D0/F1) UEFI PXE IPv4 Intel(R) Ethernet Controller X550(MAC:3cecefc7f71f) PciRoot(0x0)/Pci(0x1b,0x4)/Pci(0x0,0x1)/MAC(3cecefc7f71f,1)/IPv4(0.0.0.00.0.0.0,0,0)..BO
Boot0005* (B2/D0/F0) UEFI PXE IPv6 Intel(R) Ethernet Controller X550(MAC:3cecefc7f71e) PciRoot(0x0)/Pci(0x1b,0x4)/Pci(0x0,0x0)/MAC(3cecefc7f71e,1)/IPv6([::]:<->[::]:,0,0)..BO
Boot0006* (B2/D0/F1) UEFI PXE IPv6 Intel(R) Ethernet Controller X550(MAC:3cecefc7f71f) PciRoot(0x0)/Pci(0x1b,0x4)/Pci(0x0,0x1)/MAC(3cecefc7f71f,1)/IPv6([::]:<->[::]:,0,0)..BO
Boot000B* ubuntu HD(1,GPT,175deae0-cf0e-4637-8fd8-c358043eebae,0x800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)
Boot000D* ubuntu HD(1,GPT,ad3a98c7-8a50-4fe3-abae-93aec5b080a0,0x800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)..BO
Boot000E* ubuntu HD(1,GPT,b1c20b0c-c83e-4a8e-a1b8-210d1e1c5662,0x800,0x219800)/File(\EFI\UBUNTU\SHIMX64.EFI)..BO
Boot000F* ubuntu HD(1,GPT,0bb71865-f415-4d7c-bc5a-6f30dbe9872a,0x800,0x219800)/File(\EFI\ubuntu\shimx64.efi)..BO
问题:
- Ubuntu 负责 ESP 同步吗?鉴于我丢失了当前安装的 /boot/efi,备份 ESP 是否是最新的?否则,我是否必须手动安装并同步它们?
- 如果我删除
/dev/sda
(3FD8-AF4F
in/etc/fstab
)并启动服务器,它将开始以root
用户身份登录。没有登录提示。只需启动服务器即可root
。/boot/efi
未安装(参见问题 3) - 如何自动安装其中一个备份 ESP
/boot/efi
?这里的最佳实践是什么?
谢谢
答案1
是的,如果
grub-efi-amd64
配置为使用它们作为 ESP:s,那么 Ubuntu 将自动同步它们。而且它们不需要安装即可同步,我自己根本没有/boot/efi
安装。fstab
该配置由 处理
debconf
。该命令sudo dpkg-reconfigure grub-efi-amd64
应该处理这个问题,并将debconf-show grub-efi-amd64
显示 grub 配置为使用哪些设备。如果这不起作用,则
debconf
可以手动编辑该文件,使用须藤(你最喜欢的编辑)/var/cache/debconf/config.dat
然后搜索“grub-efi”。我有 5 个 ESP 分区,所以我的条目如下所示:
Name: grub-efi/install_devices Template: grub-efi/install_devices Value: /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2M3PT-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2MACF-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2MXKQ-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z1NEB7-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z1NWY6-part1 Owners: grub-common, grub-efi-amd64 Flags: seen Variables: CHOICES = RAW_CHOICES = Name: grub-efi/install_devices_disks_changed Template: grub-efi/install_devices_disks_changed Value: /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2M3PT-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2MACF-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z2MXKQ-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z1NEB7-part1, /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z1NWY6-part1 Owners: grub-common, grub-efi-amd64 Flags: seen Variables: CHOICES = RAW_CHOICES =
我不确定这两个条目是否都已使用,但我会更改这两个条目以匹配您的所有 ESP 分区。保存然后执行
sudo dpkg-reconfigure grub-efi-amd64
,GRUB 将安装在所有正确的位置并继续执行。这不可能发生。也许您正在输入某种类型的恢复提示符,但被误认为是 root?
autologin
由于 中没有条目,系统无法执行此操作fstab
。根本不需要,但如果您愿意,可以将 3FD8-AF4F 条目保留在那里;无论如何,它没有用于任何用途。