Чи можна змінити розмір кореневого розділу без видалення та перевстановлення Linux (або втрати даних)?


17

Я почав використовувати машину, на якій встановлені Debian і Windows 7. Однак після встановлення деяких програм я почав отримувати повідомлення про те, що місця не вистачає. Я знав, що в системі було більше 1 ТБ місця на жорсткому диску, і я провів деякі дослідження. Здається, що кореневий розділ становить лише 5 Гб.

Чи є спосіб виділити більше дискового простору для певного розділу без перевстановлення Linux?

Нижче ви можете знайти результати декількох команд, які я виконав:

fdisk -l

Disk /dev/sda: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13       53507   429687500    7  HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3           53507       77826   195340289    5  Extended
Partition 3 does not end on cylinder boundary.
/dev/sda5           53507       53537      243712   83  Linux
/dev/sda6           53538       77826   195095552   8e  Linux LVM

Disk /dev/sdb: 640.1 GB, 640135028736 bytes
255 heads, 63 sectors/track, 77825 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4a47e2fe

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               2       62261   500097657+   f  W95 Ext'd (LBA)
/dev/sdb5               2       62261   500097656+   7  HPFS/NTFS

Disk /dev/dm-0: 4999 MB, 4999610368 bytes
255 heads, 63 sectors/track, 607 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-0 doesn't contain a valid partition table

Disk /dev/dm-1: 1996 MB, 1996488704 bytes
255 heads, 63 sectors/track, 242 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-1 doesn't contain a valid partition table

Disk /dev/dm-2: 20.0 GB, 19998441472 bytes
255 heads, 63 sectors/track, 2431 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-2 doesn't contain a valid partition table

df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/HU-root   4.6G  4.4G   32M 100% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                  2.0G  220K  2.0G   1% /dev
tmpfs                 2.0G  356K  2.0G   1% /dev/shm
/dev/sda5             231M   22M  198M  10% /boot
/dev/mapper/HU-home    19G  751M   17G   5% /home

Редагувати (додаткова інформація на основі коментаря):

# mount
/dev/mapper/HU-root on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda5 on /boot type ext3 (rw)
/dev/mapper/HU-home on /home type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               HU
  PV Size               186.06 GiB / not usable 3.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              47630
  Free PE               41194
  Allocated PE          6436
  PV UUID               wmEFAc-eSb6-r3qo-jIjy-vuKH-v9JK-eQfJFZ

Я також буду вдячним за будь-які пропозиції щодо гарних книг, які глибоко пояснюють ці теми (файлові системи, те, як різні операційні системи розуміють файлові системи тощо).


Який тип файлової системи /? (Опублікуйте висновок mountабо вміст, /etc/fstabякщо ви не знаєте.) Також pvdisplayбуде цікавим вихід (як root), оскільки ви, здається, використовуєте LVM.
Мат

Результати команд, які ви згадали, додані! Дякую :)
F1234k

Те, що ви намагаєтеся зробити, можливо, але лише за допомогою LVM. Показаний на дисплеї df, схоже, використовує LVM. Якщо використовується весь простір у групі томів "HU", спочатку потрібно буде скоротити "домашній" логічний том. Зменшення - набагато небезпечніша операція з точки зору втрати даних, ніж зростання файлової системи.
Йорданм

Набагато простіше, безпечніше рішення: Створіть новий розділ, наприклад /usr, і перемістіть туди свій поточний / usr.
hhaamu

Відповіді:


17

Попередження : робити що-небудь у ваших файлових системах без відомого відновлення резервного копіювання не рекомендується.


Не виконайте жодного з наступних кроків, якщо ви не впевнені, що ваш /чистий. Якщо ви не впевнені, запустіть наступне (як корінь):

# touch /forcefsck

і перезавантажити. Це дозволить зробити fsckвсі ваші перегородки надійними сторонами.


Незважаючи на це, оскільки ви використовуєте LVM для свого кореневого пристрою та ext3файлової системи, ви можете поширити його в Інтернеті. Перш ніж почати, переконайтесь, що resize2fsвстановлено. Якщо ні, зазвичай це в пакеті, що називається e2fsprogs. (Якщо ви не можете встановити його, оскільки у вас недостатньо місця, спробуйте зробити, наприклад, трохи очищення /var/log.)

Спочатку ви розширюєте базовий обсяг за допомогою (як root):

# lvextend -L+2G /dev/mapper/HU-root

(Налаштуйте 2Gчастину за бажанням - це кількість місця, яке ви хочете додати.)

Потім потрібно змінити розмір файлової системи. Це можна зробити в Інтернеті за допомогою resize2fs:

# resize2fs /dev/mapper/HU-root

Це може зайняти кілька секунд / хвилин. Не перебивайте. Зробіть іншу перезавантаження в кінці, можливо, з іншою /forcefsck, якщо ви хочете. Це не обов'язково, але я це все одно роблю.


1
Це не працює для мене:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

Це працює лише на LVM, схоже, ви намагаєтесь змінити розмір реального розділу.
Мат

6

У вашому ПВ доступне вільне місце для розподілу до / розділу. Для збільшення простору / dev / mapper / HU-root можна скористатись наведеним нижче.

lvextend -L +10G /dev/mapper/HU-root
e2resize /dev/mapper/HU-root

Наведена вище команда додасть 10G з вашої групи томів до логічного тома кореневого HU. Команда e2resize "виростить" файлову систему ext3, щоб використовувати залишився вільний простір.


2
Я, можливо, не єдиний, хто цього не отримав негайно: PV = "Фізичний об'єм"
Étienne

Це не працює для мене:Path required for Logical Volume "sda1" Please provide a volume group name
8bitjunkie

@ 8bitjunkie sda1- це фізичний пристрій, а не логічний том.
Йорданм

-1

На lvdisplayвиході виберіть шлях для кореневого розділу, який ви намагаєтесь змінити розмір / розгорнути.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.