uos使用btrfs文件系统(跨盘合并分区)😫😫😫😫😫😵😲还没写完。

@Ta 2020-05-31发布,2020-06-01修改 7908点击
livecd 安装
apt install fstransform 
使用fstransform 转换文件系统
fstransform  /dev/sda3 btrfs --force-untested-file-system  #转换可能会出错
需要使用chattr -i 目录
取消开发者模式开启文件的“禁止删除”标记
umount
还没写完

后续还需要 @老虎会游泳 进行指导才能完善。
健健康康

回复列表(3|隐藏机器人聊天)
  • @Ta / 2020-09-10 / /

    一定要先取消开发者模式开启文件的“禁止删除”标记,再进行转换,否则就会像我一样转换失败,然后文件丢失一半。还好有一个备份不然就只能重装了!

    就算没有开启开发者模式,也要执行以下命令:

    sudo chattr -i /var/lib/deepin/developer-mode/enabled
    

    所以,最好是转换新装的系统。如果系统内容已经很多了,一定要备份,不然你不知道怎么就失败了,一半文件就没了。

  • @Ta / 2020-09-10 / /
    挂载
    mount /dev/sda2 /mnt
    跳转
    cd /mnt
    创建快照文件夹
    mkdir backup snapshots parent
    创建可写快照
    btrfs sub snap . rootfs
    把可写快照设为默认快照
    btrfs sub set-default rootfs
    创建只读快照
    btrfs sub snap -r rootfs backup/0000-init
    btrfs sub snap -r rootfs snapshots/0000-init
    
    然后用rm -rf删除/mnt下除了backup、snapshots、rootfs之外的其他文件和文件夹
    
    然后创建启动文件符号连接
    
    ln -s rootfs/boot .
    
    老虎会游泳 2020-9-10 14:52:11
    还要修改
    rootfs/etc/fstab
    uuid和文件系统名称都要改
    boot/grub/grub.cfg
    uuid要改
    
    老虎会游泳 2020-9-10 14:52:45
    如果要挂载parent,挂载参数添加,subvolid=0就可以
    
    老虎会游泳 2020-9-10 14:53:15
    参考/etc/fstab:
    UUID=fb5899d8-57a4-4476-9f22-1c4f7e364d81       /               btrfs           rw,relatime,ssd,space_cache,discard=async                       0 0
    UUID=fb5899d8-57a4-4476-9f22-1c4f7e364d81       /parent         btrfs           rw,relatime,ssd,space_cache,discard=async,subvolid=0            0 0
    
  • @Ta / 2020-09-10 / /
    如果想偷懒,还可以把分区的uuid改成和以前的ext4 uuid一样,这样就不需要修改grub.cfg了
    
    老虎会游泳 2020-9-10 15:02:08
    不过fstab需要修改,至少ext4字样要改成btrfs
    
    修改uuid的命令:
    btrfstune -U 你从fstab里看到的uuid /dev/sda2
    
    老虎会游泳 2020-9-10 15:05:28
    改成和你ext4的uuid一样
    cat /mnt/rootfs/etc/fstab
    里面看以前的uuid
    
    老虎会游泳 2020-9-10 15:05:47
    然后用blkid命令检查是不是成功
    
添加新回复
回复需要登录