有点像这个问题,但略有不同(我认为),因为我有 6 台相同的 Acer Aspire Revo R3610 机器。一台(几乎)按照我的要求进行了配置——当我完成准备后,我想让其他 5 台机器完全一样。我对 Ubuntu 很陌生,最直接(最简单)的方法是什么?
如果这可能是一个问题,这些机器将生活在不同的网络上(例如,对于 Windows,您可以克隆磁盘,但如果它们要在同一网络上运行,您必须在之后进行注册表更改等)。我强调,所有 6 台机器的硬件都是一样的!
如何有效地将一个源图像克隆到这些相同的机器上?
请限制每个答案一个软件/解决方案
Clonezilla听起来很适合您的需求
dd
使用 dd 的低级副本可以解决问题!
注意有冲突的 IP 地址和主机名。
基本上将源驱动器和目标驱动器放在同一台机器上,引导到一个 live cd。并运行类似以下
/dev/sda
内容的源代码和/dev/sdb
目标地址:dd if=/dev/sda of=/dev/sdb bs=4096
我记得操作数:
if
-> 输入文件of
-> 输出文件bs
-> 块大小(一次读取多少字节)最简单的方法是在硬盘驱动器上运行基本的 Ubuntu 安装,安装 VirtualBox 并设置虚拟 Ubuntu 机器。运行您的虚拟机并按照您想要的方式设置该安装,并使用您想要的所有花里胡哨。在虚拟计算机上完成所有工作和娱乐。
VirtualBox 将虚拟机维护为一个大磁盘映像文件 (.vdi) 以及其他一些小得多的配置文件。每当您要备份虚拟机时,只需将其关闭并将其目录复制到您的备份位置即可。为此,我使用 Passport 外部驱动器。
现在,该外部驱动器上有一个 Windows 7 和一个 Ubuntu 12 虚拟机。所有的系统更新、程序、个人文件、图片等等,都保存在这些虚拟机中。这种类型的备份非常快,因为一个大磁盘映像文件的传输速度比一堆单个文件要快得多。由于 VirtualBox 始终以该格式维护文件,因此始终将虚拟机配置为进行备份。
该设置的一个优点是,我可以在任何安装了 VirtualBox 的计算机上从外部驱动器上运行这些虚拟机,所以现在,我不用到处拖着我的计算机,而是将外部驱动器与 Windows 和 Ubuntu 一起安装,安装 VirtualBox无论我打算使用什么计算机(我的外部硬盘上也有所有 VirtualBox 安装文件 - 它们适用于所有主要操作系统),我准备好了。我可以将我的虚拟机复制到我正在使用的计算机上,或者只是从外部驱动器上运行它。
如果您的计算机在某个时候崩溃并死机,谁在乎,您只需拿起 Ubuntu 安装盘,将其安装在新的或维修过的计算机上,连接外部驱动器,安装 VirtualBox,然后将虚拟机复制回您的计算机 -以最小的压力、时间损失和数据丢失解决了问题。您丢失了多少数据取决于您上次备份的时间。对于我自己,每当我进行重大更改或添加难以获取的程序时,我都会进行新备份。只需确保您的虚拟机在执行此操作时正常运行。您不希望将损坏的机器复制到好的机器上。
不,我不为 VirtualBox 工作。
使用Remastersys创建映像,使用Startup Disk Creator实用程序将其传输到笔式驱动器并安装在其他系统上。
零件图
我也使用过另一个很棒的克隆实用程序。具有终端 gui。
我会得到一台你想要的电脑,然后安装 openssh-server 包。生成一个 ssh 密钥对
ssh-keygen -t rsa
。将公钥添加到 /root/.ssh/authorized_keys2。然后,我将使用 live cd 启动新计算机,并使用 ssh 私钥插入 USB 记忆棒。使用 gparted 创建一个新分区。然后挂载新分区并运行类似sudo rsync -avzx -e "ssh -i /media/disk/path/to/privatekey" --exclude=".gvfs" root@<ImageComputerIP>:/ /path/to/new/partition/
使用该
blkid
命令查找您刚刚创建的文件系统的 UUID。编辑/path/to/new/partition/etc/fstab
以反映新的 UUID(如果您使用不同的文件系统,则为文件系统类型。)然后我会按照https://help.ubuntu.com/community/Grub2/Installing#via_ChRoot上的说明进行操作,了解如何从 chroot 安装。
该页面的简化版本(不考虑 lvm、软件 raid 或 bcache,或像 wiki 页面那样单独的 /boot):
顺便说一句,这也适用于备份。与 Windows 不同,Ubuntu 在移植到不同的硬件上似乎没有问题。我已经将一台计算机的硬盘放在另一台计算机上,效果很好,我已经将安装复制到不同的硬件上,效果很好。
我
ddrescue
正是用于这个任务。它完美无缺。超级简单。有关详细信息,请参阅 technibble 上的此线程
G4L
适用于 Linux 的幽灵
Ghost for Linux 是一个类似于 Symantec 的 Norton Ghost(c) 和 (tm) 的硬盘和分区映像和克隆工具。创建的图像可以选择压缩,它们可以存储在本地硬盘驱动器上或传输到匿名 FTP 服务器。可以使用 Click'n'Clone 功能克隆驱动器。如果本地文件系统不支持写入大于 2GB 的文件,g4l 支持文件拆分。包含的内核支持 ATA、串行 ATA 和 SCSI 驱动器。支持普通网卡。它被打包为带有 ncurses GUI 的可引导 CD 映像,以便于使用。
归档器
我不知道为什么没有人提到这一点。当您想要在另一种文件系统类型上恢复分区的内容(例如,将 ext4 内容恢复到 ext2 或 reiserfs)或想要恢复到较小的分区时,这特别方便。
我用过它,它很容易。例如,要克隆一个分区说
/dev/sda1
你使用这样的命令-A
即使使用该选项,您也可以复制分区!很棒的功能!-j 2
说使用2个CPU内核进行压缩。对多核 CPU 很有用,如果您使用压缩-z 1
设置压缩级别。恢复您使用的文件系统
表示您正在从存档中恢复第
id=0
一个文件系统(即使您没有在单个存档中保存多个分区,您也需要指定它)。并dest=/dev/sda2
设置恢复的目的地。我经常这样做,使用 rsync。
首先,您可以运行 rsync 将所有数据加载到外部硬盘驱动器(您的外部硬盘驱动器应该在 ext4 - 我使用它,所以我知道它可以工作):我假设您有两个分区:/dev/sda1(root)和 /dev/sda2(交换)。
在您的原始计算机上运行:
复制数据后,使用 U 盘启动您的下一台计算机,并将内部硬盘驱动器格式化为原始硬盘驱动器。
将您的外部驱动器挂载到
/mnt
,并复制所有分区的 UUID。编辑新计算机分区的 UUID,并放入您从原始数据中复制的相同 UUID(位于 中/mnt/etc/fstab
)。关闭交换:
使用原始 UUID 创建一个新的交换,复制自
/mnt/etc/fstab
:(我想你的交换是在
/dev/sda2
)接下来,更改 UUID
/dev/sda1
: (分区应该卸载才能更改 UUID)完成此操作,挂载目标分区:
反向 rsync 到目的地:
重新安装 grub:
这将起作用。请记住编辑
/etc/hostname
和/etc/hosts
更改每台机器的主机名,以避免网络冲突。