克隆 Ubuntu

自从发现移动硬盘里的 Ubuntu 能把三太爷的 MacBook Air(2014 年初 11 吋)顺利引导起来以后,开始奢望 U 盘上也能放个便携系统,最好是 Windows。

腾出来一个 64GB 的 U 盘待蹂躏。据说 Windows 8 往后的系统,如果要从支持 EFI 设备(印象里苹果的电脑都是)引导的话,分区表需要是 GPT 格式而不能是老的 MBR,于是打开之前下载的一个叫做“分区助手”的程序,把 U 盘转成了 GPT 格式分区的了。转换过程没有报任何错误,只是转换之后,分区助手里就再也看不到这个盘了,到系统自导的磁盘管理器里看倒是还在。

手头没有 Windows 8 或者 8.1 的企业版,所以想尝试 Windows To Go 这个企业版里才有的功能,就只能寄希望于虚拟机里的 Windows 10 的 Preview 企业版了。谁曾想它直接就提示 U 盘不兼容。网上说如果 USB 连接的如果是移动硬盘的话,就没有兼容性的检查,而 U 盘就有,好像只认金士顿的 DataTravaler 大容量高速盘。手边没有,所以先搁置。

晚上把盘拿回家里,心想看能不能把 MBP 里的 Ubuntu 备份到 U 盘里一份,一个是便携,二个也算容灾。看了下占用空间,不到 50GB,U 盘正好够。寻找系统克隆工具,发现大部分是那种需要刻盘自启动的,而不是支持热备份的工具。找来找去找到一个,叫做 doClone,运行于 Linux 下。机子上正在把原先存放在移动硬盘上的 PhoneMe 代码仓库进行备份,竟然有一千多万的文件,为了日后方便,把它们都往一个 VHD 虚拟磁盘里移,这一下就耗时一天多。完成后终于可以重启到 Ubuntu 下,悲催地发现 doClone 的主站竟然挂了,既下不到程序,也看不了文档,最后在别的镜像站上下载到代码(这个程序没有预编译的二进制版本),摸索着一通 configure、make、make install,中间还得补上缺少的依赖库,磕磕绊绊自行编译通过。在命令行下运行,对当前系统创建了映像(竟然还要设置 LD_LIBRARY_PATH 才能顺利加载依赖的共享库)。再然后就是把生成的映像要恢复到 U 盘上。恢复失败,后来发现是分区文件格式的问题,之前的 NTFS 不行,于是用 Disks 工具转换成了 ext4,并勾选了可引导的选项。又是耗时良久,恢复完成。

重启 MBP,按住 Option 没有发现可以从 U 盘引导的入口。怀疑是 GPT 的问题,于是想把 GPT 转回 MBR,结果分区助手仍然是看不到这个 U 盘,系统的磁盘管理工具则没有提供转换的选项。只好到网上下载了 DiskGenius 尝试,竟然成功。拿到另一台电脑 V3000 上尝试启动,发现报告 Missing Operating System。再到网上查找资料,基本确定原因是 U 盘上缺少 Grub 所致。按照指南,先把 U 盘 mount 到 /mnt/USB,再使用 grub-install 命令带 –force 参数强制把 grub 安装到了 U 盘上(–no-floppy –boot-directory=/mnt/USB/boot)。文章里还要到网上下载 grub.cfg 使用的,被我相机省略。

在 MBP 上重启,仍然看不到 U 盘可引导,但是在 V3000 上则可以,选择引导之,则因显卡驱动的问题而没有正常进入图形界面,从字符界面登录成功,但是 sudo 命令执行总会失败,报告对 /etc/sudoer 文件 stat 失败。但不管怎么说,这份 Ubuntu 其实是可以引导的状态了,克隆基本上可算成功。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注