使用dd迁移22.04到新硬盘
- 一、概述
- 二、详细过程
-
- [1. 拷贝数据](#1. 拷贝数据)
- [2. 更新硬盘信息](#2. 更新硬盘信息)
- [3. 修改Grub 引导](#3. 修改Grub 引导)
- [4. 参考链接](#4. 参考链接)
一、概述
Ubuntu:22.04
记录一下把机械硬盘中的Ubuntu移动到新的固态硬盘中,原机械硬盘大小是1T,目标固态硬盘为1T。
之前的Ubuntu安装的是全盘安装模式。
二、详细过程
Linux 一切皆文件, 所以拷贝系统其实就是拷贝文件!
机械盘: /dev/sda
固态盘:/dev/sdb
1. 拷贝数据
我使用dd 命令来进行字节级别的迁移,我的原根目录所在的分区是 /dev/sda,新固态盘是 /dev/sdb。
命令如下
bash
dd if=/dev/sda of=/dev/sdb
因为dd命令没有展示中间过程,因此在另外一个终端,使用另一条命令来输出当前进度:
具体想了解下面命令含义的,可以参考 Linux-查看dd命令进度
bash
sudo watch -n 5 pkill -USR1 ^dd$
看机械盘的性能,我的1T基本上拷贝了 9 小时,速度从 60/Mb/s 掉到了 30 Mb/s 。还是比较慢
2. 更新硬盘信息
- 先卸载挂载
bash
umount /dev/sdb1
- 修复磁盘
e2fsck命令用于检查使用 Linux ext2 档案系统的 partition 是否正常工作
bash
e2fsck -f /dev/sdb1
- 调整ext2\ext3\ext4文件系统的大小
bash
resize2fs /dev/sdb1
3. 修改Grub 引导
先安装 boot-repair 工具
bash
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt install boot-repair
启动工具
bash
boot-repair
在高级选项中,手动指定新的引导盘,然后按提示修复引导即可,
因为此时我只用固态盘,所以这个Grub其实可以不用改也能用,dd 复制的引导数据和原来的机械盘数据一致,可以无缝使用。
到这里,因为我以后只会在固态盘上开发,所以我就移除掉了机械硬盘,重启之后会和源系统一模一样了。
4. 参考链接
我参考了以下的博客,在我自己电脑上更换盘成功了。
https://juejin.cn/post/6952523655838433311
https://blog.csdn.net/faker1234546/article/details/129821343