i007.cc

i007.cc

优先队列-降维打击

把一块硬盘上的 Linux 系统整个复制到新硬盘上的方法.

把一块硬盘上的 Linux 系统整个复制到新硬盘上的方法.

viator42 · 2015-04-12 23:43:48 +08:00 · 14352 次点击

这是一个创建于 1256 天前的主题,其中的信息可能已经有所发展或是发生改变。
原来有一块160G的硬盘做系统盘,装的是gentoo.现在入了一块120G的SSD,想把系统整个复制到新硬盘上,有什么可行的方案吗?
gentoo这种折腾货真的不想装第二回了.

46 回复  |  直到 2015-04-15 13:12:29 +08:00

    1

tywtyw2002   2015-04-13 00:03:43 +08:00 via iPhone

参考kvm xen 模版制作
    2

rentaro   2015-04-13 00:04:10 +08:00

dd
    3

manhere   2015-04-13 00:09:19 +08:00 via iPhone

G4L
    4

yanglingling   2015-04-13 00:20:45 +08:00

dd呀,不过驱动会出问题吧
    5

lovewilliam   2015-04-13 00:33:42 +08:00

    6

ryd994   2015-04-13 01:28:32 +08:00

先resize缩到120G以下(越小越好)
然后直接dd过去
再resize到最大
    7

nikolai   2015-04-13 01:38:18 +08:00

dd 或 rsync
    8

ericls   2015-04-13 02:33:16 +08:00

心中默念 “一切皆文件”
    9

ryd994   2015-04-13 04:31:11 +08:00

@nikolai rsync的话要注意引导和fstab等
    10

swordfeng   2015-04-13 07:14:40 +08:00 via Android

cp -a
    11

cattyhouse   2015-04-13 08:37:30 +08:00 via iPhone   ♥ 2

楼上的你们都把引导文件给无视了?直接复制过去是没有grub的,根本启动不了。

官方有wiki,善用搜索。

http://www.gentoo-wiki.info/HOWTO_Move_Gentoo_Installation_to_new_hard_disk

    12

clino   2015-04-13 08:38:36 +08:00

clonezilla之类的?
    13

xiaobu   2015-04-13 08:42:10 +08:00

dd 或者pe里的ghost
    14

jokester   2015-04-13 08:42:37 +08:00

cpio or dump
    15

zhttty   2015-04-13 09:08:10 +08:00 via Android

某宝硬盘对拷机~
    16

yaxin   2015-04-13 09:25:13 +08:00

驱动,windows下这么做会蓝屏
    17

snnn   2015-04-13 09:35:06 +08:00

上面说的这些都不靠谱。

首先,dd是最不靠谱的。dd要求硬盘的物理参数完全一样。

其次,就算你用tar或者dumpfs这样的方式搞过去了。比较现代的linux发行版,都会把uuid写入到配置文件以及启动镜像中。你确保你有能力把这些东西都改对了,否则根本就启动不了,最常见的会挂在mount root filesystem的时候。

    18

9hills   2015-04-13 09:39:45 +08:00 via iPhone

DD 我个人感觉很靠谱
    19

jokester   2015-04-13 09:48:42 +08:00

@snnn 人gentoo都装好了, 未必不会改uuid..
    20

ryd994   2015-04-13 10:06:06 +08:00 via Android

@snnn dd只要源比目标小就行,然后resize
源比目标大的话先resize
大家都是过来人,别一句都不靠谱,一棍子打死一群人
    21

ilotuo   2015-04-13 10:17:49 +08:00 via Android

这个我试过 重装一个相同的系统。
把 etc usr home 复制过去 就ok了。
我经常放假回家就是带块硬盘回去。
不过我是两台都是amd 。所以软件都能兼容吧
    22

fangdingjun   2015-04-13 10:19:40 +08:00

这事我干过,用rsync或cp,
完了之后装一下grub就好了

做成了脚本,生产线上用这个方法一天装好几百台系统。

    23

zhjits   2015-04-13 10:24:34 +08:00

不是直接 tar 过去然后 grub 一下么
    24

TankyWoo   2015-04-13 10:27:23 +08:00

我的gentoo从12年到现在,各种迁移,都是用的rsync同步后,chroot进去装grub
    25

