Это на самом деле сложнее, чем кажется. Причина в том, что в закрытом LUKS раздел должен ссылаться на очень конкретное место на диске, как указано в таблице разделов, чтобы быть незашифрованным Это место находится слева от LUKS раздел, я думаю, за несколько байтов до начала файловой системы это шифрование. LUKS файловая система может быть расширена только тогда, когда LUKS раздел не зашифрован. Таким образом, вы можете видеть, что легче расширить его вправо, чем расширить его влево, потому что больше может пойти не так, когда вы расширяете влево.
Я смог сделать это с KDE Partition Manager 3.3.1, используя KDE Neon загрузочный USB. Я хотел бы предупредить, однако, что я столкнулся с ошибкой в KDE Partition Manager это было представлено где-то до версии 2.2.0, Моя установка представляла собой зашифрованный раздел LUKS в передней части расширенного (логического) раздела с 40 ГБ свободного места на жестком диске перед расширенным разделом. Мне нужно было переместить расширенный раздел влево, а затем переместить LUKS раздел слева от расширенного раздела, затем расшифруйте LUKS раздел, разверните LUKS разделить право на добавление новых данных и, наконец, зашифровать LUKS раздел снова. Ранняя версия KDE Partition Manager ( 1.x, который я получил с apt-get от Ubuntu 16.04 LTS ) смог расширить раздел слева, но мне было неудобно принимать это KDE Partition Manager не было поддержки LUKS в частности, я не был полностью уверен, что GRUB сможет найти раздел и разблокировать его после перезагрузки. Поэтому я попытался скомпилировать KDE Partition Manager 2.2.0 на Ubuntu 16.04 LTS загрузочный USB, и приложению не удалось физически перетащить расширенный раздел влево так же, как в этой версии 1.x сделал. Поэтому я загрузил Ubuntu 18.04 LTS ежедневная сборка на загрузочном USB, затем скомпилированная KDE Partition Manager 3.3.1 на этом устройстве (вместе с KDE Core 3.3.0 ). Та же проблема. Но в обоих случаях были некоторые проблемы с компиляцией, которые мне приходилось обходить путем непосредственного редактирования файлов Make, и причина этого заключалась в том, что я компилировал в Ubuntu вместо разновидности Ubuntu с собственными библиотеками KDE. Итак, я установил Neon на загрузочный USB, прямо скачал и установил KDE Partition Manager 3.3.1 через загрузчик программного обеспечения, и снова столкнулся с той же ошибкой - я не смог переместить свой расширенный том влево. Сейчас gparted может сделать это просто отлично, но это не имеет LUKS служба поддержки. Поэтому я сделал прыжок веры и сделал следующее, что сработало:
- ЗАБРОНИРОВАЛ ВСЕ ЖЕСТКИЙ ДИСК.
sudo apt-get install gparted на KDE Neon,
- я использовал
gparted для перемещения расширенного раздела осталось 40 ГБ и сохранены изменения. (Я думаю, что сначала мне пришлось отключить пространство подкачки.) Это создало 40 ГБ свободного места в расширенном разделе слева от моего LUKS объем. Я тогда вышел gparted, Мое основное беспокойство по этому поводу было то, что с gparted не имеет поддержки для LUKS, я беспокоился, что это может сдвинуть фронт LUKS объем по причинам выравнивания и фактически делает его недоступным. Так что я тщательно отметил точный сектор диска, где LUKS раздел начался до внесения каких-либо изменений, и затем не нужно было использовать эти заметки.
- В
KDE Partition Manager 3.3.1Я переместил (в зашифрованном виде) LUKS громкость слева. Просто щелкните правой кнопкой мыши на LUKS громкость, выберите Resize/Move, и я думаю, что вы просто перетащите значок в графическом интерфейсе влево. Вы знаете, что будете делать это правильно, потому что LUKS раздел красный и до и после его перемещения, что указывает на то, что он заблокирован все время (и поэтому таблица разделов, по сути, записывает новое местоположение места на диске, где LUKS будет выполнять шифрование при входе пользователя в систему). Затем я нажал Apply changes и ждал.
- В
KDE Partition Manager 3.3.1Я щелкнул правой кнопкой мыши на LUKS объем и выбран Unencrypt (возможно это было open ) и набрал мой пароль. Затем я щелкнул правой кнопкой мыши на том же разделе, и нажал Resize/Move..., Затем я перетащил правый край раздела вправо, чтобы охватить 40 ГБ свободного места. Я тогда нажал Apply changes снова.
- Я щелкнул правой кнопкой мыши на разблокирован
LUKS раздел и снова зашифровал его. Иконка сменила светло-голубую на красную.
- Я снова включил пространство подкачки (необходимо, потому что пространство подкачки Linux находится внутри моего расширенного раздела). Потом я вышел
KDE Partition Manager, выключение и перезагрузка с использованием основного жесткого диска, который я только что разделил Я смог расшифровать диск и войти без проблем. Уф!
Большое спасибо Андрюсу Стиконасу за поддержку этого действительно полезного приложения. В последний раз, когда я перемещал раздел LUKS, он использовал эти шаги и это был кошмар.
Вот вывод из KDE Partition Manager который печатает на консоль, когда вы запускаете его с помощью sudo partitionmanager от CLI:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Loaded backend plugin: "pmlibpartedbackendplugin"
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
blkid: unknown file system type "" on "/dev/sda4"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
"Add operation: Move partition ‘/dev/sda8’ to the left by 40.50 GiB"
"Applying operations..."
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
"Add operation: Grow partition ‘/dev/sda8’ from 101.77 GiB to 142.26 GiB"
"Applying operations..."
"Using backend plugin: pmlibpartedbackendplugin (1)"
"Scanning devices..."
"Device found: ATA ST500LM021-1KJ15"
"Partition ‘/dev/sda4’ is not properly aligned (last sector: 976773167, modulo: 48)."
"Device found: USB DISK 2.0"
getting smart status failed for "/dev/sdb" : Operation not supported
"Partition ‘/dev/sdb2’ is not properly aligned (first sector: 404, modulo: 404)."
"Partition ‘/dev/sdb2’ is not properly aligned (last sector: 5139, modulo: 1044)."
"Scan finished."
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/libexec/kf5/klauncher'
kdeinit5: Launched KLauncher, pid = 28349, result = 0
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: opened connection to :0
kdeinit5: Got EXEC_NEW '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so' from launcher.
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: Got EXEC_NEW '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so' from launcher.
kdeinit5: preparing to launch '/usr/lib/x86_64-linux-gnu/qt5/plugins/kf5/kio/file.so'
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
kdeinit5: PID 28354 terminated.
kdeinit5: PID 28353 terminated.
Посмотрите на эту строку, которая гласит blkid: unknown file system type "" on "/dev/sda4"? /dev/sda4 мой дополнительный раздел blkid Процесс может быть причиной ошибки. Но я действительно не знаю. В любом случае, надеюсь, что это поможет вам.