概括

概括

概括

我有一台带有单个硬盘的笔记本电脑,随 Windows 一起提供了 2 个主分区(PP/dev/sda1/dev/sda2。随后,我通过添加 PP= /dev/sda3for/boot和带有单个逻辑分区的扩展分区来进行双引导,/dev/sda5用于 Linux 安装和数据的其余部分(在 LVM 逻辑卷内(LV)在 LUKS 容器内)。

我现在想“吃掉”Windows 安装并将其磁盘空间重新分配给 Linux 分区,该分区现在可能是主分区而不是逻辑分区(因为我现在有 2 个分区而不是 4 个分区)。目前,Linux 分区仍会完全分配给 LUKS 容器,而 LUKS 容器又会完全分配给 LVM LV。我想知道,

  1. 这项任务的“一般程序”是什么?这个过程是否已经记录在某处?如果是这样,请指向 doc,我将 RTFM。
  2. 我是否使用了正确的词汇来描述我想做的事情?
  3. 下面我是否遗漏了一些重要细节?如果是这样,请让我知道,我将进行编辑。

FWIW,我有

  • 良好的备份/home
  • 备份驱动器上的可用空间足以为当前所在的其他“真实”顶级目录/文件夹创建备份/(即/bin, /.config, /etc, /lib, /lib64, /opt, /root, /sbin, /tmp, /usr, /var

细节

当前状态

以下是 PC 的当前lsblk表格,稍作编辑:

                                            MOUNT
NAME                  MAJ:MIN   SIZE  TYPE  POINT   NOTES
sda                     8:0   465.8G  disk
├─sda1                  8:1    16.6G  part          [1]
├─sda2                  8:2    97.7G  part          [2]
├─sda3                  8:3     500M  part  /boot
├─sda4                  8:4       1K  part          extended
└─sda5                  8:5     351G  part          logical
  └─LVM2_crypt        254:0     351G  crypt         LUKS
    ├─LVM2_crypt-swap 254:1     3.9G  lvm   [SWAP]
    ├─LVM2_crypt-root 254:2      20G  lvm   /       [3]
    └─LVM2_crypt-home 254:3   327.1G  lvm   /home   [3]

[1]: sda1是一个Windows Recovery Environment带有 GRUB 的可启动 PP ≅

menuentry 'WRE (loader) (on /dev/sda1)' --class windows --class os ...
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos1'
    ...
    parttool ${root} hidden-
    drivemap -s (hd0) ${root}
    chainloader +1
}

[2]: sda2是一个带有 GRUB 的可启动 Windows PP ≅

menuentry 'Windows 7 (loader) (on /dev/sda2)' --class windows --class os ...
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos2'
    ...
    parttool ${root} hidden-
    chainloader +1
}

[3]目前,我经常在我的 filesystem= 上看到空间不足的警告/:在从“通常的嫌疑人”释放空间(使用脚本)后,我通常有 ≅ 500 MB 的可用空间。这是一个问题,特别是因为我想安装(但不能)软件。我的 FS= 上的可用空间也小于 5% /home:问题不大,但很快就需要修复。

期望的最终状态

我想回收 Windows 磁盘空间 (114 GB ≅ size(current( sda1)) + size(current( sda2))) 并将其重新分配给 FS= 的新的可调整大小的部分/。因此我设想类似的东西

me@it: ~ $ lsblk_magic_8_ball
                                              MOUNT   CURRENT
NAME                    MAJ:MIN   SIZE  TYPE  POINT   SIZE
sda                       8:0   465.8G  disk          same
├─sda1                    8:1     500M  part  /boot   same
└─sda2                    8:2   465.3G  part          size(sda) - size(sda1)
  └─LVM2_crypt          254:0   465.3G  crypt         LUKS all of sda2
    ├─LVM2_crypt-swap   254:1     3.9G  lvm   [SWAP]  same
    ├─LVM2_crypt-etc    254:2     1.0G  lvm   /etc    currently du=27M
    ├─LVM2_crypt-lib    254:2     1.0G  lvm   /lib    currently du=400M
    ├─LVM2_crypt-opt    254:2     1.0G  lvm   /opt    currently du=386M
    ├─LVM2_crypt-tmp    254:2     1.0G  lvm   /tmp    currently du=640k
    ├─LVM2_crypt-usr    254:2      10G  lvm   /usr    currently du=5.3G
    ├─LVM2_crypt-var    254:2      20G  lvm   /var    currently du=11G
    ├─LVM2_crypt-root   254:2      20G  lvm   /       [1]
    └─LVM2_crypt-home   254:3   407.1G  lvm   /home   [2]

[1]:我当前的 LV 大小 ( /)=20 GB 且 du( /) ≅ 500 MB。我将保留该大小,但会将当前 du( /etc, /lib, /opt, /tmp, /usr, /var) ≤ 17.2 GB 的子 FS 从 LV=/移至它们自己的 LV 中。

[2]:我打算从回收的 Windows 磁盘空间 ≅ 114 GB 中创建大小(新 LV)≅ 24 GB。这样就剩下 80 GB,我将其添加到 LV= 中/home

恕我直言,我了解如何在扩大的 LUKS 容器内创建新的 LV。我不知道(并且正在询问)的是如何将 Windows PP 当前占用的空间转移到新的且扩大的 Linux PP 中以托管扩大的 LUKS 容器。感谢您的启发。

相关内容