weyou   2015-04-13 10:37:00 +08:00

dd可以的, 最近才把物理硬盘dd到虚拟硬盘,完全没有问题。 你这个应用场景差不多。
    26

halczy   2015-04-13 10:48:03 +08:00 via iPhone

DD没问题,不要乱说不靠谱。先用GParted之类的把分区调到120GB。再用DD全盘烤。
    27

huangzxx   2015-04-13 11:03:30 +08:00

我是 tar 过去,然后 chroot 装 grub,改 fstab
    28

lu18887   2015-04-13 11:58:02 +08:00

越底层的方法要求对设备的一致性要求越高,出了问题要改的地方也比较难!建议从上层一点的级别来做····DD没试过
    29

Havee   2015-04-13 12:23:39 +08:00

1. dd,uuid改下
2. cpio,uuid改下以及引导(grub or syslinux)装下

dd最快,cpio其次,tar 或 cp 比较慢

    30

oOpaopaoOo   2015-04-13 12:35:35 +08:00

硬盘对刻吧
    31

julypanda   2015-04-13 12:44:58 +08:00

clonezilla
    32

chooperchang   2015-04-13 12:47:57 +08:00

我是arch,挂载上移动硬盘后从根目录tar,当然,排除挂载点。
换硬盘后用liveCD引导再tar回去,只有链接efi变量要手动操作,chroot后再手动修改下grub修复引导就好了。
    33

caiya21   2015-04-13 13:16:40 +08:00

个人感觉是引导会出问题吧
    34

phoeagon   2015-04-13 13:47:49 +08:00

@snnn uuid很容易改啊。我把系統從HDD移到SSD就是對拷文件,改fstab再修grub
    35

TinyBBC   2015-04-13 14:51:53 +08:00

clonezilla必须的,只要保证160G的已用空间在120以下,基本上一定成功。
    36

ncisoft   2015-04-13 14:58:36 +08:00

gparted
    37

kumu   2015-04-13 15:00:11 +08:00

rsync 同步,然后 grub-install 安装 grub 即可
    38

likuku   2015-04-13 15:20:00 +08:00

liveCD + tar / rsync 再 chroot 到新硬盘,grub 重装到新硬盘,完毕。

参考:

copy完整一个系统或硬盘 – V2EX :
https://www.v2ex.com/t/69016

    39

mybin   2015-04-13 16:13:16 +08:00

@cattyhouse grub多大个事,chroot过去grub-install就行了。
我也刚换SSD没多久,LiveUSB进去直接tar,跳过不需要备份的,记得保留权限,最后chroot装grub更新cfg。uuid改下就好。
    40

snnn   2015-04-13 18:10:47 +08:00   ♥ 1

@zhjits 高版本的linux,initram要重新生。
    41

poke707   2015-04-13 20:36:27 +08:00

衍生个问题,现有AB两个硬盘,A是linux,/和/home两个分区;B是数据盘,若干个分区,无OS
如果想把A的根分区DD到B的一个空分区,令B硬盘能单独启动linux而不影响现有分区,需要如何操作?
    42

nightcat   2015-04-13 20:44:17 +08:00

I just do this a week ago,with gparted,copy and paste,then grub-install and grub-mkconfig,so easy.
    43

xieyudi1990   2015-04-14 10:55:39 +08:00 via iPhone

直接整盘dd照理说要调整分区参数 (mbr, pbr, gpt不熟不过应该类似).

我有几次整块硬盘重新分区的经历 (保留原来的系统). 我习惯先用tar cvpf从/做个镜像备份到移动硬盘, 然后分区, 再用U盘启动, 将新的空白分区mount, 然后tar xvpf恢复镜像, 最后chroot进去更新grub以及fstab的的uuid.

其实整个过程和恢复Windows一样, 基本就是三步: 备份, 还原, 启动.

    44

holinhot   2015-04-14 11:03:27 +08:00

dd
    45

frozenfall   2015-04-14 11:56:39 +08:00

用再生龙,和WINDOWS下的ghost一样,我用来批量回复公司的服务器产品
    46

archbishop   2015-04-15 13:12:29 +08:00

clonezilla解救你

发表回复