我有一个带 Fedora 27 和 Windows 10 的双引导系统。我的 linux 卷组(即分区)上的空间不足,而且我没有未分配的空间。我读到我可能需要 Gparted,它也许resize2fs
可以用来增加 linux 分区(参考文献1,参考文献2)但所有这些情况都涉及扩展已存在未分配空间的根分区。
输出df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 192M 3.7G 5% /dev/shm
tmpfs 3.9G 2.0M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 43G 32G 8.1G 80% /
tmpfs 3.9G 14M 3.9G 1% /tmp
/dev/sda5 976M 196M 713M 22% /boot
tmpfs 789M 16K 789M 1% /run/user/42
tmpfs 789M 11M 778M 2% /run/user/1000
tmpfs 789M 0 789M 0% /run/user/0
和输出fdisk -l
Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb72b0508
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1026047 1024000 500M 7 HPFS/NTFS/exFAT
/dev/sda2 1026048 395909025 394882978 188.3G 7 HPFS/NTFS/exFAT
/dev/sda3 498311168 500113407 1802240 880M 27 Hidden NTFS WinRE
/dev/sda4 395909120 498311167 102402048 48.8G 5 Extended
/dev/sda5 395911168 398008319 2097152 1G 83 Linux
/dev/sda6 398010368 498311167 100300800 47.8G 8e Linux LVM
Partition table entries are not in disk order.
Disk /dev/mapper/fedora-root: 43 GiB, 46103789568 bytes, 90046464 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/fedora-swap: 4.9 GiB, 5247074304 bytes, 10248192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Windows 10 有 80 GB 的可用空间。我想从 Windows 中取出 70 GB 并将其提供给 fedora。如何在不丢失一个或两个操作系统和任何数据的情况下执行此操作?我可以先缩小窗口以创建未定位空间,还是应该在 Windows 分区内创建 70 GB 的分区?如果是这样,我可以在 Windows 内执行此操作,否则如果我必须使用 Gparted,我可以将其下载到包含其他文件的外部硬盘驱动器上,还是需要一个空白记忆棒?
我的 Linux 分区是在使用 rufus 安装 fedora 之前在 Windows 中创建的,我有大约 5 GB 的交换空间。如果可能的话,我还想增加交换的大小以匹配我的 RAM 大小,因为我发现我的系统往往会用完所有交换分区。
答案1
您可以使用 Windows 磁盘管理器本身来减少 Windows 分区 C(其中有 80G 可用空间)。
完成后,我认为您将无法将新未分配的空间添加到 LVM,但您可以创建一些新分区,然后将其安装在 Linux 中以保存特定安装点上的数据(/home 或其他)。
答案2
我最终使用了终端,但在此之前我使用 GParted live 来缩小 Windows 分区以创建未分配的空间。 GParted 的问题是,将这个未分配的空间添加到扩展分区后,我的引导分区位于这个新空间和我的逻辑卷组之间,所以我切换到更容易使用的命令行。
这就是我所做的:
在切换到终端之前,我首先将未分配的空间转换为名为 的分区/dev/sda7
。我在 GParted 中执行此操作并选择了 ext4。
现在请记住以下内容仅适用于 lvm。
创建物理卷
pvcreate /dev/sda7
扩展卷组以利用此物理卷
vgextend fedora /dev/sda7
注意:我通过运行命令找到了我的卷组名称:
vgdisplay
。vgs
也有效。激活逻辑卷以使其可用,以便文件系统检查和调整大小正常工作。
lvchange -ay /fedora/root
或者
vgchange -ay
该
-a
选项代表激活,-y
意味着在所有现有设备上,因此它看起来无处不在。我执行了文件系统检查以确保没有错误。这实际上发现了一些错误并修复了它。
e2fsck /dev/fedora/root
调整文件系统的大小
resize2fs -l 100%FREE /dev/fedora/root
如果您想按绝对数字增加大小,
50 GB
请使用该-L
选项。再次执行另一次文件系统检查以修复任何错误
e2fsck /dev/fedora/root
lsblk
您现在可以通过运行或类似的显示分区的命令来检查您的根目录是否已扩大。
之后,我还将交换逻辑卷增加了超过50%
,尽管步骤略有不同,但它同样简单,例如不需要,e2fsck
因为它仅适用于 ext 2、3、4 文件系统。