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 / 问题 / 1128347
Accepted
Kyakacoo
Kyakacoo
Asked: 2019-03-25 11:48:39 +0800 CST2019-03-25 11:48:39 +0800 CST 2019-03-25 11:48:39 +0800 CST

将 Ubuntu 18.10 环境迁移到更大的 SSD 时更改 btrfs 文件系统块大小?

  • 772

我的笔记本电脑中有一个 500 GB SSD,其中一个分区保存 Windows 7,第二个分区保存 Ubuntu 18.10,安装在 BTRFS 文件系统上,块大小为 4KB,双启动。

我有一个 1 TB SSD 安装在我的台式电脑中,我想将我笔记本电脑当前的 Ubuntu 18.10(BTRFS 文件系统)分区的完整副本复制到这个 1 TB SSD 上用于我的桌面。我不想在我的 1TB SSD 上安装 Windows,而是希望整个 1TB SSD 单启动 Ubuntu 18.10。当我在复制后登录新 SSD 上的操作系统时:我想访问我所有已安装的软件(通过 sudo、pip 和 .deb 文件安装)、我的所有设置和软件配置以及我的所有书签。

但是,我想重新安装 Ubuntu 18.10,并为我的桌面的 1 TB SSD、64 GB 内存和 i7-6700k 处理器提供最佳块大小。

是否可以将具有 BTRFS 文件系统和 4KB 块大小的自定义 Ubuntu 18.10 操作系统复制/克隆到新安装的具有 BTRFS 文件系统和(例如)4096KB 块大小的 18.10 操作系统(如果 4096KB 最适合我的 PC)?

我希望两个操作系统上的一切都相同。我是否需要从头开始手动安装每个软件项目/或者我可以执行 Clonezilla 或将我的笔记本电脑目录直接安装到我的 1TB SSD 之类的操作吗?

btrfs ssd partitioning clone 18.10
  • 2 2 个回答
  • 529 Views

2 个回答

  • Voted
  1. Best Answer
    Loren Dias
    2019-03-27T03:25:24+08:002019-03-27T03:25:24+08:00

    尝试这种转移存在许多潜在的技术问题。要制作精确的副本,您可能会使用 Clonezilla 或 dd,但是如果同时插入两个磁盘,您可能会遇到 UUID 冲突,这可能会破坏数据。AFAIK这个UUID克隆冲突只是BTRFS的一个问题,并且与操作系统有关,认为这两个磁盘是一个RAID阵列,或者不知道哪个磁盘将数据写回两个,导致日志不同步并且在关机时不干净。

    这项任务将更适合 Arch 系统。分区布局可能有所不同 - MFT 与 GPT,如果是 MFT 引导加载程序数据必须通过 chroot 新磁盘并运行 apt 或 dpkg-reconfigur grub2 或您使用的任何引导加载程序来写入磁盘的开头。

    然后是 /etc/fstab 中每个 btrfs 子卷都有不同的子卷 ID 的问题,所以如果你要通过手动设置新磁盘上的布局并尝试 rsync 所有数据来解决 4k 问题,子卷卷 ID 会有所不同,需要您确切知道在文件系统中更改它们的位置。

    我建议您断开旧磁盘,然后安装新的 ubuntu。然后找到命令以生成通过 apt 安装的所有软件包的列表,以及通过 pip 安装的所有软件包,并运行命令重新安装所有这些。

    完成之后,我建议重新同步您的 /home 目录,并假设它涵盖了 99.9% 的重要数据,让另一个磁盘保持当前状态,以便稍后将您错过的任何内容从其中拉出。

    据我所知,磁盘的 KB 扇区大小不应该真正影响性能,但不要引用我的话。

    这是我在找到您自己的问题的答案时会开始考虑的信息。

    • 0
  2. Gary
    2019-03-28T10:40:00+08:002019-03-28T10:40:00+08:00

    对于上述 UUID 问题,您可以使用:btrfstune -U <UUID> /dev/sdx1更改任何驱动器上任何 btrfs 分区的 UUID。

    对于子卷 ID,它取决于您如何设置 btrfs 文件系统。如果您遵循 Ubuntu 的标准布局,即 root 使用 @ 子卷和 home 使用 @home 子卷,那么 UUID 是相同的。例如我的 /etc/fstab:

    # /dev/sdb1 - / (root) UUID=59736ffd-b777-4ee1-af45-11cdf76353d4 / btrfs defaults,subvol=@,noatime 0 0
    
    # /dev/sdb1 - /home UUID=59736ffd-b777-4ee1-af45-11cdf76353d4  /home btrfs   defaults,subvol=@home,noatime 0 0
    

    使用 rsync 可以正常工作,因为我将系统备份到 ext4 分区,在另一个驱动器上完全创建一个新的 btrfs 文件系统,然后使用 btrfstune 将我的 UUID 更改为之前的状态,然后使用 rsync 将所有内容复制到 btrfs 驱动器。请注意,仅当您想要相同的 UUID 时才需要使用 btrfstune(不必弄乱/etc/fstab)。如果这对您无关紧要,只需将其更改/etc/fstab为您当前的 UUID。无论您是使用 MBR 引导还是 UEFI 引导,都会产生很大的不同。我使用 UEFI。

    • 0

相关问题

  • Linux 文件系统层次结构中的默认目录是什么意思?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • Ubuntu 是否支持与 SSD 一起使用的 TRIM 命令?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

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

    • 14 个回答
  • Marko Smith

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

    • 24 个回答
  • Marko Smith

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

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +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