Linux 作为主力系统在换电脑后如何做数据迁移

2022-04-04 06:11:21 +08:00
 idblife
mac 可以平滑迁移,软件和数据都在。
windows 也可以通过第三方软件实现。
那 linux 呢?
8321 次点击
所在节点    Linux
48 条回复
yehoshua
2022-04-04 13:11:46 +08:00
@Cu635 学到了,都是自己用真没切换过硬件。感谢。
macrorules
2022-04-04 13:29:31 +08:00
没这么弄过, 窃以为,可以 live USB 启动,然后两个 m2 硬盘挂上,dd

rsync 会把磁盘分区信息拷过去吗?
jim9606
2022-04-04 14:06:20 +08:00
想一模一样是不可能的,商业 OS 不搞点差异化体验才不正常。
目前仅有可以保证系统迁移平滑的只有两种应用:纯 Web 应用和自带云同步(可能要花不少钱)且有多平台支持的应用。其他应用,但凡支持离线本地使用的你基本不用指望了。
jim9606
2022-04-04 14:08:33 +08:00
看错了,如果是 linux 到 linux 的话整个 rootfs 搬过去就是了,重新配置下引导就好。如果你用的 kernel 够新而且没有任何外部驱动,通常不会有什么大问题。
12101111
2022-04-04 14:50:52 +08:00
我的 gentoo 安装换了好几台电脑了, 除了自己编译的内核因为驱动不一样要重配, 根文件系统使用任何保留权限位和 POSIX ALC 属性的方式复制就行
我用的 zfs, 就直接 zfs send xxx | ssh root@yyy zfs receive xxx
如果两台都要接着用, 建议重置 /etc/machine-id
fox0001
2022-04-04 15:09:10 +08:00
我一般是

1 )数据放在私有云 nextcloud ,比如手机数据备份、联系人、照片、mp3 、笔记等。自己写的烂代码之类,也自建 git 。

2 )机器上,把自用数据跟系统分离,自用数据只放 /opt ,包括第三方软件。

3 )需要修改系统的配置,就针对该配置做备份。
kongkongyzt
2022-04-04 15:14:36 +08:00
就直接 rsync 呗,用 zfs/btrfs 的话就更简单了,btrfs send | btrfs receive .新机器没装系统的话就直接暴力 dd 对拷
软件本质上就是文件系统上面的文件,无非是二进制 /lib so 库 /配置文件 的集合, 你把整个系统复制过去在新系统上就能用了
a8Fy37XzWf70G0yW
2022-04-04 15:38:29 +08:00
如果兩個硬碟可以連結到一起的話,那用 dd 也可以喔。具體的方式是將兩台電腦的主硬碟連結到一起,再啟動至 U 盤隨身碟的 Live CD 。然後在終端機內輸入命令就好了。

dd if=舊硬碟完整路徑 of=新硬碟完整路徑 conv=noerror,sync
a8Fy37XzWf70G0yW
2022-04-04 15:40:54 +08:00
優點是相當於完整復刻一台電腦。缺點是時間會有些長,而且需要雲端同步的程式此時會無法正常使用。
findex
2022-04-04 15:52:28 +08:00
@chenxytw
我用的 dd 命令。直接硬盘对拷。
硬盘 A 对拷到硬盘 B 。硬盘 A 放着不动做备份。
然后 B 硬盘上新机,再去修复 B 硬盘分区表( MBR/GPT 扩容或者分区)。chroot 命令,然后修复 grub 。然后修复 /etc/fstab 包括 uuid 以及重做 swap 分区。然后重新安装驱动,删掉旧版驱动。

如果老系统是 mbr 启动换到仅仅支持 uefi 启动的电脑,对拷前先将 B 硬盘做一个 200MB 的分区 GPT ,用于给 UEFI 做启动分区。然后,对拷的时候,选择对应的单个分区 dd 。然后重建 GPT 分区。回到上面步骤继续。(做这些的时候,你需要知道你在干什么)

比 rsync 什么之流好太多了,就是麻烦点。已经用了 7 、8 年了,基本上都属于无痛升级。以前你电脑上的开发环境,gcc ,工具链什么的都原封不动回去了。rsync 只是拷贝某些单独使用的文件,工具链啥的,编译的包,linux 共享的动态库在 rsync 后可能会无法使用。硬盘 A 、B 对拷后,再升级 B 系统一劳永逸。
encro
2022-04-04 16:34:27 +08:00
linux 没有注册表。。。没有磁盘盘符。
所以应用文件过去了,那么应用也就过去了,不存在迁移数据问题-------应用相关文件复制过去就行了。
Jarvis666
2022-04-04 17:09:15 +08:00
连数据迁移都这么麻烦,干嘛还用 Linux ,直接 win 和 mac 走起
oocococo
2022-04-04 17:18:24 +08:00
可以试试 clonezilla 这类的工具,类似 ghost
ClericPy
2022-04-04 17:26:31 +08:00
之前上班的时候俩磁盘一样大的迁移过 Ubuntu, 无痛直接开用, 就是得改磁盘编号. 过程就是简单的 dd+tar

后来发现 mint 和 Ubuntu 都有自家的备份工具, 不知道靠谱不, 改 manjaro 了就没迁直接重装

再后来坛友都说把 home 迁过去就行了, 我看了下大部分软件也确实在 home 下面, 有的放在 /opt 啥的就没办法了. 所以基本都重装, 反正基本几个配置文件拖过去就够了, 软件重新装也是一行代码

如果有更好的方案自然最好, 主要我的 home 垃圾文件有点太多了... 懒得清理直接重来
THESDZ
2022-04-04 17:37:31 +08:00
给两个思路
1.全盘同步
2.找找有无工具获取当前安装包的安装脚本导出+同步 home 目录
sinboy1988
2022-04-04 18:40:09 +08:00
我用的 dd ,比你这个场景类似,我是把一个块 SSD 切分分区以后,把原来装在 HDD 的 Arch 弄进 SSD 新分区里
raptor
2022-04-04 18:56:21 +08:00
我都是 COPY HOME ,软件当然是重装喽,换了机器顺便升级一下呗,有时连发行版都换了,不存在需要完全迁移的情况。
yanqiyu
2022-04-04 19:42:57 +08:00
btrfs su sn cr /home /.snapshot/home -r
btrfs send /.snapshot/home | pigz --best > /path/to/nas
另一台电脑上
cat /path/to/nas | pigz -d | btrfs receive /.snapshot
james122333
2022-04-05 00:13:22 +08:00
写配置脚本 基本上重视的资料应该独立放置
多数杂乱资料基本上是没什么用的(限个人)
dd 全盘太重 用脚本也不用管 cpu arch 如果很熟类 unix 这都不是问题 也有很方便管理的方式就不说了
james122333
2022-04-05 00:19:47 +08:00
回到主题来讲这类独立工具其实都是给小白用的 哪个平台都一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/844825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX