我的问题类似于这但我在那里找不到满意的答案。
我有 Fedora 23 和 Windows 双启动系统。我的根分区空间不足。
这是df -h
输出:-
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 42M 3.9G 2% /dev/shm
tmpfs 3.9G 1.7M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/fedora-root 50G 46G 972M 98% /
tmpfs 3.9G 24K 3.9G 1% /tmp
/dev/sda8 477M 162M 286M 37% /boot
/dev/sda2 256M 36M 221M 14% /boot/efi
/dev/mapper/fedora-home 189G 179G 769M 100% /home
tmpfs 790M 60K 790M 1% /run/user/1000
和
$ fdisk -l
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 3A525B39-F4F8-4711-BBD8-1361A413A29B
Device Start End Sectors Size Type
/dev/sda1 2048 2050047 2048000 1000M Windows recovery environment
/dev/sda2 2050048 2582527 532480 260M EFI System
/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
/dev/sda4 4630528 4892671 262144 128M Microsoft reserved
/dev/sda5 4892672 277522431 272629760 130G Microsoft basic data
/dev/sda6 319465472 721424383 401958912 191.7G Microsoft basic data
/dev/sda7 721426432 1350572031 629145600 300G Microsoft basic data
/dev/sda8 1350572032 1351596031 1024000 500M Linux filesystem
/dev/sda9 1874862080 1927290879 52428800 25G Microsoft basic data
/dev/sda10 1927290880 1953523711 26232832 12.5G Windows recovery environment
/dev/sda11 1351596032 1874862079 523266048 249.5G Linux LVM
Partition table entries are not in disk order.
Disk /dev/mapper/fedora-root: 50 GiB, 53687091200 bytes, 104857600 sectors
Disk /dev/mapper/fedora-swap: 7.8 GiB, 8321499136 bytes, 16252928 sectors
Disk /dev/mapper/fedora-home: 191.8 GiB, 205898383360 bytes, 402145280 sectors
可以用上面的分区来实现吗?我在某处读到resize2fs
可以使用未分配的lvm分区空间自动扩展根分区。是否可以不丢失数据?
更新:-我发现这个答案,但我不确定要执行哪个命令来执行此操作。
答案1
可以用上面的分区来实现吗?我在某处读到 resize2fs 可以使用未分配的 lvm 分区空间自动扩展根分区。是否可以不丢失数据?
是的,是的。该resize2fs
部分不需要太多解释,但让我为 LVM 部分提供一个具体的方法。
LVM 的工作原理如下:分区被转换为物理卷 (PV),然后将物理卷分组为卷组 (VG),然后将卷组划分为逻辑卷 (LV)。后者的格式化和使用就像 DOS 分区一样。
现在,您有一个分区 /dev/sda11,其中包含一个物理卷,该物理卷被分组为一个卷组(称为“fedora”),在其顶部您似乎至少有两个逻辑卷(“root”和“家”)。
您需要做的就是:
- 添加另一个物理卷;
- 使用这个新卷扩展您的卷组;
- 扩展“根”逻辑卷以使用该空间;
- 调整“根”LV 中文件系统的大小。
警告!根分区是系统运行时不应该弄乱的东西之一。从 LiveUSB 启动并从那里执行所有操作。系统救援光盘是一个不错的选择,但您可以使用任何包含parted
(或等效项)、lvm2
和e2fsck
的内容resize2fs
。
首先,将未分配的 20 个分区变成一个分区。你好像有GParted什么的;在那里做,既直观又简单。我假设生成的分区称为/dev/sda12
.
现在在该分区之上创建一个 PV:
# pvcreate /dev/sda12
第一步就完成了。现在进入第二步:
# vgextend fedora /dev/sda12
(请注意 PV 没有自己的名称 - 它们根据其所在的分区来命名。但是 VG 有自己的名称;我从 GParted 屏幕截图和条目名称中找到了您的名称/dev/mapper
。)
卷组准备就绪后,就可以执行第三步了。这将调整“fedora”VG 上“root”LV 的大小以使用所有可用空间。您可以用来-L
指定具体的大小(以兆字节、千兆字节等为单位)。
# lvextend -l+100%FREE /dev/fedora/root
最后,调整分区大小以实际使用所有可用空间:
# e2fsck -f /dev/fedora/root
# resize2fs /dev/fedora/root
# e2fsck -f /dev/fedora/root
e2fsck
确保您的文件系统一开始就没有损坏,之后也不会损坏。您可以省略第二次调用,但第一个调用是必不可少的 - 我相信resize2fs
除非检查文件系统,否则不会运行。