V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
mrco
V2EX  ›  问与答

linux 如何更换系统盘?

  •  1
     
  •   mrco · 2015-06-01 11:49:03 +08:00 · 3449 次点击
    这是一个创建于 3493 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在系统装在128G的SSD上的,手上有个256G的,想无损升级.

    听听大家的建议.
    第 1 条附言  ·  2015-06-01 17:46:36 +08:00
    感谢各位的思路.选择了最简单粗暴的dd:

    live cd下:

    1. dd if=/dev/sda of=/dev/sdb

    2.关机取掉原来小ssd

    3.用256G的SSD启动

    4:fdisk /dev/sda (256G)
    d 删除最后一个分区
    n 用刚才最后个分区的起始柱面号(默认就是)新建一个分区
    默认最后一个柱面号停止

    t 更改分区类型为8e (lvm)
    w 写盘保存

    5.init 6
    6.操作扩展lv:
    pvresize /dev/sda2
    lvresize -l +100%FREE /path/to/lv
    resize2fs /path/to/lv

    df -h

    谢谢大家!
    4 条回复    2015-06-01 13:36:50 +08:00
    FifiLyu
        1
    FifiLyu  
       2015-06-01 12:46:04 +08:00
    从u盘linux live模式启动,dd ssd的数据到新盘。
    完成后,新盘现实128G空间使用,还有部分没用。
    在live下,把新盘分区扩容为256G,或者不扩容,剩下的未用空间直接分一个新区。

    完。
    miniwoodman
        2
    miniwoodman  
       2015-06-01 13:22:38 +08:00
    桌面系统比较容易,我在机械硬盘上迁移过两次。

    DD是一种方法,DD的可以把分区空白处也都一个字节不落的写过去,让两个硬盘的数据绝对完全一致。

    下面介绍一种逻辑上的复制方法(比较水,仅供参考)

    因为要无损,所以不能在运行着的系统上迁移,应该关机后用安装U盘启动挂载新旧两个SSD(或者拿到其他机器的Linux系统)以下步骤适用于 Ubuntu 系统:

    1. 用GParted 将新SSD分好区,

    关于4K对齐的问题,新版的GParted分的区好像都是4K对齐的,可以用 Disk Utility 磁盘工具点一个分区确认一下,没对齐它会提示你, Xubuntu 需要手动安装 sudo apt-get install gnome-disk-utility

    分区完毕在文件管理器中点开新/旧SSD上所有将要复制的分区,以便其自动挂载到/media/相应的位置,打开一个终端窗口,

    2. 逐个复制分区文件系统目录结构,不要用文件管理器 和 无参数的 cp 命令复制,那样可能会不正确的复制符号链接,应该用 cp -ax 命令。
    sudo cp -ax /media/128g_root/. /media/256g_root/
    sudo cp -ax /media/128g_home/. /media/256g_home/
    ...

    3. 为了能让新系统能挂载各个分区,需要修改替换分区的UUID,在 /media/256g_root/etc/fstab 文件中的 (用sudo blkid 查看 新分区的 UUID)
    sudo blkid
    sudo vim /media/256g_root/etc/fstab
    或者 sudo gedit /media/256g_root/etc/fstab 也可以

    4. 安装 GRUB 启动器
    这个要看情况, 是MBR 还是 EFI , /boot 是否单独分区。
    如果是 MBR /boot 没单独分区的情况可以这样:
    sudo grub-install --boot-directory=/media/256g_root/boot/ /dev/sdb (sda?)
    sudo update-grub (注:这里我记不清了,
    这时用 update-grub 可能会无效,因为方式不对,可能应该用chroot,也可以等成功进入系统后再执行update-grub,

    此时可以手工修改 /media/256g_root/boot/grub/grub.cfg 替换旧的UUID )


    参考:
    https://help.ubuntu.com/community/Partitioning/Home/Moving

    http://askubuntu.com/questions/195390/grub-gives-messages-about-the-boot-sector-being-used-by-other-software-what-sho
    pagxir
        3
    pagxir  
       2015-06-01 13:32:14 +08:00
    linux 还不简单呢。 直接tar 大法就好了。

    mkdir /systmp
    mount -o bind / /systmp
    (cd /systmp; tar cf - .)|(cd /path/to/ssd256; tar xvf -)

    install grub to 256G ssd, and then replace 128 with 256G.
    linhua
        4
    linhua  
       2015-06-01 13:36:50 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:33 · PVG 03:33 · LAX 11:33 · JFK 14:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.