背景
最近想把自己的服务器系统迁移到另一台笔记本上。
A机器上系统备份
cd /
su root
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys /
A机器上拷贝备份文件到外置硬盘
# 查看外置硬盘盘符
sudo fdisk -l
# 安装exfat文件系统
sudo apt-get update
sudo apt-get install exfat-utils fuse-exfat
# 挂在外置硬盘
sudo mount /dev/sdb2 /home/fangqi/xiaomi
# 拷贝文件到外置硬盘
sudo cp /backup.tgz /home/fangqi/xiaomi
从外置硬盘拷贝备份文件到B机器
# 查看外置硬盘盘符
sudo fdisk -l
# 安装exfat文件系统
sudo apt-get update
sudo apt-get install exfat-utils fuse-exfat
# 挂在外置硬盘
sudo mount /dev/sdb2 /home/fangqi/xiaomi
# 拷贝文件到/目录
sudo cp /home/fangqi/xiaomi/backup.tgz /
记录B机器上原始的UUID
# 查看原系统uuid
vi /etc/fstab
将文件中的信息记录下来以备后来使用,主要是/、/boot分区的挂载位置。
B机器上恢复系统
cd /
su root
tar xvpfz backup.tgz -C /
B机器修复UUID
sudo vi /etc/fstab
# 按照B机器上的原始内容匹配具体分区的uuid值,修改并保存。
B机器修复GRUB
查看硬盘分区
ls
查找/分区的位置
ls (hd0,gpt2)
如果正常显示了该分区的目录,看到有/或者/boot分区,这就是我们要找的。
临时设置grub启动系统
set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/grub
insmod normal
normal
重新安装grub
sudo update-grub2
sudo grub-install /dev/sda
/dev/sda 后面不要加分区号,例如 sda1,sda2 之类的。