记录一次 AI指导我进程系统盘备份的经历

总体感受

AI真的屌爆了,他很会,而且几乎不出错。什么样的异常它都能处理

故事背景

我需要备份一个ubuntu的系统,安装了一大堆软件,还有系统配置什么的。
新拿到一个空的固态盘 ,目标拷贝到这个盘里,然后这个盘能作为系统启动盘启动,和原先的盘起来后一毛一样。
可是,原先的系统,盘大小960G(使用空间85G),新盘大小 240G。

我的困难

既不太懂什么磁盘分区,也不太懂什么系统引导,启动EFI , Boot. 网上看到说直接dd命令拷贝,但是目的盘太小, 不能保证数据不丢。
所以需要格式化新盘,创建系统分区,挂载文件系统,然后通过文件系统拷贝方式考到目的盘上。然后修改一下它的启动标记什么的,让他能作为系统盘启动。(AI讲的)

我的操作

  1. lsblk -f 显示原始盘,目标盘
  2. 对目标盘分区,格式化,设置文件系统的格式
sudo fdisk /dev/sdb # 创建GPT分区表,依次添加上述分区 交互参数指定分区大小
sudo mkfs.ext4 /dev/sdb2  # 格式化根分区
sudo mkfs.vfat /dev/sdb1  # 格式化EFI分区
  1. 重新挂载分区
# 创建临时挂载目录
sudo mkdir -p /mnt/{src_root,src_efi,dst_root,dst_efi}

# 挂载源盘分区
sudo mount /dev/sda2 /mnt/src_root   # 挂载源根分区
sudo mount /dev/sda1 /mnt/src_efi    # 挂载源EFI分区

# 挂载目标盘分区
sudo mount /dev/sdb2 /mnt/dst_root   # 挂载目标根分区
sudo mount /dev/sdb1 /mnt/dst_efi    # 挂载目标EFI分区
  1. 使用rsync克隆文件
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/boot/efi/*"} /mnt/src_root/ /mnt/dst_root/

# 单独克隆EFI分区内容
sudo rsync -aAXv /mnt/src_efi/ /mnt/dst_efi/
  1. 修改为启动盘
sudo mount /dev/sdb1 /mnt/dst_efi
sudo mkdir -p /mnt/dst_efi/EFI
sudo mount --bind /dev /mnt/dst_root/dev
sudo mount --bind /proc /mnt/dst_root/proc
sudo mount --bind /sys /mnt/dst_root/sys
sudo mount --bind /run /mnt/dst_root/run  # 关键:解决"/cow"错误

sudo chroot /mnt/dst_root

# 确保EFI目录在Chroot环境中的路径正确
mkdir -p /boot/efi
mount /dev/sdb1 /boot/efi  # 在Chroot内挂载EFI分区

# 安装GRUB
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
update-grub

# 退出前卸载
umount /boot/efi
exit

sudo parted /dev/sdb print
sudo parted /dev/sdb set 1 esp on
sudo parted /dev/sdb set 1 boot on
  1. 完成 验证
    ls /mnt/dst_efi/EFI/ubuntu # 应包含grubx64.efi等文件
    然后拿着新盘去启动,进bios然后选择这个 bootloader-id=Ubuntu 启动项
    然后依次启动就搞定了

再次感慨

这让我去网上搜索,都是什么dd 什么的垃圾指导。既浪费时间,又误导观众。
直接不需要什么搜索引擎了,以后就是智能问答了。 再加上娱乐新闻什么的。 词条搜索什么的,吃灰吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。