嗯,我只是用USB闪存驱动器和Ubuntu Live进行了操作。
我正在将Ubuntu 13.10从较大的硬盘传输到较小的固态硬盘,并且Clonezilla“说”这种方式无法完成,因为目标分区比源分区小。
所以我启动了Ubuntu Live,挂载了两个硬盘(新硬盘当然已经分区好了,别忘了交换分区 ;) ),然后只需:
cd /media/ubuntu/old-hdd-uuid/
那么:
sudo cp -R --preserve=all bin/ boot/ cdrom/ dev/ etc/ home/ lib/ lib32/ lib64/ media/ mnt/ opt/ proc/ root/ run/ sbin/ srv/ sys/ tmp/ usr/ var/ /media/ubuntu/new-hdd-uuid/
上面你可以看到,它只是将一个硬盘驱动器中的所有目录递归地复制到另一个硬盘驱动器中,并保留所有权限和其他相关信息。
cd /media/ubuntu/new-hdd-uuid/
然后我必须在新磁盘的根目录下创建两个符号链接:
sudo ln -s boot/vmlinuz-x.xx.x-xx-generic vmlinuz
sudo ln -s boot/initrd.img-x.xx.x-xx-generic initrd.img
下一步是安装grub,所以:
sudo grub-install --boot-directory=boot/ /dev/sdxy
其中x代表设备,y代表分区号(如果不确定,请使用cfdisk或fdisk打印分区表...)
最后一步是将新硬盘的UUID更改为旧硬盘的UUID(这是欺骗grub配置、fstab或其他配置而不需要搜索和修复配置的最简单方法)
sudo tune2fs /dev/sdxy -U OLD-UUID
设备重新挂载后将显示新的UUID。
现在重新启动,如果一切正常,您的Ubuntu应该启动...