系统相关
首页 > 系统相关> > linux – 是否可以从保存在NTFS文件系统上的.iso中运行RAM中的任何发行版?

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

作者:互联网

完全从RAM运行已经在各种发行版上完成,例如Slax,DamnSmallLinuxnewer Ubuntu versions,因为我有8GB,所以我可以完全从RAM运行许多发行版是合理的(只要我选择一个具有该功能的发行版).

我想用OpenELEC(或任何发行版)执行此操作,并且进一步复杂化:我是.NET开发人员,工作并主要使用Windows,这意味着NTFS和FAT32是我首选的文件系统.直到有一天,如果Windows可以本地读取/写入ext分区,这将不会改变. Ext2fck甚至不会安装在Windows 8中,因此我无法让我觉得将驱动器和分区以不可读的格式存储到我的日常操作中的“优点”.

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

所以,这是我的梦想:

我想把所有三个合二为一.我想安装一个ext2 / ext3 / ext4分区,在这种情况下安装OpenELEC,将其压缩成.iso,并在我的启动菜单中创建一个条目,直接执行此操作,或将其传递给syslinux或者这样做会做到以下几点:

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

然后,作为奖励,在退出时,我将系统重新压缩为.iso,如果成功,则替换初始.iso,从而在引导之间保持我的更改(假设关闭成功).它也不必从内存中复制自己:它可以将它想要跟踪的任何文件/更改(如果有些不可用)复制回它引导的驱动器(如果存在),然后将其压缩回.iso .

Slax,DSLUbuntu可以启动到RAM并持续更改,因此我知道您的操作系统可以支持它.我想知道这是否可以制作成“适用于任何你想要的发行版”. Slax将您的更改保存在ext目录/ slax / changes中(如果它位于ext分区上),或者更改为change.dat(对于NTFS / FAT32).我想这个解决方案也可以工作,但可能需要与托管操作系统进行更多交互来协调这个问题而不是使用.iso.

那么,我能接近多远?

有没有简单的解决方案呢?我是否必须编写自定义’SYSLINUX’/’ISOLINUX’/’EXTLINUX’/’VMLINUX?要做到这一点需要什么,如果可能的话,我该如何开始?

解决方法:

有一个Puppy Linux的EXE安装程序,它使用syslinux从FAT32,NTFS或Linux文件系统(即ext2 / ext3 / ext4,xfs等)上的.iso启动,并使用unionfs/aufs在RAM中运行,可以完全访问持久存储(磁盘) ,SD,闪存盘等).

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

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

unionfs / aufs的O / S“分层”以及文件系统的多个安装是这里的核心技术,因此如果Puppy Linux不适合您,请查找other distros using them.

有很多installation options适用于Puppy Linux,包括一个Windows EXE Installer,它是一个单独的软件包,可以为双启动设置Windows启动加载程序.

标签:linux,linux-kernel,iso,ram,syslinux
来源: https://codeday.me/bug/20190812/1642685.html