有没有办法可以指定实时媒体所在的设备?
我的 EFI 系统分区中有内核和 initrd。实时媒体文件系统位于同一 (USB) 驱动器上的 NTFS 分区中。grub2 没有内置 NTFS 支持。在启用安全启动的情况下启动时,grub2 不会加载模块,因此其“搜索”命令无法找到 NTFS 分区,也无法从该分区加载内核和 initrd。
我努力了
- Linux 内核 live-media-path=casper 目录路径
- linux (hd1,msdos1)/kernel live-media-path=(hd1,msdos5)/casper目录的路径
- linux (hd1,msdos1)/内核 live-media=/dev/sdb5 live-media-path=/casper 目录路径
set root=hd1,msdos5 linux (hd1,msdos1)/kernel live-media-path=/path-to-casper-directory
大多数都可以启动,但是无法将实时媒体文件系统复制到内存中:
Begin copying live-media to ram...
Not enough memory (4GB > 187GB) to copy live-media to ram
(这是 /var/log/casper.log 中消息的近似值)
我曾看到有人提到“live-media=”内核选项用于指定实时媒体设备,但我也看到有人提到该选项不起作用。我曾尝试查看 initramfs-tools/scripts/casper 以查找有关指定“live-media=”的正确格式/协议的线索——但我失败了。
答案1
live-media=/dev/sdb5
正如广告所宣传的那样。
我误解了“需要 187GB”的意思,认为它表示 casper 锁定了错误的(可能是未格式化的)分区,因为我预计如果它复制 filesystem.squashfs 文件,则需要 1 GB,如果它复制该文件所代表的文件系统的内容,则需要 3 GB。
我反复阅读“复制只读媒体”的描述,并将其解释为“只读文件系统”。由于它确实意味着“媒体”,而我将 casper 目录与一大堆其他垃圾一起埋在 NTFS 文件系统中,因此它确实想要复制 187 GB。