使用具有持久性的GRUB2从HDD引导文件系统映像


8

当运行从包含文件系统的文件中启动的操作系统(使用GRUB2)时,如何保存对文件所做的更改。

我设法使GRUB2来启动驻留在HDD上的映像文件。到目前为止,对于用于各种非Linux实用程序的FreeDOS启动非常有用。我希望的是,如果我在此正在运行的操作系统中创建文件(或对其进行更改),则会将其写回到映像文件,以便下次启动该映像文件时,可以从上次中断的地方继续进行操作,而不是使用第一次启动的同一映像重新开始。

Answers:


1

内存磁盘(这就是您正在使用的,对吗?)通过用自己的代码替换BIOS磁盘驱动程序来工作,该代码更改了内存中的副本,而不是直接访问磁盘。引导加载程序(Syslinux,Grub或其他您正在使用的引导程序)可以完成从磁盘加载映像的工作,并且一旦Memdisk启动,它就不会保留在内存中。

为了将更改重新带回磁盘,您需要向Memdisk添加磁盘和文件系统支持。从原则上讲,这并非不可能,但这是一项巨大的开发工作,而且我不知道有人在为此工作。

您可以做的是在磁盘上创建一个小型FAT分区,在重新启动之前将磁盘映像复制到该磁盘上,然后在需要时将其复制回去。


关于将内存内容复制到磁盘的有趣建议。您知道如何在实践中实现这一目标吗?我对在运行实时操作系统为Linux的情况下如何实现这一点有一些想法,但是如何使用Windows将内存文件系统写入磁盘上的文件,我不知道如何实现。
runeks 2011年

@runeks正如我所说,这是一项重大的开发工作。Memdisk不在Linux或Windows下运行,而是直接在计算机上运行-它是其自己的专用操作系统。
吉尔(Gilles)'所以

我知道了。我当时正在考虑从OS上执行此操作。例如,在Linux中,安装硬盘驱动器分区,在该分区上的文件中创建新文件系统,安装此文件系统,然后将正在运行的OS的根文件系统的内容复制到该文件。然后,下次从该文件引导。它可以在某些脚本中自动执行以在关闭时完成。我想我只需要尝试一下看看是否能正常工作,如果可以对Windows进行相同的操作,将会很有趣。
runeks
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.