晴之书 ~ Hane no shou. ~ 官方论坛
如何移植openSUSE Leap至新的硬盘。 - 可打印的版本

+- 晴之书 ~ Hane no shou. ~ 官方论坛 (https://bbs.hanenoshou.org)
+-- 版块: 晴之书 ~ Hane no shou. ~ 论坛茶馆区 (https://bbs.hanenoshou.org/forumdisplay.php?fid=33)
+--- 版块: Linux相关讨论区 (https://bbs.hanenoshou.org/forumdisplay.php?fid=38)
+--- 主题: 如何移植openSUSE Leap至新的硬盘。 (/showthread.php?tid=263)



如何移植openSUSE Leap至新的硬盘。 - nanochima - 07-07-2024

如题...准备...写这篇帖子的时候,已经将openSUSE Leap 15.6从旧的移动硬盘移至...旧的电脑,不过旧的电脑还能用,至少编程的话绝对是绰绰有余。
28142636_36 相对而言蛮简单的,但也遭遇到了很多挫折。 28142636_36
最初考虑的是通过CloneZilla,备份原硬盘的内容,然后还原于新硬盘间,看起来一切顺利,但是经过检查之后发现只有EFI分区顺利移植成功...而(原硬盘128GB,需要移植至256GB的硬盘间)移植至新的硬盘之后,出现了I/O Error,并且标示了(咱的是BTRFS分区)有大概100余GB空间未使用的问题——试着使用GParted的检查功能来修复,但是一直显示着I/O Error,网上查了不少关于BTRFS的资料及教程,全部没用。
所以只好放弃了CloneZilla(经过数次调整还原参数之后),改为了以下步骤:
  1. 咱的新硬盘是/dev/sda,旧硬盘是/dev/sdb。以下步骤全部于(Ubuntu的Live OS环境中的)root用户间进行。
  2. 代码:
    dd if=/dev/sdb1 of=/dev/sda1
  3. 代码:
    mkdir /data
    mount /dev/sda2 /data
    btrfs filesystem resize max /data
    umount /data
  4. 代码:
    mount /dev/sda2 /mnt
    mount /dev/sda1 /mnt/boot/efi
    mount --bind /proc /mnt/proc
    mount --bind /dev /mnt/dev
    mount --bind /sys /mnt/sys
    chroot /mnt
  5. 代码:
    grub2-mkconfig -o /boot/grub2/grub.cfg
    grub2-install /dev/sda
    exit
  6. 再次同时打开Gparted与(以root用户权限打开)文本编辑器,打开/mnt/etc/fstab,将新的硬盘的UUID替换掉/etc/fstab中的旧的UUID,并依照具体情况做其他的调整。
  7. 没了。
然后顺利移植完毕...现在就是在新的移动硬盘间的openSUSE发帖。
感觉CloneZilla更适合同一台电脑/硬盘的备份与恢复,或是大规模部署...相异的硬盘还是算了,会出错。

希望对大家会有一些帮助罢。

28142636_91 28142636_4 28142636_85