Как расширить зашифрованный раздел Ubuntu с помощью LVM

8

У меня на VB установлена ​​Ubuntu Mate Trusty, которую я хочу перенести на физический ноутбук. Следуя этому руководству, я смог его запустить. Единственная проблема сейчас - я хочу расширить текущий раздел, чтобы заполнить оставшуюся часть диска, и он зашифрован и использует LVM. Gparted не поддерживает этот тип операций, поэтому я должен прибегнуть к CLI. Однако я ничего не понимаю в изменении размера разделов вручную, и все руководства, которые я могу найти, либо направлены на сокращение раздела, либо ужасно устарели.

Может ли какой-нибудь гуру раздела дать мне руководство?

Спасибо

Джон Блэкберри
источник

Ответы:

5

После долгого перебора и многократного сбоя (слава богу, за резервные копии) я смог изменить его размер. Здесь идет мой гид.

Предполагается, что у вас есть таблица разделов, подобная моей: sda1 - это swap и около 250 МБ, sda2 - это контейнер с sda5 (наш том crypt) и большим количеством свободного места перед sda2, например, так

|sda1|sda2 (sda5)|free space|

Загрузитесь с LiveCD вашего любимого дистрибутива. Запустите gparted и уменьшите размер раздела sda1 примерно на 20 МБ. Это потому, что fdisk требует буфер незанятого пространства между запуском sda2 и sda5, не знаю почему. Пока вы работаете над этим, увеличьте размер sda2 до упора вправо. Вы должны в конечном итоге

|sda1|free space|sda2 (sda5)|

Вперед и запустите fdisk

sudo fdisk /dev/sda

нажмите p, чтобы распечатать текущую схему разбиения. Запишите, где начинается sda5.

нажмите d, чтобы удалить сначала sda5, а затем sda2. Страшно.

Теперь нажмите n, чтобы создать новый том. Нажмите e, чтобы выбрать расширенный тип и набрать его 2. Значения по умолчанию для начала и конца должны быть в порядке.

Теперь создайте новый раздел, тип Linux (должен быть по умолчанию) и нумеруйте его 5. Начальное значение должно совпадать с тем, которое вы записали для sda5 ранее, конечное значение по умолчанию (насколько это возможно) ).

Нажмите p еще раз, чтобы убедиться, что все в порядке, и нажмите w, чтобы записать изменения на диск.

Перезагрузитесь в свой живой CD снова.

Если вы открываете gparted, вы должны теперь иметь

|sda1|sda2 (free space) (sda5)|

Выполните следующие действия :

Расшифруйте вашу файловую систему.

sudo cryptsetup luksOpen /dev/sda5 crypt1

Получить Live CD, чтобы распознать (активировать) ваш LVM.

sudo vgscan --mknodes
sudo vgchange -ay

Изменить размер склепа.

sudo cryptsetup resize crypt1

Изменить размер физического тома (LVM).

sudo pvresize /dev/mapper/crypt1

Измените размер своего корневого (LVM) логического тома.

Разблокируйте физический том (LVM).

 sudo pvchange -x y /dev/mapper/crypt1

Изменить размер физического тома (LVM).

 sudo lvresize -l +100%FREE /dev/ubuntu-vg/root

Повторно заблокируйте физический том.

 sudo pvchange -x n /dev/mapper/crypt1

Изменить размер файловой системы.

sudo e2fsck -f /dev/mapper/ubuntu--vg-root
sudo resize2fs -p /dev/mapper/ubuntu--vg-root

Теперь у вас все в порядке, чтобы перезагрузиться, и если все прошло хорошо, у вас должен быть зашифрованный раздел большего размера.

Примечание . Недостатком этого метода является отнимание у вас около 20 МБ подкачки. Если изменение размера подкачки не выполнено, fdisk не позволит вам написать sda5 в нужном месте (я подозреваю, что это может привести к повреждению). Это предостережение необходимо до тех пор, пока кто-то точно не объяснит, что делает fdisk за кулисами, и если есть какой-либо способ заставить его выполнить наши ставки.

Джон Блэкберри
источник
1
Отлично! Работал отлично для меня - я клонировал жесткий диск своего ноутбука на больший, и хотел использовать дополнительное место. Единственная разница была в моих сапогах с UEFI, поэтому раздела /dev/sda3нет sda5, поэтому внесли соответствующие изменения. Кроме того, мне не нужно было извлекать 20 МБ sda2, у меня все работало нормально, просто менялся /dev/sda3. Спасибо!
seanlano
Спасибо! всего 2 заметки. Перед началом мне пришлось изменить размер расширенного раздела (sda2), который содержит зашифрованный раздел (sda5). Я также пропустил 3-ю перед последней командой, выполнил последние 2 команды изменения размера и затем заблокировал ее с помощью пропущенной команды.
ozma
0

Я пытаюсь следовать этим инструкциям, и у меня есть проблемы. Для меня - / dev / sda5 - это расширенный том, содержащий ОС и все. После того, как вы выполните команду fdisk, удалите и заново создадите разделы, а затем запишите эти изменения на диск - это не удалит всю эту информацию?

Я попробовал метод, как указано в списке, и когда я перезагружаюсь обратно в live cd, а затем перехожу к части «sudo cryptsetup resize crypt1» - я получаю сообщение «Device crypt1 не активен» и после этого ничего не работает.

Я пытаюсь сделать это на экземпляре vbox, так что, по крайней мере, я делал резервные копии, но пока не смог заставить его работать должным образом.

Что мне не хватает?

Clutsicus
источник
0

После того, как «cryptsetup resize» просто не сработало, я получил это решение:

Убедитесь, что / dev / sdX подходит для вашего диска! Обратите внимание, что я еще не уверен, повлияет ли это на grub. Запустите из Ubuntu Live CD.

  • открыть gparted
  • изменить размер / dev / sda2 до нужного размера с помощью gparted
  • расшифровывать:

    sudo cryptsetup luksOpen /dev/sda5 crypt1

  • изменить размер / dev / sda5 до нужного размера с помощью gparted

Вы можете убедиться, что все прошло нормально, смонтировав и просмотрев ваш диск

sudo mount /dev/mapper/ubuntu--vg-root
Озма
источник