AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 2724
Accepted
robsoft
robsoft
Asked: 2010-08-21 06:07:05 +0800 CST2010-08-21 06:07:05 +0800 CST 2010-08-21 06:07:05 +0800 CST

克隆安装的最佳方式(复制到相同的硬件)

  • 772

有点像这个问题,但略有不同(我认为),因为我有 6 台相同的 Acer Aspire Revo R3610 机器。一台(几乎)按照我的要求进行了配置——当我完成准备后,我想让其他 5 台机器完全一样。我对 Ubuntu 很陌生,最直接(最简单)的方法是什么?

如果这可能是一个问题,这些机器将生活在不同的网络上(例如,对于 Windows,您可以克隆磁盘,但如果它们要在同一网络上运行,您必须在之后进行注册表更改等)。我强调,所有 6 台机器的硬件都是一样的!

如何有效地将一个源图像克隆到这些相同的机器上?

请限制每个答案一个软件/解决方案

system-installation clone
  • 12 12 个回答
  • 168635 Views

12 个回答

  • Voted
  1. Best Answer
    Rob Cowell
    2010-08-21T06:21:11+08:002010-08-21T06:21:11+08:00

    Clonezilla听起来很适合您的需求

    • 33
  2. Derek
    2010-08-21T06:11:39+08:002010-08-21T06:11:39+08:00

    dd

    使用 dd 的低级副本可以解决问题!

    注意有冲突的 IP 地址和主机名。

    基本上将源驱动器和目标驱动器放在同一台机器上,引导到一个 live cd。并运行类似以下/dev/sda内容的源代码和/dev/sdb目标地址:

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

    我记得操作数:

    if-> 输入文件

    of-> 输出文件

    bs-> 块大小(一次读取多少字节)

    • 18
  3. Walter Johnson
    2014-01-23T21:58:04+08:002014-01-23T21:58:04+08:00

    最简单的方法是在硬盘驱动器上运行基本的 Ubuntu 安装,安装 VirtualBox 并设置虚拟 Ubuntu 机器。运行您的虚拟机并按照您想要的方式设置该安装,并使用您想要的所有花里胡哨。在虚拟计算机上完成所有工作和娱乐。

    VirtualBox 将虚拟机维护为一个大磁盘映像文件 (.vdi) 以及其他一些小得多的配置文件。每当您要备份虚拟机时,只需将其关闭并将其目录复制到您的备份位置即可。为此,我使用 Passport 外部驱动器。

    现在,该外部驱动器上有一个 Windows 7 和一个 Ubuntu 12 虚拟机。所有的系统更新、程序、个人文件、图片等等,都保存在这些虚拟机中。这种类型的备份非常快,因为一个大磁盘映像文件的传输速度比一堆单个文件要快得多。由于 VirtualBox 始终以该格式维护文件,因此始终将虚拟机配置为进行备份。

    该设置的一个优点是,我可以在任何安装了 VirtualBox 的计算机上从外部驱动器上运行这些虚拟机,所以现在,我不用到处拖着我的计算机,而是将外部驱动器与 Windows 和 Ubuntu 一起安装,安装 VirtualBox无论我打算使用什么计算机(我的外部硬盘上也有所有 VirtualBox 安装文件 - 它们适用于所有主要操作系统),我准备好了。我可以将我的虚拟机复制到我正在使用的计算机上,或者只是从外部驱动器上运行它。

    如果您的计算机在某个时候崩溃并死机,谁在乎,您只需拿起 Ubuntu 安装盘,将其安装在新的或维修过的计算机上,连接外部驱动器,安装 VirtualBox,然后将虚拟机复制回您的计算机 -以最小的压力、时间损失和数据丢失解决了问题。您丢失了多少数据取决于您上次备份的时间。对于我自己,每当我进行重大更改或添加难以获取的程序时,我都会进行新备份。只需确保您的虚拟机在执行此操作时正常运行。您不希望将损坏的机器复制到好的机器上。

    不,我不为 VirtualBox 工作。

    • 5
  4. Owais Lone
    2010-08-21T07:57:33+08:002010-08-21T07:57:33+08:00

    使用Remastersys创建映像,使用Startup Disk Creator实用程序将其传输到笔式驱动器并安装在其他系统上。

    • 4
  5. Derek
    2010-08-21T06:37:34+08:002010-08-21T06:37:34+08:00

    零件图

    我也使用过另一个很棒的克隆实用程序。具有终端 gui。

    • 2
  6. Azendale
    2011-01-21T22:45:38+08:002011-01-21T22:45:38+08:00

    我会得到一台你想要的电脑,然后安装 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):

    挂载关键的虚拟文件系统。将以下命令作为单个命令运行:

    for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
    

    chroot 进入您的普通系统设备:

    sudo chroot /mnt
    

    重新安装 GRUB 2(用 sda、sdb 等替换正确的设备。不要指定分区号):

    grub-install /dev/sdX
    

    重新创建 GRUB 2 菜单文件 (grub.cfg)

    update-grub
    

    退出 chroot:键盘上的 CTRL-D

    顺便说一句,这也适用于备份。与 Windows 不同,Ubuntu 在移植到不同的硬件上似乎没有问题。我已经将一台计算机的硬盘放在另一台计算机上,效果很好,我已经将安装复制到不同的硬件上,效果很好。

    • 2
  7. zachd1_618
    2014-04-09T12:42:06+08:002014-04-09T12:42:06+08:00

    我ddrescue正是用于这个任务。它完美无缺。超级简单。

    有关详细信息,请参阅 technibble 上的此线程

    • 2
  8. hhlp
    2010-10-19T05:27:33+08:002010-10-19T05:27:33+08:00

    G4L

    适用于 Linux 的幽灵

    Ghost for Linux 是一个类似于 Symantec 的 Norton Ghost(c) 和 (tm) 的硬盘和分区映像和克隆工具。创建的图像可以选择压缩,它们可以存储在本地硬盘驱动器上或传输到匿名 FTP 服务器。可以使用 Click'n'Clone 功能克隆驱动器。如果本地文件系统不支持写入大于 2GB 的文件,g4l 支持文件拆分。包含的内核支持 ATA、串行 ATA 和 SCSI 驱动器。支持普通网卡。它被打包为带有 ncurses GUI 的可引导 CD 映像,以便于使用。

    • 1
  9. Anwar
    2017-03-30T22:28:53+08:002017-03-30T22:28:53+08:00

    归档器

    我不知道为什么没有人提到这一点。当您想要在另一种文件系统类型上恢复分区的内容(例如,将 ext4 内容恢复到 ext2 或 reiserfs)或想要恢复到较小的分区时,这特别方便。

    我用过它,它很容易。例如,要克隆一个分区说/dev/sda1你使用这样的命令

    fsarchiver -A -j 2 -z 1 savefs /media/anwar/USB_Drive/myrootpartition /dev/sda1
    

    -A即使使用该选项,您也可以复制分区!很棒的功能!

    -j 2说使用2个CPU内核进行压缩。对多核 CPU 很有用,如果您使用压缩

    -z 1设置压缩级别。

    恢复您使用的文件系统

    fsarchiver restfs /data/myrootpartition.fsa id=0,dest=/dev/sda2
    

    表示您正在从存档中恢复第id=0一个文件系统(即使您没有在单个存档中保存多个分区,您也需要指定它)。并dest=/dev/sda2设置恢复的目的地。

    • 1
  10. Bruno Fantinatti
    2017-02-10T17:56:11+08:002017-02-10T17:56:11+08:00

    我经常这样做,使用 rsync。

    首先,您可以运行 rsync 将所有数据加载到外部硬盘驱动器(您的外部硬盘驱动器应该在 ext4 - 我使用它,所以我知道它可以工作):我假设您有两个分区:/dev/sda1(root)和 /dev/sda2(交换)。

    在您的原始计算机上运行:

    sudo rsync -avuorpESHAX /* /your/hard/drive
    

    复制数据后,使用 U 盘启动您的下一台计算机,并将内部硬盘驱动器格式化为原始硬盘驱动器。

    将您的外部驱动器挂载到/mnt,并复制所有分区的 UUID。编辑新计算机分区的 UUID,并放入您从原始数据中复制的相同 UUID(位于 中/mnt/etc/fstab)。

    关闭交换:

    sudo swapoff -a
    

    使用原始 UUID 创建一个新的交换,复制自/mnt/etc/fstab:

    sudo mkswap /dev/sda2 -U original-UUID
    

    (我想你的交换是在/dev/sda2)

    接下来,更改 UUID /dev/sda1: (分区应该卸载才能更改 UUID)

    sudo umount /mnt
    sudo tune2fs /dev/sda1 -U old-UUID
    

    完成此操作,挂载目标分区:

    sudo mount /dev/sda1 /mnt
    

    反向 rsync 到目的地:

    sudo rsync -avuorpESHAX /media/your-backup /mnt
    

    重新安装 grub:

    sudo grub-install --root-directory /mnt /dev/sda
    

    这将起作用。请记住编辑/etc/hostname和/etc/hosts更改每台机器的主机名,以避免网络冲突。

    • 0

相关问题

  • Wubi 和常规的“Windows 旁边”安装有什么区别?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve