把整个Linux系统迁移到另一个硬盘

把整个Linux系统迁移到另一个硬盘,第1张

原来机械硬盘是msdos分区表,新固态硬盘是gpt分区表,数据大小在100GB以内,所以使用 dd 命令迁移

我系统都是只装在一个分区中,所以直接在 root 模式下执行迁移:

大概一个小时就迁移完成了。

这里要注意的是拷贝的源和目标分别是 /dev/sda1 和 /dev/sdb1 这两个分区,而不是 /dev/sda 和 /dev/sdb 这两个硬盘名称。

最后更新一下硬盘信息(不然显示的大小信息等还是旧硬盘的信息):

dd 工具会将 uuid 也一起拷贝,所以拷贝完成之后,只要将旧的硬盘拆卸下来,替换上新的硬盘,不用修改 /etc/fstab 文件,就能按照你以前的设置自动挂载。

重新启动电脑,顺便修改下Grub,因为莫名其妙出现了一个error问题(具体忘了,上午的事)。

修改文件 /etc/default/grub :

最后更新一下:

新增SSD又懒得重装Linux折腾一番所以需要将现有的Linux直接迁移到新的硬盘中去,下面是我的做法:

首先将硬盘装好后分区,并格式化。

最好不要mount新的分区。

其他分区也是同理。

此外,dd命令会将uuid也拷贝过去。

迁移完成后新分区里的系统还不能启动。

如果将原来的分区删除后还是需要更新Grub配置的,只需要

docker在centOS下默认会安装在/var/lib/docker/目录下, 这个目录的容量不大,创建的容器或镜像多了就无法使用了。

目录迁移记录如下(更改到/home/docker下):

1、停止docker服务。

2、创建新的docker目录,执行命令df -h,找一个大的磁盘。我的是放在/home目录下面,我的/home目录大小有900G。 我在 /home目录下面建了 /home/docker/lib目录,执行的命令是:

3、迁移/var/lib/docker目录下面的文件到 /home/docker/lib下面

注意:如果文件内容很多的话,为了确保成功最好是一个文件一个文件的拷贝。如果在拷贝过程中报“设备上没有空间”的错误,就使用mv剪切。

4、修改docker配置(/etc/systemd/system/docker.service.d/devicemapper.conf),在文件末添加 --graph=/home/docker/lib

devicemapper.conf文件的内容如下:

注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。

5、重载配置,重启docker

6、启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7256023.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存