Перейти к содержимому

Переместите раздел LUKS влево и измените его размер.

3

У меня есть зашифрованный раздел LUKS, который НЕ входит в менеджер томов LVM. Это конец жесткого диска, и его размер составляет 250 ГБ, но я хочу добавить к нему еще 50 ГБ.

Обычно я использую GParted для таких операций, но это не позволяет мне что-либо делать с разделами LUKS, даже не двигаясь.

Как я могу сделать это без потери моих данных? (У меня нет другого места, чтобы поддержать это)

Это моя (GUID) таблица разделов:

GPT fdisk (gdisk) version 0.8.8  Partition table scan: MBR: protective BSD: not present APM: not present GPT: present  Found valid GPT with protective MBR; using GPT. Disk /dev/sda: 976773168 sectors, 465.8 GiB Logical sector size: 512 bytes Disk identifier (GUID): D630E573-66C0-4902-A4A2-A9D56AE54544 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 976773134 Partitions will be aligned on 2048-sector boundaries Total free space is 262922206 sectors (125.4 GiB)  Number Start (sector) End (sector) Size Code Name 1 2048 411647 200.0 MiB EF00  2 411648 63326207 30.0 GiB 8300 Linux filesystem 3 189155328 273041407 40.0 GiB AF00  4 273041408 304498687 15.0 GiB 8300  5 336732160 337141759 200.0 MiB 0700  6 337141760 347627519 5.0 GiB 8200  8 452485120 976773134 250.0 GiB 8300 Linux filesystem 

Вот как это выглядит в GParted:

enter image description here

Как видите, я хочу добавить эти 50 ГБ между sda6 и sda8 в sda8.

Можете ли вы помочь мне переместить / dev / sda8 назад, чтобы я мог затем расширить зашифрованный том и файловую систему внутри него?

1 496 просмотров
Depau спросил 11 лет назад
D 18

2 ответа

2
Принятый ответ

Это на самом деле сложнее, чем кажется. Причина в том, что при блокировке 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поддержки. Поэтому я сделал прыжок веры и сделал следующее, что сработало:

  1. ЗАБРОНИРОВАЛ ВСЕ ЖЕСТКИЙ ДИСК.
  2. sudo apt-get install gpartedна KDE Neon.
  3. Я использовал gpartedдля перемещения расширенного раздела влево на 40 ГБ и сохранял изменения. (Я думаю, что сначала мне пришлось отключить пространство подкачки.) Это создало 40 ГБ свободного места в расширенном разделе слева от LUKSтома. Я тогда вышел gparted. Моя главная проблема была в том, что, поскольку gpartedу LUKS нет поддержки, я беспокоился о том, что это может сместить фронт LUKSтома по причинам выравнивания и фактически сделать его недоступным. Поэтому я тщательно записал точный сектор диска, с которого начался LUKSраздел до внесения каких-либо изменений, и затем мне не пришлось использовать эти примечания.
  4. В KDE Partition Manager 3.3.1, я переместил (зашифрованный) LUKSобъем левого. Просто щелкните правой кнопкой мыши на LUKSгромкости, выберите Resize/Move, и я думаю, что вы просто перетащите значок в графическом интерфейсе влево. Вы знаете, что будете делать это правильно, потому что LUKSраздел до и после перемещения красный, что указывает на то, что он заблокирован все время (и поэтому таблица разделов, по сути, записывает новое местоположение места на диске, где будет работать LUKS и сделать расшифровку, когда пользователь входит в систему). Затем я нажал Apply changesи ждал.
  5. В KDE Partition Manager 3.3.1, я щелкнул правой кнопкой мыши на LUKSтоме и выбрал Unencrypt(возможно, это было open) и набрал мой пароль. Затем я щелкнул правой кнопкой мыши на том же разделе и нажал Resize/Move.... Затем я перетащил правый край раздела вправо, чтобы охватить 40 ГБ свободного места. Затем я Apply changesснова нажал .
  6. Я щелкнул правой кнопкой мыши по разблокированному LUKSразделу и снова зашифровал его. Иконка сменила светло-голубую на красную.
  7. Я снова включил пространство подкачки (необходимо, потому что пространство подкачки 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это мой расширенный раздел, и я подозреваю, что этот NULL-ответ от blkidпроцесса может быть причиной ошибки. Но я действительно не знаю. В любом случае, надеюсь, что это поможет вам.

guest4842 ответил 8 лет назад
G 36
1

Используйте KDE Partition Manager 2.2.0 или новее. Он поддерживает перемещение, создание и даже изменение размера разделов LUKS.

Редактировать: используя KPM: в основном GUI говорит само за себя, он предоставляет вам карту разделов, похожую на GParted (см. Изображение в оригинальном вопросе). Затем вы просто нажимаете кнопку перемещения, чтобы переместить раздел LUKS. Чтобы изменить размер раздела luks, сначала необходимо разблокировать его, поскольку KDE Partition Manager должен изменить размер внутренней файловой системы, что невозможно, пока крипта LUKS заблокирована. Так что вам нужно сделать это в два шага, сначала переместить заблокированный раздел luks, а затем разблокировать / изменить размер.

Не могли бы вы объяснить, как использовать программное обеспечение для выполнения задачи?

Ben N · 10 лет назад · 1
Andrius Štikonas ответил 10 лет назад
A 136