之前为了方便批量部署运行环境,都是先在一台 x86 机器上安装好 ubuntu14.04 以及各种依赖,然后用 clonezilla 把整个硬盘做成镜像。装机的时候,用 clonezilla 把硬盘镜像还原出来( clonezilla 会自动建好分区,然后拷贝好数据,和 dd 命令不同,镜像只占用实际使用的硬盘大小),非常方便。
但是 clonezilla 有个短板就是,没办法把硬盘镜像恢复到更小的硬盘上(只能还原到容量相等或者更大的硬盘上)。由于原始的 ubuntu14.04 的系统硬盘是 2T 的,某些新的 x86 的机器的硬盘是 1T 的,这就导致没法还原到 1T 的硬盘上(究其原因,我认为还是没法还原分区)。现在问题来了,我需要手动的把 ubuntu14.04 系统从 2T 的硬盘克隆到 1T 的硬盘上。
2T 硬盘分区:200M 的 fat32 格式的 uefi 分区,以及剩下 2T 的 ext4 的分区挂载 /安装的 ubuntu14.04 系统,没有 swap 分区
1T 裸的硬盘
具体步骤如下:
首先用 ubuntu14.04 的安装 u 盘启动(从 uefi 模式启动),对 1T 的裸硬盘分区成 200M 的 fat 的 uefi 分区,以及剩下的 1T 的 ext4 分区
挂载 2 个硬盘的 uefi 分区和 ext4 分区,把 1T 的硬盘的 2 个分区清空,然后把 2T 的硬盘的 2 个分区 cp -r -p 的方式复制过去
参考:https://askubuntu.com/questions/88384
,这样更新 grub 启动信息,然后就 ok 了
1
ps1aniuge 2019-05-29 20:55:53 +08:00
1 用 winpe 启动。
2 用 winpe 自带的 powershell 脚本+磁盘模块来命令分区。或者用 gdisk64.exe 分区。 3 用 ghost 克隆 fat32,ext4 分区,或者 diskgenius,或者 trueimage。 clonezilla 不方便,手动分区+cp 没意思。---可以丢掉你手里的那 2 坨屎,嘎嘎。 |