所以我想创建一个系统映像,我可以告诉 grub 每次启动,但只有临时内存。我想创建一个完全安装和设置的系统映像,然后在这种易失性框中使用它。基本上意味着在启动时所做的任何更改都会保留,但重新启动后它会从同一位置开始。
我知道可以通过制作类似 squashfs 映像的东西,然后告诉 grub 每次使用临时存储分区来启动该映像;但是,我不知道该怎么做。您将如何以这种方式不仅创建而且使用简单的 Debian 映像?
答案1
引导实时 iso 映像:以 Debian 为例。在这个例子中我的配置如下:
我安装的操作系统(Debian)位于(EFI)分区
hd0,gpt5
我使用 iso 映像
debian-live-10.3.0-amd64-gnome+nonfree.iso
。我把iso放在下面
/home/user/Live
您必须
40_custom
根据您的设置更改文件(见下文)。
获取iso映像。
使用 sudo 打开
/etc/grub.d/40_custom
并添加:set root=(hd0,gpt5) # here the partition where you placed your iso set iso_path=/home/user/Live/debian-live-10.3.0-amd64-gnome+nonfree.iso loopback loop $iso_path
使用文件管理器打开 iso 并打开
/boot/grub/grub.cfg
.复制这部分,粘贴到之前的代码下面:
menuentry "Debian GNU/Linux Live (kernel 4.19.0-8-amd64)" { linux /live/vmlinuz-4.19.0-8-amd64 boot=live components splash quiet "${loopback}" initrd /live/initrd.img-4.19.0-8-amd64 }
改成:
menuentry "Debian GNU/Linux Live (内核 4.19.0-8-amd64)" { 操作系统 (环形)/live/vmlinuz-4.19.0-8-amd64 boot=live 组件启动安静findiso=$iso_path 初始化程序(环形)/live/initrd.img-4.19.0-8-amd64 }
文件40_custom
完整:
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
set root=(hd0,gpt5) # here the partition where you placed your iso
set iso_path=/home/user/Live/debian-live-10.3.0-amd64-gnome+nonfree.iso
loopback loop $iso_path
menuentry "Debian GNU/Linux Live (kernel 4.19.0-8-amd64)" {
linux (loop)/live/vmlinuz-4.19.0-8-amd64 boot=live components splash quiet findiso=$iso_path
initrd (loop)/live/initrd.img-4.19.0-8-amd64
}
- 跑步
update-grub
。
下次重新启动时,您将在 GRUB 中看到一个运行实时操作系统的新条目。