AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 36252
In Process
mFat
mFat
Asked: 2011-04-22 03:24:31 +0800 CST2011-04-22 03:24:31 +0800 CST 2011-04-22 03:24:31 +0800 CST

如何将我的根分区从 BTRFS 转换为 EXT4?

  • 772

是否可以将 btrfs 转换为 ext4 而不会丢失数据?我在 btrfs 上的读/写操作速度非常低。

filesystem
  • 4 4 个回答
  • 35944 Views

4 个回答

  • Voted
  1. Oli
    2011-04-22T04:16:56+08:002011-04-22T04:16:56+08:00

    我只是在使用可用的工具,而不是经验或文档。你可能想用一个分区(甚至只是一个图像)来测试它,如果一切都出错了,你不介意丢失。不要在没有备份的情况下尝试此操作。

    btrfs-convert具有回滚功能以撤消转换。我不确定这是否适用于未转换为btrfswith的分区btrfs-convert。

    1. 首先卸载文件系统。如果它对系统至关重要,请引导至 LiveCD。

    2. 安装btrfs-tools

      sudo apt-get install btrfs-tools
      
    3. 回滚转换

      sudo btrfs-convert -r /dev/sdXn
      
    • 8
  2. htorque
    2011-04-22T03:42:24+08:002011-04-22T03:42:24+08:00

    据我所知,您无法将 btrfs 转换为任何其他文件系统。

    • 3
  3. randyman99
    2015-04-26T18:22:29+08:002015-04-26T18:22:29+08:00

    我使用具有多引导发行版的系统(ext4 上的 Ubuntu,btrfs 上的 Xubuntu)来做到这一点。运行 Ubuntu,我采用了 Xubuntu btrfs 主分区,并使用 fsarchiver 将其存档。然后我能够再次使用 fsarchiver 将它恢复到不同的分区并指定 ext4 文件系统类型。这似乎工作正常。

    还是在 Ubuntu 中,我将 Xubuntu 根分区挂载在 /mnt 上,并编辑 /mnt/@/etc/fstab 以更改 /home 的挂载以指向新的 ext4 分区,同时更改 UUID 和 fs 类型,并删除子卷数据。我保存了文件,然后重新启动到 Xubuntu。

    启动时出错,启动停止。错误是我有另一个分区要挂载到我的 ~/Documents 目录,但失败了。我选择手动解决问题。事实证明,我的根分区可以正常安装为 ext4,但是当我执行 list 命令时,我得到了

    #ls /home
    @home
    

    所以原来的 btrfs 子卷结构仍然存在于 ext4 文件系统中。我发出命令

    mount --bind /home/@home /home
    

    然后我按 ctrl-D 继续启动,Xubuntu 继续启动,一切正常。我还没有这样做,因为我仍然处于初始启动状态,但我确定我可以将该绑定命令放入我的 fstab 文件中。或者我不知道我可能已经将子卷信息留在了 fstab 条目中。

    但是,我将做的(这是题外话)是从另一台计算机上为 Xubuntu 获取一个更成熟的 /home (ext4) 分区实例,然后使用它。我已经证明这会奏效。

    • 1
  4. David Faure
    2020-12-27T14:03:07+08:002020-12-27T14:03:07+08:00

    **适用于所有情况的解决方案当然是将所有内容从根分区复制到另一个分区上的目录(假设您有一个有足够可用空间的目录),重新格式化/为ext4,复制回来。我只是这样做了,并且遇到了一些问题,所以我想我会写一些howto:

    • 在救援 USB 密钥上启动,挂载两个分区(假设/mnt是真正的根分区,以及/dest用作临时目标的分区)
    • 请注意,您也应该安装 BTRFS 子卷(我没有这样做,我丢失了所有的/var, /opt, /root...)。最好的方法可能是做通常的chroot舞蹈 ( mount --bind /dev /mnt/dev; mount --bind /sys /mnt/sys; mount --bind /proc /mnt/proc; chroot /mnt),然后安装所有mount -a -t btrfs描述的子卷。/etc/fstab
    • 退出 chroot 或使用另一个 TTY (Ctrl+Alt+F2),然后启动副本,例如cp -a /mnt /dest
    • 重新格式化分区:
    • umount /mnt
    • mkfs.ext4 /dev/*the_root_device*
    • mount /dev/*the_root_device* /mnt
    • 现在(在 chroot 中)复制数据,cp -a /dest/mnt/* /mnt 不要忘记
    • 编辑/etc/fstab以删除所有子卷,将文件系统类型从 更改btrfs为ext4,然后更新UUID(参见 的输出,或在执行后blkid切换到标签)LABEL=rootfstune2fs -L rootfs /dev/*the_root_device*
    • mkinitrd或dracut, 并重新创建引导加载程序(我使用另一个发行版,所以我没有在 ubuntu 上执行此步骤的确切命令)。交叉手指并重新启动。最后,记得清理临时目的地中的 /dest 副本。**
    • -1

相关问题

  • 当另一个文件系统安装在路径上时是否可以删除文件?

  • “/var/lib/dpkg/updates”文件夹中存储了什么?

  • 如何使文件夹与外部 USB 硬盘保持同步?

  • 为什么 Ubuntu 不再将文件大小单位测量为字节、兆字节、千兆字节等?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve