我想随身携带一个 Fedora Live UEFI 启动 USB 以备不时之需,但我不想携带两个 USB 驱动器。所以我想要一个有两个分区的 USB 驱动器,一个用于 Fedora Live 启动,另一个用于我的东西。我一直有一个像这样的笔式驱动器,用于 Fedora Live 26,现在我想要一个用于 Fedora 38(或左右)的笔式驱动器。
问题:
mediawriter
,在 Fedora 中写入 Live USB 的标准方法,只写入 USB 设备,不写入分区。
livecd-iso-to-disk
会工作,但它有一个长期存在的错误并且不起作用。
unetbootin
仅适用于传统引导,不适用于 UEFI。而新的戴尔电脑只能启动 UEFI。自 2015 年以来就有一个公开的请求...
dd
: 我试了好几次,dd
都失败了。
有任何想法吗?必须有一个简单的方法来做到这一点dd
!
############ 编辑 #############
按照@oldfred 发布的一些链接,我能够使用以下收据从笔式驱动器分区启动 UEFI:
Fedora USB LIVE 到笔式驱动器中的分区(例如,/dev/sda1
):
使用 gparted 或类似软件,确保笔式驱动器的第一个分区是 gpt,并且有标签
<YOURLABEL>
(可以无损更改);使用以下命令将引导标志添加到分区:
parted /dev/sda set 1 boot on
挂载
/dev/sda1
到 a<MountPoint>
并使用 7z 将所有 ISO 内容提取到其中:7z x <PATH/TO/ISOFILE.iso> -o<MountPoint>
更改
<MountPoint>/efi/boot/grub.cfg
并<MountPoint>/boot/grub2/grub.cfg
反映正确的设备:menuentry 'Fedora-KDE-Live 38 EFI' --class fedora --class gnu-linux --class gnu --class os { linuxefi /images/pxeboot/vmlinuz root=live:LABEL=<YOURLABEL> rd.live.image quiet rhgb initrdefi /images/pxeboot/initrd.img }
评论。电脑grub菜单中相应的条目可以通过添加到文件中来添加/etc/grub.d/40_custom
:
menuentry 'Fedora-KDE-Live 38 EFI' --class fedora --class gnu-linux --class gnu --class os {
search --no-floppy --label <YOURLABEL> --set=root
linuxefi /images/pxeboot/vmlinuz root=live:LABEL=<YOURLABEL> rd.live.image quiet rhgb
initrdefi /images/pxeboot/initrd.img
}
备注 2.不幸的是,当 ISO 位于笔式驱动器中时,我无法直接从 ISO 启动。根据这篇文章,自 Fedora 33 以来有一个错误阻止了这一点。
两种方式。我只是使用 grub2 的 loopmount 来引导 Fedora。我喜欢在我的系统分区的文件夹 /ISO 中有很多 ISO、几个 Ubuntu、gparted、Boot-Repair 和其他。我在 40_custom 中添加了一个指向文本文件的链接,因为我从不记得更新 grub 菜单,但文本文件可以正常工作。
另一种选择是创建一个足够大的 FAT32 分区,将引导、esp 标志移动到它并将 ISO 提取到其中。它将从 /EFI/Boot/bootx64.efi 启动。将 esp,boot 标志移回标准 ESP。然后你可以让你的标准 grub 做一个配置文件到那个 FAT32 分区。Grub 不会再关心它是否不再是 ESP,但您只能使用 esp 标志直接从 UEFI 引导它。
正确获取路径和参数通常是最大的问题。我的路径是分区 (hd2,5) 中的 /ISO,如未安装分区时所见。
将我的典型 grub 条目显示为我的 /ISO 文件夹中的文本文件的配置文件。
https://askubuntu.com/questions/1380683/how-to-install-ubuntu-based-os-on-internal-hard-drive-without-a-flash-drive-usin
https://www.linuxbabe.com/desktop-linux/boot-from-iso-files-using-grub2-boot-loader
https://help.ubuntu.com/community/Grub2/ISOBoot
https://askubuntu.com/questions/1251729/20-04-booting-iso-from-grub-menu
https://askubuntu.com/questions/395879/how-to-create-uefi-only-bootable-usb-live-media
我相信因为我使用文本文件的配置文件条目,所以记住了设置的 grub,这就是上面的条目起作用的原因。我的文本文件是 /ISO/livecdimage.cfg 并且有上面的启动节,可以在我的 NVMe 驱动器上启动 Fedora 38,我从中启动并被视为 hd2。