总结:为了使用 iso 作为其文件系统 / 源 / 使任何东西以这种方式工作来启动 Fedora,我需要形成什么样的 GRUB2 菜单项 / Linux 内核启动选项,而不是简单地将其刻录到光盘上,将 ISO 设置为 VM 的虚拟光驱,或将 ISO 的内容清空到单独的驱动器分区并链接加载到其中?
背景研究
我需要一个能用的菜单项。我试了很多次,但记不住自己站在哪个位置。好久不见了……
此链接可能几乎有帮助,但该部分没有更多信息:Ubuntu 文档 - Grub2/ISOBoot/示例#Fedora
这些链接没有帮助,因为我不想将我需要的每个发行版/工具存储到单独的媒体中:
- 超级用户-如何从 .iso 文件安装 Fedora?[重复]
- 超级用户 - 如何安装 fedora 12 iso 文件?
- 询问 Fedora - 如何使用 grub2 启动 Fedora ISO?谢谢
这个链接似乎root=
多次提到了这个参数,并且是一个很有帮助的地方,但我无法用它来理解和解决我的情况:fedora - 常见内核问题
我的启动配置的旧版本,其中包含多个看起来不那么混乱的项目:GitHubGist - Pysis868/grub.cfg
我相信我已经在 Fedora 条目中删除了所需启动文件的“0”,并且已经超越了这一进度点。
我认为我正试图正确设置根文件系统。现在我收到以下错误:
...
[ <system_Step_time> dracut-initqueue[604]: mount: unknown filesystem type 'ntfs'
...<below message repeated>...
[ <system_Step_time> dracut-initqueue[604]: Warning: dracut-initqueue timeout - starting timeout scripts
[ <system_Step_time> dracut-initqueue[604]: Warning: Could not boot.
[ <system_Step_time> dracut-initqueue[604]: /dev/mapper/live-rw does not exist
[ <system_Step_time> dracut-initqueue[604]: /dev/root does not exist
Starting Dracut Emergency Shell...
“ntfs”错误可能只是由于系统尝试从另一个分区读取而导致的。启动文件全部位于第一个分区,在 FAT32 文件系统中(来自我的另一台基于 Linux 的虚拟机的命令和输出):
username@localhost > sudo fdisk -l
Disk /dev/sda: 57.9 GiB, 62176362496 bytes, 121438208 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x745111c0
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 82915264 82913217 39.5G c W95 FAT32 (LBA)
/dev/sda2 82915265 121436159 38520895 18.4G f W95 Ext'd (LBA)
/dev/sda5 82915328 89982975 7067648 3.4G 7 HPFS/NTFS/exFAT
/dev/sda6 89982976 117438463 27455488 13.1G 83 Linux
/dev/sda7 117440512 121436159 3995648 1.9G 82 Linux swap / Solaris
从救援壳内部:
dracut:/# ls /dev/s* -1
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda5
/dev/sda6
/dev/sda7
/dev/sg0
/dev/sg1
/dev/snapshot
/dev/sr0
/dev/stderr
/dev/stdin
/dev/stdout
/dev/shm:
lldpad.state
dracut:/# fdisk
sh: fdisk: command not found
Fedora-Workstation-Live-x86_64-25-1.3.iso/isolinux/grub.conf
相关摘录:
title Start Fedora-Workstation-Live 25
findiso
kernel @KERNELPATH@ @ROOT@ rd.live.image quiet
initrd @INITRDPATH@
Fedora-Workstation-Live-x86_64-25-1.3.iso/isolinux/isolinux.cfg
相关摘录:
menu label ^Start Fedora-Workstation-Live 25
kernel vmlinuz
append initrd=initrd.img root=live:CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet
我查看了 Unetbootin 的安装程序,但尚未找到任何有用的文件。
LinuxLive USB Creator 2.9.4\sources\LiLi\Boot_Menus.au3
相关摘录:
& @LF & "label live" _
& @LF & " menu label " & Translate("Live Mode") _
& @LF & " kernel "&$vmlinuz_file _
& @LF & " append initrd="&$initrd_file&" root=UUID=" & $uuid & " rootfstype=vfat ro "&$liveimg_text&" quiet rhgb rd.luks=0 rd.md=0 rd.dm=0" _
& @LF & " menu default"
来自我当前混乱的测试块的相关摘录/boot/grub2/grub.cfg
:
menuentry "TEST Fedora-Workstation-Live-x86_64-25-1.3 TEST 2" {
set isofile="$linuxPath/Fedora-Workstation-Live-x86_64-25-1.3.iso"
loopback loop "$isofile"
# linux (loop)/isolinux/vmlinuz root=live:CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet
# linux (loop)/isolinux/vmlinuz root=UUID="2016-11-15-22-03-09-00" rootfstype=vfat ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
linux (loop)/isolinux/vmlinuz iso-scan/filename="$isofile" rootfstype=vfat ro rd.live.image quiet rhgb rd.luks=0 rd.md=0 rd.dm=0
# linux (loop)/isolinux/vmlinuz root=CDLABEL=Fedora-WS-Live-25-1-3 rd.live.image quiet
initrd (loop)/isolinux/initrd.img
}
与主题相关的链接,但没有具体涵盖 Fedora:超级用户 - grub:从 ISO 启动
我不知道这是否有帮助,但我认为该search
命令很简洁:askubuntu - 如何从 GRUB2 中的 .iso 文件启动?[重复]
我不会直接从硬盘和分区的文件系统中使用它。
这没有具体涵盖root=
启动/内核参数,但它似乎具有类似于该9.1.4. Specifying the Installation Method
部分下的值的模板格式:Fedora 文档 - 第 9 章 启动选项
安装方法-选项格式
- CD 或 DVD 驱动器 -
repo=cdrom:device
- 硬盘 -
repo=hd:device/path
- HTTP 服务器 -
repo=http://host/path
- FTP 服务器 -
repo=ftp://username:password@host/path
- NFS 服务器 -
repo=nfs:server:/path
- NFS 服务器上的 ISO 映像 -
repo=nfsiso:server:/path
实际上,这次阅读与“启动选项”页面链接相结合的帮助气泡,告诉我我可以/usr/share/doc/kernel-doc-version/Documentation/kernel-parameters.txt
从kernel-doc
包中读取文件以获取内核选项的完整列表。
该软件包在我的 F25 系统上默认未安装,我也没有在存储库中看到它。我只看到kernel-
主要带有后缀core
、PAE
、header
、modules
、debug
、devel
和rpm
的软件包tools
。
环境
主机:Windows 10 Pro x64
虚拟机管理程序:Oracle VirtualBox 5.1.22 和 Oracle VM VirtualBox Extension Pack 5.1.22 以管理员身份运行,以实现直接磁盘访问
答案1
从另一次 Google 搜索来看,这个链接似乎是一条不错的线索:askubuntu - Grub2/ISOBoot#Example_ISO_Menuentries
带我来这里:askubuntu - Grub2/ISOBoot/示例#Gparted
当处理我的启动设备的其他随机部分时,我注意到示例代码中的链接,它将我引导到这里:ArchLinux - 多重启动 USB 驱动器 - Fedora#Workstation_live_medium
并且它启动了!
ArchLinux 总是有很好的 wiki 页面 :)