桌面系统比较容易,我在机械硬盘上迁移过两次。
DD是一种方法,DD的可以把分区空白处也都一个字节不落的写过去,让两个硬盘的数据绝对完全一致。
下面介绍一种逻辑上的复制方法(比较水,仅供参考)
因为要无损,所以不能在运行着的系统上迁移,应该关机后用安装U盘启动挂载新旧两个SSD(或者拿到其他机器的Linux系统)以下步骤适用于 Ubuntu 系统:
1. 用GParted 将新SSD分好区,
关于4K对齐的问题,新版的GParted分的区好像都是4K对齐的,可以用 Disk Utility 磁盘工具点一个分区确认一下,没对齐它会提示你, Xubuntu 需要手动安装 sudo apt-get install gnome-disk-utility
分区完毕在文件管理器中点开新/旧SSD上所有将要复制的分区,以便其自动挂载到/media/相应的位置,打开一个终端窗口,
2. 逐个复制分区文件系统目录结构,不要用文件管理器 和 无参数的 cp 命令复制,那样可能会不正确的复制符号链接,应该用 cp -ax 命令。
sudo cp -ax /media/128g_root/. /media/256g_root/
sudo cp -ax /media/128g_home/. /media/256g_home/
...
3. 为了能让新系统能挂载各个分区,需要修改替换分区的UUID,在 /media/256g_root/etc/fstab 文件中的 (用sudo blkid 查看 新分区的 UUID)
sudo blkid
sudo vim /media/256g_root/etc/fstab
或者 sudo gedit /media/256g_root/etc/fstab 也可以
4. 安装 GRUB 启动器
这个要看情况, 是MBR 还是 EFI , /boot 是否单独分区。
如果是 MBR /boot 没单独分区的情况可以这样:
sudo grub-install --boot-directory=/media/256g_root/boot/ /dev/sdb (sda?)
sudo update-grub (注:这里我记不清了,
这时用 update-grub 可能会无效,因为方式不对,可能应该用chroot,也可以等成功进入系统后再执行update-grub,
此时可以手工修改 /media/256g_root/boot/grub/grub.cfg 替换旧的UUID )
参考:
https://help.ubuntu.com/community/Partitioning/Home/Moving http://askubuntu.com/questions/195390/grub-gives-messages-about-the-boot-sector-being-used-by-other-software-what-sho