创建没有持久存储的系统映像?

创建没有持久存储的系统映像?

所以我想创建一个系统映像,我可以告诉 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根据您的设置更改文件(见下文)。

  1. 获取iso映像

  2. 使用 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
    
  3. 使用文件管理器打开 iso 并打开/boot/grub/grub.cfg.

  4. 复制这部分,粘贴到之前的代码下面:

    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
    }
    
  5. 改成:

    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
}
  1. 跑步update-grub

下次重新启动时,您将在 GRUB 中看到一个运行实时操作系统的新条目。

相关内容