Как можно уменьшить размер диска в операционной системе Linux?

Как я могу сжать раздел Linux CentOS и расширить раздел Windows, учитывая, что устройство /dev/dm-0 размером 320 ГБ присоединено к /, а устройство /dev/dm-2 размером 400 ГБ присоединено к /home? Кроме того, как я могу сохранить все файлы из директории /home, отформатировать устройство /dev/dm-2 заранее и присоединить эти 400 ГБ к разделу Windows? Если возможно, пожалуйста, объясните процесс с использованием утилиты fdisk.
  • 9 февраля 2024 г. 18:39
Ответы на вопрос 2
Процесс уменьшения размера диска в Linux и изменение размеров разделов (в том числе между разными операционными системами) включает в себя несколько шагов. Чтобы сжать раздел на CentOS и расширить раздел Windows, вы должны будете выполнять операции с разделами, что влечёт определённый риск для данных. Действуйте аккуратно и обязательно создайте резервную копию важной информации перед внесением изменений.

Поскольку вы хотите отформатировать устройство `/dev/dm-2` и использовать его пространство для Windows, процесс будет следующим:

1. **Сделайте резервную копию `/home`**:
   До того, как вы начнёте процесс, убедитесь, что у вас есть полная резервная копия всех файлов и данных из директории `/home`.

2. **Уменьшение файловой системы (если нужно)**:
   Если вы решите уменьшить размер раздела `/` (устройство `/dev/dm-0`), то перед этим вы должны уменьшить файловую систему, чтобы не потерять данные. 

   Для файловой системы ext4 это можно сделать с помощью `resize2fs` для сжатия файловой системы до желаемого размера, например:
   
   ```shell
   umount /dev/dm-0
   resize2fs /dev/dm-0 300G
   ```
   
   Убедитесь, что раздел не используется перед размонтированием.

3. **Уменьшение раздела**:
   Использование `fdisk` для изменения размера разделов влечёт за собой удаление и создание новых разделов с правильными размерами, поэтому вы должны быть очень осторожны, чтобы не потерять данные. Утилита `parted` или `gparted` (графическая версия) более предпочтительны для изменения размера разделов, т.к. `fdisk` не поддерживает изменение размера файловых систем напрямую.

   Но если вы всё-таки решите сделать это с `fdisk`, процесс будет выглядеть так:
   
   ```shell
   fdisk /dev/[device]
   # Где [device] - это устройство, например sdX, не dm-X.
   ```
   
   Внутри `fdisk` вам надо будет удалить и создать новый раздел с требуемыми размерами.

4. **Форматирование раздела**:
   После того как размер раздела был изменён и вы хотите его отформатировать для Windows, это делается следующей командой:

   ```shell
   mkfs.ntfs /dev/dm-2
   ```
   
   Но перед этим убедитесь, что `/dev/dm-2` ничего не содержит или что у вас есть резервная копия.

5. **Работа с Windows**:
   Теперь вам нужно будет перезагрузиться в Windows и использовать инструменты управления дисками Windows, чтобы распознать только что освобождённое и отформатированное пространство. Вы можете добавить это пространство к существующему разделу Windows или создать новый.

**Предупреждение**: Все операции с разделами могут привести к потере данных, если они выполняются неправильно. Поэтому настоятельно рекомендуется выполнить полное резервное копирование перед началом и
1) заходите под рутом (без графики, в консоли через CTRL-ALT-F2) 
2) копируете /home в /home1
# cp -a /home /home1
3) отмонтируете /home
# umount /home
4) переименовываете /home1 в /home
# mv /home1 /home
5) убираете точку монтирования из fstab
6-7) у вас скорее всего softraid ( и возможно lvm)
нужно сначала убрать диски и массив /dev/dm-2 - читать тут
https://wiki.it-kb.ru/unix-linux/linux-software-ra...
Далее, убрать логические тома из LVM, затам убрать партиции из LVM группы.
https://access.redhat.com/documentation/ru-ru/red_...
9) вот после этого уже можно запустить под рутом в графике gparted и подвигать партиции, если они двигаются
Похожие вопросы