[РЕШЕНО] Как подрезать LVM для установки Windows?

Автор vlas, 19 августа 2018, 14:04:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vlas

Всем привет!
Поставил Дебиан на LVM, заняв весь диск. По прошествии времени, почесав репу, решил, что поторопился, и теперь нужно оторвать от /home гигов 80 для установки оффтопика.
Наслушавшись о чудесах гибкости LVM, радостно полез в гугл. Но ничего так толком и не получилось. df -h показывает что хомяк уменьшился как положено, но такое ощущение, что LVM остался как и был. GParted показывает, что хомяк полупустой получился (или полуполный), а нужно, чтобы совсем отдельно неразмеченная область.
В общем, как сделать так, чтобы, образно говоря, вторая половина физического диска оказалась полностью автономна и не размечена, чтобы поставить винду? Кучу мануалов уже перелопатил, ничё не помогает :-[

P.S. Для таких опасных экспериментов пока накатил Дебиан в виртуалбоксе, но по дурости вернулся на предыдущий снимок, а то бы скриншотик c gparted приложил.

P.P.S. В LVM пока не бум-бум, сам в основном на арче сижу без LVM, но вот решил на другой машинке приобщаться, так сказать, к прекрасному)
!БДИ!

alexxnight

Да, пробуйте сперва на виртуалке.
1. нужно уменьшить lvm том
lvresize -r -L ......
2. затем задать размер pv, точно указав новый размер, желательно в байтах
pvresize --setphysicalvolumesize ....
3. точно(!), под размер pv изменить раздел диска с помощью parted, опираясь на введенные цифры в п.2.

на реальной системе желательно сделать backup и загрузиться с livecd для выполнения процедур.

vlas

В общем, всё у меня получилось!
Набросал тут себе заметочку с алгоритмом хирургически точной операции 8) Привожу конкретные цифры для своего конкретного случая - так понятно что, откуда и куда.
Важный момент: точность и отсутствие каких-либо нежелательных хвостов мне удалось обеспечить лишь расчётами с использованием значений максимум в мебибайтах. Можно и в (киби)байтах, но смысла в этом я не увидел. Главное - не использовать в расчётах мега- и килобайты.

Основной источник вдохновения - некий китайский (!!!) сайт, а также несколько изнуряющих экспериментов в виртуалке.

Слышите? ВИР-ТУ-АЛ-КЕ! Семь раз отмерь... , ну вы поняли) Итак.

Имеем: весь диск под LVM, MBR. В случае GPT, думаю, даже немного проще будет.
Задача: сократить единственный физический том (physical volume в терминах LVM), получив неразмеченную область в конце диска для, к примеру, последующей установки винды.
Резать будем хомяка раздел /home, изначальный размер которого - 71,52Гб.

Грузимся с LiveCD/LiveUSB (к примеру GParted), и дальше в терминале:
sudo su -    # для выполнения всех последующих команд необходимо получить права root
vgscan    # узнаём название группы томов, используемой в дальнейшем
vgchange -ay debian-vg    # активируем её (группу)
e2fsck -f /dev/debian-vg/home    # проверка, все 5 этапов должны быть завершены без ошибок
resize2fs -p /dev/debian-vg/home 10G    # сперва уменьшаем саму файловую систему до 10Гб
lvresize /dev/debian-vg/home --size 10G    # следом так же уменьшаем логическим том
pvs --unit m    # (здесь и далее значения в мебибайтах) узнаём PSize=102152m, PFree=63000m,
pvresize /dev/sda5 --setphysicalvolumesize 39153m    # уменьшаем физический том (PSize-PFree+1)
pvs --unit m    # получили PSize=39152m, а PFree теперь должен равняться 0
parted /dev/sda   # и, наконец, самое интересное
unit -> MiB
print    - узнаём Number и End раздела с флагом lvm
resizepart -> 5 -> 39399 = 102399-63000 - уменьшаем LVM-раздел
resizepart -> 2 -> 39399 - и, наконец, уменьшаем раздел extended
quit
parted /dev/sda print    # любуемся на результат
fdisk -l /dev/sda    # ещё разок)
fsck -fC /dev/debian-vg/home    # окончательная проверка на всякий случай
Перезагрузка!
PROFIT!!!

Всем спасибо :)
!БДИ!