我需要减小 AWS 中可启动 EBS 的大小,我尝试过rsync 所有数据到另一个可启动驱动器(清除之前的所有内容)但之后我无法启动它(EC2 仪表板中的日志为空并且无法通过 ssh 连接),我尝试设置 grub 但遇到错误grub-install: error: embedding is not possible, but this is required for cross-disk install
。我记得克洛内兹拉。 Clonezilla 只能克隆未安装的本地设备。我可以以某种方式在 EC2 上运行 Clonezilla 并通过 ssh 操作它吗?或者我可以在带有我想要克隆的连接设备的 EC2 上手动执行相同的操作?
答案1
重新提出这个问题,对于那些想要使用串行控制台在AWS中制作CloneZilla的人来说,制作完clonezilla VM后,您可以按照您想要的方式开始正常的克隆操作。
- 创建新的 EC2 实例
- 修改磁盘更大大小(不要在操作系统中扩展)
- 在操作系统中,对于额外的空间,创建辅助分区,格式化它,挂载它(挂载到/mnt)
- 下载clonezilla zip 文件(https://clonezilla.org/livehd.php)
- 下载 zip 文件后,按照指南解压到分区 2。
- 将 /mnt 下的目录名称“live”更改为另一个名称(以便 grub 正常工作)
mv 现场直播-高清
- 更改 /etc/grub.d/40_custom 以启动到第二个磁盘
- 修改内核参数 /etc/grub.d/40_custom,以在 AWS 中包含串行控制台。下面是 /etc/grub.d/40_custom 的示例(您可以进一步修改以创建默认用户的密码)。
菜单项“Clonezilla”{ 设置根=(hd0,4) linux /live-hd/vmlinuz boot=live union=覆盖用户名=用户配置组件安静 noswap nolocales edd=on nomodeset ocs_live_run=\"sudo bash\" ocs_live_extra_param=\"\" Keyboard-layouts=en ocs_live_batch=\"no\ “ locales= vga=788 ocs_prerun="dhclient" nosplash live-media-path=/live-hd bootfrom=/dev/nvme0n1p2 ocs_daemonon="ssh" console=ttyS0,115200n8 ocs_live_run_tty=/dev/ttyS0 toram=live-hd,系统Linux、EFI initrd /live-hd/initrd.img }
- 将 grub 更新为 grub 菜单
grub-set-default“Clonezilla” 更新 grub2
- 重新启动虚拟机
- 它将启动以克隆 zilla(检查串行控制台)
- 完全启动后,您将进入 bash
- 修改用户密码:passwd user
- 现在您可以通过 ssh 登录
PS:如果你想修改squashfs(我没有这么做)
cd /tmp; mkdir clonezilla_iso; unsquashfs clonezilla_iso/live/filesystem.squashfs; chroot squashfs-root /bin/bash
进行更改并退出 chroot
重新包装
mksquashfs squashfs-root/clonezilla_iso/live/filesystem.squashfs -noappend -always-use-fragments
答案2
尝试创建一个与您要复制的实例类型相同但大小相同的新实例。然后,分离卷并终止新实例。将旧卷中的分区复制到新卷,并将新卷附加为 /dev/sda1。 (当我尝试手动构建新的启动卷时,我似乎总是缺少一些东西并且它永远不会起作用。但是,您构建一个新实例只是为了获取预构建的卷,它总是对我有用。)
另外,您可能想尝试启动一个免费的 Ubuntu 实例并安装克隆属( sudo apt-get install drbl
)。我更喜欢使用 Clonezilla,而不是尝试通过命令行复制分区。懒惰的?也许吧,但通常是有效的。