Изменение размера загрузочного раздела с полным шифрованием диска

11

Я видел ответы на общий вопрос относительно изменения размера загрузочного раздела. В моем случае я установил Ubuntu 12.04 Alternate с полным шифрованием диска. Поскольку диск не может быть установлен во время операции изменения размера, не приведет ли это к повреждению основного раздела?

У меня есть все резервное копирование, поэтому я могу потенциально сделать переустановку, но я не знаю, как указать размер загрузочного раздела до шифрования.

    
задан Tom Stone 05.09.2012 в 13:12
источник

3 ответа

2

Я предполагаю, что с помощью полного шифрования диска вы имеете в виду небольшой незашифрованный загрузочный раздел и другой раздел, который является физическим томом для шифрования (dm-crypt). Если между ними нет места, вы не сможете без разрушения изменить размер зашифрованного раздела, чтобы создать больше места для / загрузки.

Взгляните на мой ответ здесь - это может помочь.     

ответ дан Marcin Kaminski 24.11.2012 в 00:29
2

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

Установщик Ubuntu ubiquity использует partman для разбиения. Если выбрана опция «Использовать весь диск», конфигурации разделов поступают из файлов рецептов partman в /lib/partman/recipes-[arch]/* и /lib/partman/recipes/* на live CD. Найдите рецепт, используемый установщиком, и измените максимальный размер для раздела /boot . В моей системе используется используемый по умолчанию рецепт /lib/partman/recipes/30atomic . Откройте терминал:

[email protected]:~$ sudo nano /lib/partman/recipes/30atomic

Перейдите в раздел для загрузочного раздела и измените третий номер (256 ниже) на нужный размер (я бы рекомендовал по крайней мере 512):

128 512 256 ext2
    $defaultignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext2 }
    mountpoint{ /boot }

В этом разделе говорится, что размер будет между 128M и 256M с приоритетом 512, который определяет, насколько важно размер этого раздела по отношению к другим.

Сохраните его с помощью Ctrl + O , Введите . Затем запустите установщик, установите его как обычно.

    
ответ дан mkayaalp 24.09.2015 в 21:18
0

Да, изменение размера загрузки возможно, но это очень сложно. Я бы попробовал это только после резервного копирования всех ваших данных. Если вы допустили ошибку, потенциал потери данных довольно высок. Вам нужно будет иметь загрузочный USB / CD с готовым к загрузке Ubuntu, так как вы должны выполнять эти операции после загрузки на живой USB / CD.

Я обнаружил трудный путь, когда сообщество linux изменило требования к требуемому размеру загрузочного раздела. Раньше для загрузки было достаточно 100-200 МБ, но затем сообщество удвоило свои требования к размеру. Это повлияло на пользователей, которые следовали предыдущим рекомендациям.

Ссылка

Для текущих требований для / загрузки я бы назвал вас официальными рекомендациями.

Ссылка

На момент написания данного руководства рекомендации рекомендуются / загружаются с 250 МБ на 1 ГБ места. Я бы рекомендовал отдельный загрузочный раздел с наибольшим необходимым пространством. В процессе загрузки загрузочный раздел должен быть незашифрованным. Процесс загрузки будет устанавливать разные зашифрованные разделы на пути, например, зашифрованные диски LUKS или зашифрованные домашние каталоги, и есть разница между этими подходами. По моему опыту, использование различных параметров шифрования жесткого диска Ubuntu приводит к проблемам при обновлении Ubuntu позже, когда требуется ручное вмешательство.

Для общего обзора я расскажу вам об этой статье, которую я считаю хорошо написанной.

'LUKS шифрует несколько разделов на Debian / Ubuntu с помощью одной ключевой фразы

Ссылка

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

'Как изменить размер зашифрованной файловой системы LUKS

Ссылка

Теперь, поскольку gparted не поддерживает перемещение зашифрованных разделов LUKS, это невозможно сделать, используя gparted команды из командной строки или GUI. Я обнаружил, что вы можете использовать gparted для создания разделов, а затем использовать dd для перемещения зашифрованных разделов с использованием копий сектора по секторам. Это связано с тем, что можно вычислить размеры разделов по секторам. Выполнение ошибки означает потерю данных и переустановку.

В моем случае мне нужно увеличить размер моего загрузочного раздела с 537 МБ до 1 ГБ. Мне нужно это как часть моего обновления с Ubuntu 12.04 до 14.04, чтобы обновление Ubuntu могло найти достаточно места в / boot. Да, вы можете удалить autoremove, чтобы освободить место в / boot, но общие требования изменились, поэтому я увеличил загрузку, чтобы приспособиться к этим рекомендациям. Вот мой макет разделов.

Partition Table: gpt

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   240GB  239GB

У меня есть зашифрованный диск LUKS в partion # 3 и моя загрузка в разделе # 1, поэтому недостаточно места для расширения / загрузки. Примечание. Gparted не может перемещать раздел № 3, поскольку он является зашифрованным разделом. Чтобы исправить это, я создал четвертый partion в конце моего диска того же размера в секторах и использовал dd для копирования содержимого раздела № 3 в раздел # 4. Я счел полезным изменить размер моего корня до необходимого минимального размера. Таким образом, я выполнил следующие операции для определения размера моей / загрузки.

  1. Сокращение корневой файловой системы в разделе # 3
  2. Изменен размер раздела №3 (чтобы быть меньше)
  3. Создал раздел # 4 того же размера (в конце диска)
  4. Используемый DD для копирования секторов раздела №3 в раздел # 4
  5. Удален раздел # 3, чтобы освободить место на диске
  6. Используется Gparted для изменения размера и перемещения разделов # 1 и # 2.
  7. Создал новый # 3 partion того же размера, что и сокращение # 3 (или # 4 раздела)
  8. Используется DD для копирования секторов раздела # 4 в раздел # 3.
  9. Удалить раздел # 4
  10. Разверните размер части №3 до исходного размера # 3
  11. Обновлена ​​файловая система, содержащаяся в зашифрованном разделе # 3, в оставшееся пространство

Таким образом, я мог бы удалить раздел №3 и использовать gparted для перемещения и увеличения разделов # 1 и # 2. Чтение через приведенные выше руководства должно обеспечить достаточную проницательность для продвижения вперед. Он не показан здесь, но в сокращении моего корневого раздела я удалил группу томов подкачки на том же разделе и воссоздал ее в конце. Все это выполняется при загрузке на флеш-накопитель Linux Live USB. Ниже перечислены некоторые из моих заметок, которые не были легко доступны в руководствах выше.

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

sudo blockdev --getsize /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p2
499712

Команда Gparted 'unit s' отобразит таблицу разделов в секторах.Все размеры, удаление и создание разделов выполняются с помощью Gparted. Таким образом, вы можете просто выполнить всю математику в секторах. «Unit compact» переключится обратно в формат MB / GB, если вы хотите посмотреть, как выглядит математика сектора.

(parted) unit s
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     1050623s    1048576s    fat32              boot
 2      1050624s  1550335s    499712s     ext2
 3      1550336s  456656896s  455106561s

Команда resize2fs имеет отличный вариант для изменения размера до минимума. Кроме того, я удалил свою группу томов подкачки во время этой части.

[email protected]:~$ sudo resize2fs -M -p /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Resizing the filesystem on /dev/ubuntu-vg/root to 2261211 (4k) blocks.
Begin pass 3 (max = 1600)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/ubuntu-vg/root is now 2260992 blocks long.

При изменении размеров таблиц разделов вернитесь и обновите gparted. Использовал 4096 * 2260992, а затем blockdev, чтобы проверить математику здесь. Вот команда gparted.

(parted) resizepart 3
End?  [224419843s]? 225970179s 
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? yes                                                               
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on  failed: No such device or address
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     1050623s    1048576s    fat32              boot
 2      1050624s  1550335s    499712s     ext2
 3      1550336s  225970179s  224419844s

Обратите внимание, что размер подсчета секций раздела №3 меньше моего первоначального списка. Таким образом, вы можете использовать gparted для создания раздела # 4 перед копией DD. Сжатие освобождает больше места на диске для этой копии.

[email protected]:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=1550336 count=224419844 seek=244437218
224419844+0 records in
224419844+0 records out
114902960128 bytes (115 GB) copied, 2146.1 s, 53.5 MB/s

После копии DD перейдите и увеличьте размер раздела / boot. Вы удалите исходный № 3 partion, а затем снова создадите раздел №3 в новом месте сектора после расширенных разделов # 1 и # 2. Снова блокдев использовался для измерения размеров сектора. Я создал этот раздел # 3 как тот же размер, что и раздел # 4, который был меньше, чем # 3 изначально. Используйте DD для копирования секторов # 4 в раздел # 3.

[email protected]:~$ sudo dd if=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 of=/dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500 bs=512 skip=244437218 count=224419844 seek=9242624

После копирования удалите раздел # 4 и увеличьте размер раздела # 3. В моем случае, я только что вернулся к части №3 до размера, когда я начал. У меня было достаточно места для этого.

(parted) resizepart 3                                                     
End?  [464349185s]? 464349184s                                           
Warning: Shrinking a partition can cause data loss, are you sure you want to continue?
Yes/No? y                                                                 
Device /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500p3 not found
device-mapper: table ioctl on  failed: No such device or address
(parted) p                                                                
Model: Linux device-mapper (mirror) (dm)
Disk /dev/mapper/isw_dcgdihhid_SSD_CRUCIAL_M500: 468857096s
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start     End         Size        File system  Name  Flags
 1      2048s     4192255s    4190208s    fat32              boot
 2      5146624s  9242623s    4096000s    ext2
 3      9242624s  464349184s  455106561s

Когда gparted увеличивает размер раздела, он не обновляет файловую систему. Обратите внимание, что файловая система содержится внутри зашифрованного раздела, поэтому ее необходимо открыть и смонтировать, чтобы внести это изменение. Используйте эту команду, чтобы исправить это. Это может быть сделано в живой системе, если это необходимо.

[email protected]:/$ sudo resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/ubuntu-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 13
The filesystem on /dev/ubuntu-vg/root is now 54266880 blocks long.

В заключение, в то время как Gparted не поддерживает его операцию изначально, но это невероятный полезный инструмент для управления разделами. На мой взгляд, это немного более полезно, чем fdisk. Между Gparted и DD я смог управлять своими разделами, а затем просто использовать инструменты Ubuntu для обновления с 12.04 LTS до 14.04 LTS.

    
ответ дан Doc 06.01.2017 в 16:08