Ubuntu 22.04下efibootmgr命令路径斜杠丢失问题求助
Ubuntu 22.04下efibootmgr命令路径斜杠丢失问题求助
大家好,我目前在DELL XPS 9320上运行Ubuntu 22.04.3(带维护更新),相关环境信息如下:
- 系统:Ubuntu 22.04.3 + 维护更新(Unix变体)
- 设备:DELL XPS 9320
- efibootmgr版本:17
- GNU bash版本:5.1.16(1)-release (x86_64-pc-linux-gnu)
我最近尝试用efibootmgr添加一个新的启动项,但遇到了路径斜杠丢失的问题。我执行的命令是:
sudo efibootmgr -v -b 0006 -L alternate -l "\\EFI\\ubuntu\\shimx64.efi" -d /dev/nvme0n1
执行后得到的输出如下:
BootCurrent: 0005 Timeout: 0 seconds BootOrder: 0006,0005,0000,0002,0001,0003,0004 Boot0000 ubuntu HD(1,GPT,cf3c865e-ea2b-40ea-a869-6c5d9634756d,0x22,0x77338)/File(\EFI\ubuntu\shimx64.efi) Boot0001* Linux Firmware Updater HD(1,GPT,cf3c865e-ea2b-40ea-a869-6c5d9634756d,0x22,0x77338)/File(\EFI\ubuntu\fwupdx64.efi) Boot0002* UEFI PC SN810 NVMe WDC 2048GB 230994444307 1 HD(1,GPT,cf3c865e-ea2b-40ea-a869-6c5d9634756d,0x22,0x77338)/File(\EFI\Boot\BootX64.efi)N.....YM....R,Y. Boot0003* PEBOOT HD(1,GPT,d120a4ac-d9f3-450e-9569-3df52d5b6b9e,0x22,0x77338)/File(\EFI\PEBoot\bootx64.efi) Boot0004 UEFI HTTPs Boot PciRoot(0x0)/Pci(0x1f,0x6)/MAC(000000000000,0)/IPv4(0.0.0.00.0.0.0,0,0)/Uri()N.....YM....R,Y. Boot0005* rEFInd Boot Manager HD(1,GPT,cf3c865e-ea2b-40ea-a869-6c5d9634756d,0x22,0x77338)/File(\EFI\refind\refind_x64.efi) Boot0006* alternate HD(1,GPT,cf3c865e-ea2b-40ea-a869-6c5d9634756d,0x22,0x77338)/File(EFIubuntushimx64.efi)
可以看到,新创建的Boot0006条目里的文件路径完全丢失了斜杠,变成了EFIubuntushimx64.efi,而我期望它和Boot0000一样,路径是\EFI\ubuntu\shimx64.efi,只是启动项名称换成alternate而已。
我已经试过了各种方式来处理路径参数,包括:
- 去掉路径的引号
- 用单引号包裹路径
- 使用正斜杠(
/EFI/ubuntu/shimx64.efi) - 使用单反斜杠和双反斜杠
但不管怎么试,斜杠都会被去掉,好像是某个环节(shell?终端?efibootmgr本身?)把它们给吃掉了。希望有经验的朋友能帮我看看这个问题怎么解决,感谢大家!
备注:内容来源于stack exchange,提问作者HiTechHiTouch
相关产品推荐
相关产品推荐

