创建系统可引导映像的正确方法是什么?


16

如果我可以在安装完系统后立即设置好系统,所需的所有主题,程序和SDK,然后保存该快照,那岂不是很好吗?就像备份一样,除了我可以引导该映像并将其安装在我想安装的任何计算机上?

我很确定这是可能的。实际上,我知道在某种程度上

https://help.ubuntu.com/community/LiveCDCustomizationFromScratch

但是有更好的方法吗?有人知道我可以使用的魔法吗?我是否可以只保存系统状态,以便在安装一些不受支持的服务器软件并构筑系统时,不需要再花一个小时来设置它?


您正在运行“裸机”安装还是虚拟机?
通配符

这将是裸机。正如我希望获得完美的“起点设置”一样,因此,我没有自定义映像,可以从中启动安装它,而不是弹出带有新下载映像的USB 。
雅各布(Jacob)

您可能需要研究“创建无业游民的盒子”。
通配符

@derobert Only现在才注意到您的评论,但是那时我已经在输入答案了……
Fabby 2016年

1
@Fabby评论不是答案。即使您无耻地偷了它并将其变成答案,这对我也很好-您添加了另外四段说明,您应该得到答案。
derobert

Answers:


11

我分别使用CloneZillaBack In Time进行系统和数据备份。

与内置工具相比,CloneZilla的优势dd在于它使用自己的工具partclone创建非常小的图像(它可以识别稀疏文件,可以使用许多压缩实用程序...),然后回退以ddrescue读取损坏的硬盘!(在HDD最终完全放弃之前,最好进行最后一次备份。)

但是,您(至少)应该有一个单独的目录,/并且/home要轻松区分操作系统和用户配置文件。

没有什么能像CloneZilla那样灵活,强大和快速地完成完整的脱机映像/磁盘备份(如果有人提到其最喜欢的备份工具来查看他们是否有东西,我总是在阅读备份手册。更好的是我有)

如果将CloneZilla放在外部USB HDD的512 MB可启动分区上,则可以在任何计算机上启动它,并使用该HDD的其余部分恢复对该分区所做的所有备份。

警告:如果将同一系统备份还原到多台计算机上,则所有这些计算机都是彼此克隆的,具有相同的主机名,时区,IP(如果是静态的),因此所有这些都需要在“恢复”...

另外,我有一个可引导的USB SLC记忆棒,该记忆棒具有完整安装的Linux(在我的情况下为lubuntu),没有任何专有驱动程序和领先的FAT分区,没有交换分区,但/分区内的交换文件可以在任何计算机上引导(到目前为止),而且我曾用来对Windows机器进行消毒(或者在其他人的机器上工作,如果他们偏执的话不接触他们的数据)。


1
顺便说一句:您可能想提到一些需要更改的内容,以便使用Clonezilla从一台计算机制造多台计算机(例如,更改主机名,IP等)
derobert

4

是的,有办法。机器甚至不必总是相同,因为Linux 在内核启动时动态创建/dev/proc/sys文件系统,这给了您很大的自由来进行一些相当大的硬件更改。

假设您的操作系统安装在磁盘上/dev/sda。您可以/dev/sda使用以下命令为所有分区及其所有分区创建一个ISO :

dd if=/dev/sda of=/path/to/image.iso

不利的一面是,映像将是您指定为if(输入文件)的磁盘的完整大小,即使该磁盘未满也是如此。

如果您想直接从克隆磁盘/dev/sda,只需插入另一个磁盘并使用类似的方法:

dd if=/dev/sda of=/dev/sdb

1

您可能需要研究squashfs。这就是“实时”版本通常使用的版本,您可以按目录将其“取消压缩”到所需的任何分区。它是可编写脚本的,可扩展的,并且可以根据需要从列表文件中获取命令参数。就像一个zip文件,它实际上可以用作静态文件系统,而无需完全提取。当然,它有其局限性,但是通过一些工作,它可以使您完成比Clonezilla更精细的工作,比dd更灵活的工作。linux论坛将提供一些有关创建自己的实时映像的信息。


0

如果机器总是一样,则在这种情况下使用dd可能会派上用场。

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.