Это на самом деле сложнее, чем кажется. Причина в том, что в закрытом 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
Процесс может быть причиной ошибки. Но я действительно не знаю. В любом случае, надеюсь, что это поможет вам.