Змінення розміру завантажувального розділу з повним шифруванням диска


12

Я бачив відповіді на загальне питання щодо зміни розміру завантажувального розділу. У моєму випадку я встановив Ubuntu 12.04 Alternate з повним шифруванням диска. Оскільки диск не може бути встановлений під час операції зміни розміру, чи не пошкодить це основний розділ?

У мене є все резервне копіювання, щоб я міг потенційно повторно встановити, але я не знаю, як вказати розмір завантажувального розділу перед шифруванням.

Відповіді:


3

Я знаю, що це питання давнє, але виникає під час пошуку малої проблеми з завантаженням та використання шифрування диска.

Інсталятор Ubuntu ubiquityвикористовує partmanдля розділення. Якщо вибрано параметр "Використовувати весь диск", конфігурації розділів надходять з файлів рецептів партмена на /lib/partman/recipes-[arch]/*та /lib/partman/recipes/*на живому компакт-диску. Знайдіть рецепт, який використовує інсталятор, і змініть максимальний розмір для /bootрозділу. У моїй системі використовується рецепт за замовчуванням /lib/partman/recipes/30atomic. Відкрийте термінал:

ubuntu@ubuntu:~$ sudo nano /lib/partman/recipes/30atomic

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

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

У цьому розділі йдеться про те, що розмір повинен знаходитися між 128М та 256М з пріоритетом 512, що визначає, наскільки важливий розмір цього розділу стосовно інших.

Збережіть його з Ctrl+ O, Enter. Потім запустіть інсталятор, встановіть як завжди.


2

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

Погляньте на мою відповідь тут - це може допомогти.


0

Так, змінити розмір завантаження можливо, але це дуже складно. Я б спробував це лише після створення резервної копії ВСІХ ваших даних. Якщо ви помилитесь, потенціал до втрати даних досить високий. Вам потрібно буде мати готовий завантажувальний Ubuntu живий USB / CD, як слід виконувати ці операції після завантаження на живий USB / CD.

Я дізнався важкий шлях назад, коли спільнота Linux змінила вимоги щодо необхідного розміру завантажувального розділу. Раніше для завантаження було достатньо 100-200 Мб, але потім громада подвоїла свої вимоги до розміру. Це вплинуло на користувачів, які дотримувались попередніх вказівок.

/server/334663/what-is-the-recomnded-size-for-a-linux-boot-partition

Для поточних вимог щодо / завантаження я б посилався на вас до офіційних вказівок.

https://help.ubuntu.com/community/DiskSpace

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

Для загального огляду я згадаю вас у цій статті, яку вважаю добре написаною.

'LUKS шифрує кілька розділів на Debian / Ubuntu з однією парольною фразою'

https://www.martineve.com/2012/11/02/luks-encrypting-multiple-partitions-on-debianubuntu-with-a-single-passphrase/

Коли ви виявите необхідність змінити свої розділи, я вважаю цю публікацію дуже корисною.

"Як змінити розмір шифрованої файлової системи LUKS"

https://ubuntuforums.org/showthread.php?t=726724

Тепер, оскільки gparted не підтримує переміщення зашифрованих розділів LUKS, це неможливо зробити, використовуючи команди gparted з командного рядка або GUI. Я виявив, що ви можете використовувати gparted для створення розділів, а потім використовувати dd для переміщення зашифрованих розділів навколо сектору за секторальними копіями. Це передбачає можливість обчислення розмірів розподілу за секторами. Помилка означає втрату даних та перевстановлення.

У моєму випадку мені потрібно збільшити розмір моєї завантажувальної частини з 537MB до 1GB. Мені це потрібно як частина мого оновлення від Ubuntu 12.04 до 14.04, щоб оновлення Ubuntu могло знайти достатньо місця для / завантаження. Так, ви можете видалити авторемонту, щоб звільнити місце в / завантаженні, але загальні вимоги змінилися, тому я збільшував завантаження, щоб також підлаштовуватися під ці вказівки. Тут був мій макет розділів.

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 в розділі №3 і завантаження в розділ №1, тому не було достатньо місця для розширення / завантаження. Примітка. Gparted не може перемістити розділ №3, оскільки це зашифрований розділ. Щоб виправити це, я створив четвертий розділ в кінці свого диска однакового розміру в секторах і застосував дд для копіювання вмісту розділу №3 до розділу №4. Я вважаю корисним змінити розмір мого кореня до мінімально необхідного розміру. Таким чином, я здійснив наступні операції для вирішення розміру мого / boot.

  1. Зменшили кореневу файлову систему в розділі №3
  2. Змінено розмір №3 розділу (щоб бути меншим)
  3. Створено розділ №4 однакового розміру (наприкінці диску)
  4. Використовується DD для копіювання секторів розділу №3 до розділу №4
  5. Видалено розділ №3, щоб звільнити місце на диску
  6. Використовується Gparted для зміни розміру та переміщення розділів №1 та №2
  7. Створено новий розділ №3 такого ж розміру, як і зменшений №3 (або №4-розділ)
  8. Використовується DD для копіювання секторів розділу №4 до розділу №3
  9. Видаліть розділ №4
  10. Розгорніть розмір розділу №3 до початкового розміру №3
  11. Оновлено файлову систему, що міститься в зашифрованому розділі №3, до залишкового місця

Таким чином я міг видалити розділ №3 та використовувати gparted для переміщення та збільшення розділів №1 та №2. Прочитавши вищевказані путівники, слід забезпечити достатньо розуміння, щоб орієнтуватися на ваш шлях вперед. Тут не показано, але, скорочуючи свій кореневий розділ, я видалив групу томів swap на тому самому розділі і відтворив її наприкінці. Все це робиться під час завантаження на флеш-накопичувач Linux Live. Нижче наведено декілька моїх записок, які були недоступні у посібниках вище.

Я знайшов blockdev корисним для відображення розмірів розділів у секторах. Це допоможе мені, коли я розраховував розміри сектору.

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

Команда Gparted 'unit s' відобразить вашу таблицю розділів у секторах. Усі розміри, видалення та створення розділів виконуються за допомогою Gparted. Таким чином ви можете просто зробити всю математику в секторах. "Compact unit" повернеться до формату 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 має чудовий варіант змінити розмір до мінімуму. Крім того, я видалив свою групу обміну обсягом під час цієї частини.

ubuntu@ubuntu:~$ 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 розділу 3 менший, ніж мій вихідний список, тобто таким чином ви можете використовувати gparted для створення розділу №4 перед копією DD. Зменшення звільняє більше місця на диску для цієї копії.

ubuntu@ubuntu:~$ 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, продовжуйте та збільшуйте розмір вашого / завантажувального розділу. Ви видалите оригінальний розділ №3, а потім знову створите розділ №3 у новому секторі після розширених розділів №1 та №2. Знову блокдев був використаний для вимірювання розмірів сектору. Я створив цей розділ №3 такого ж розміру, як і розділ №4, який менший за №3. Використовуйте DD, щоб скопіювати # 4 сектори до розділу №3.

ubuntu@ubuntu:~$ 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 збільшує розмір розділу, він не оновлює файлову систему. Зверніть увагу, що файлова система міститься в зашифрованому розділі, тому її потрібно відкрити та встановити, щоб внести цю зміну. Використовуйте наступну команду для виправлення цього. Це можна зробити за допомогою живої системи при необхідності.

user@zagyg:/$ 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.


Розділ завантаження не повинен розшифровуватися. У мене немає окремого / завантажувального розділу, це лише частина моїх основних зашифрованих коренів. Grub може завантажуватися в такій конфігурації просто чудово. II завантаження з мого 1 MiB розділу EFI. І хоча зміна / завантаження виконує приблизно ці кроки, немає необхідності робити їх вручну. Ви можете просто використовувати KDE Partition Manager 3.0 для виконання всіх цих кроків. Наприклад, я виконую тут деякі операції над зашифрованими коренями зсередини системи, навіть не використовуючи живий cd youtube.com/watch?v=FKCQ7pJN1vY Хоча живий cd необхідний для переміщення лукського розділу.
Андрій Штіконас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.