是否可以从保存在 NTFS 文件系统上的 .iso 中的 RAM 运行任何发行版?

是否可以从保存在 NTFS 文件系统上的 .iso 中的 RAM 运行任何发行版?

完全从 RAM 运行已在各种发行版上完成,例如斯莱克斯,该死的小Linux, 和较新的 Ubuntu 版本,因为我有 8GB,所以我可以完全从 RAM 运行许多发行版(只要我选择一个有能力的发行版),这似乎是合理的。

我想使用OpenELEC(或任何发行版)执行此操作,但情况会更加复杂:我是一名.NET开发人员,工作并主要使用 Windows,这意味着 NTFS 和 FAT32 是我的首选文件系统。直到 Windows 能够本地读取/写入 ext 分区的那一天到来之前,这一点都不会改变。 Ext2fck 甚至无法安装在 Windows 8 中,因此无法让我相信在日常操作中使用不可读格式的驱动器和分区有什么“好处”。

还有诸如syslinuxvmlinuzextlinux可以将.iso文件加载到 RAM 中并有效地引导加载它们的东西。为了锦上添花,Windows 的引导加载程序将允许我将这些作为选项添加到本机 Windows 引导菜单中,这是我为 UBCD 5.11 所做的,甚至适用于虚拟文件系统,例如.vhd等。

所以,这就是我的梦想:

我想将这三者合而为一。我想要安装一个已安装的 ext2/ext3/ext4 分区,在本例中是安装 OpenELEC,将其压缩为 .iso,并在我的启动菜单中创建一个条目,该条目可以直接执行此操作,也可以将其传递给 syslinux 或这样会执行以下操作:

将 .iso 作为 ext2/3/4 分区完全提取到 RAM 中,并启动到 RAM 中的该操作系统。然后,我将使用 ntfs-3g 为 OpenELEC 安装的 /STORAGE 部分安装 NTFS 硬盘驱动器。

然后,作为奖励,在退出时,我会让系统将自身重新压缩为 .iso,如果成功,则替换初始 .iso,从而在启动过程中保留我的更改(前提是关闭成功)。它也不必从内存中复制自身:它可以将它想要跟踪的任何文件/更改(如果有些不可用)复制回它启动的驱动器(如果存在),然后将其压缩回 .iso 。

斯莱克斯,DSL乌班图可以启动到 RAM 并保留更改,所以我知道如果您的操作系统支持它,这是可能的。我想知道这是否可以制作成“适用于您想要的任何发行版”。 Slax 将您的更改保存在 ext 目录 /slax/changes 中(如果位于 ext 分区上),否则保存为 Changes.dat(对于 NTFS/FAT32)。我想这个解决方案也可以工作,但与使用 .iso 相比,可能需要与托管操作系统进行更多交互来协调这一点。

那么,我能接近多远呢?

是否已经有简单的解决方案?我是否必须编写自定义的“SYSLINUX”/“ISOLINUX”/“EXTLINUX”/“VMLINUX”?要实现这一点需要什么?如果已经可能,我该如何开始?

答案1

有一个 EXE 安装程序小狗Linux从 .iso 启动FAT32,NTFS或 Linux 文件系统(即 ext2/ext3/ext4、xfs 等)使用系统Linux在内存中运行使用联盟/奥夫斯具有对持久存储(磁盘、SD、闪存驱动器等)的完全访问权限。

当然,可以从命令行或脚本安装其他 ISO,也可以通过在附带的 ROX-Filer 文件管理器中单击它们来安装。一种方便的用途是有选择地访问或恢复旧版本的文件,而不必回滚所有内容。

原始的 Puppy Linux 发行版 ISO 本身通常是一个 ext3/4 文件系统,保存在 aufs 堆栈的最低层。更改记录在最顶层,并定期(可配置)刷新到磁盘上的“保存文件”。启动时,原始 ISO 被加载到 RAM 并以只读方式安装,然后保存文件被加载并以只读方式安装以覆盖它,并安装一个空的读写层以用于任何新的更改。要保留更改历史记录,只需设置自动或手动将保存文件 ISO 复制到存档目录即可。

unionfs/aufs 的操作系统“分层”以及文件系统的多重挂载是这里的核心技术,因此,如果 Puppy Linux 不适合您,请寻找其他使用它们的发行版

有相当多的安装选项适用于 Puppy Linux,包括Windows EXE 安装程序这是一个单独的软件包,用于设置 Windows 引导加载程序以进行双引导。

相关内容