首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
V2EX  ›  Linux

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

  •  1
     
  •   viator42 · 2015-04-12 23:43:48 +08:00 · 19834 次点击
    这是一个创建于 1677 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原来有一块160G的硬盘做系统盘,装的是gentoo.现在入了一块120G的SSD,想把系统整个复制到新硬盘上,有什么可行的方案吗?
    gentoo这种折腾货真的不想装第二回了.
    48 回复  |  直到 2019-10-06 23:30:43 +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解救你
        47
    notgood   44 天前
    @nikolai
    @ryd994
    @fangdingjun
    @TankyWoo
    @kumu
    @likuku 各位大佬, 请问我想直接克隆 VPS A 的系统 到 VPS B 上, 通过 ssh 方式来运行 rsync, 命令行这样写有问题吗? 谢谢指导;
    rsync -avz --progress --delete [email protected]:/dev/vda /dev/vda

    VPS A 和 B 都是 centos7 x64, 同步完最后需要先执行 grub2-mkconfig -o /boot/grub2/grub.cfg 再执行 grub2-install /dev/vda 吗?
        48
    programV2   39 天前 via iPhone
    @snnn 大佬,请问 initram 如何重新生成?谢谢🙏我 用命令 dracut -f /boot/initramfs 不管用
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4085 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 08:57 · PVG 16:57 · LAX 00:57 · JFK 03:57
    ♥ Do have faith in what you're doing.