Как увеличить раздел /boot
- by baklan
Необходимость увеличения раздела /boot появляется при обновлениях, в случае если /boot является разделом, а не каталогом и размер его недостаточен для процесса обновления системы.
1. Первый вариант, который приходит в голову — загрузиться с live-cd и с помощью gparted изменить разделы диска в нужных пропорциях. Есть риск потери данных, поэтому надо бэкапить все важные данные. Но этот вариант в моем конкретном случае не подошел. У меня виртуальный сервер на firstVDS.
2. Тогда я решил заменить раздел /boot каталогом /boot (кто мне ответит зачем я его сделал, да и еще размером в 90мб…?).
Вот этот процесс я и опишу.
Не буду говорить о необходимости бекапов, каждый сам знает насколько важны его данные. Я не делал, поскольку был сильно уверен, что все получится с первого раза. Получилось, но не совсем с первого :).
Итак первое я посмотрел какие разделы у меня смонтированы
#mount
….
мне интересны строки
/dev/vda3 on / type ext4
/dev/vda2 on /boot type ext2
Затем я посмотрел что же у меня в /etc/fstab , а там вот что:
# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/vda3 / ext4 errors=remount-ro 0 1
/dev/vda2 /boot ext2 defaults 0 2
Значит строчку с /dev/vda2 надо закомментировать, т.о. fstab станет таким
# /etc/fstab: static file system information.
#
# Use ‘blkid’ to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/vda3 / ext4 errors=remount-ro 0 1
#/dev/vda2 /boot ext2 defaults 0 2
Теперь в корне файловой системы я создал каталог /boot_new и скопировал в него все содержимое /boot
#cp -R /boot/* /boot_new/
Затем отмонтировал раздел /dev/vda2
#umount /dev/vda2
Поскольку теперь каталог /boot освободился, то назад копируем все файлы из /boot_new , но в /boot_new я ничего не удалил.
#cp -R /boot_new/* /boot/
Теперь можно обновляться, что я и сделал.
Вот тут, вероятнее всего, я совершил ошибку. Решил, что все готово и запустил перезагрузку
#reboot
А, как я сейчас предполагаю, надо было дать команду
#update-grub
и это избавило бы меня от лишних волнений.
Ну чтож, опишу дальнейшие мои действия.
Сервер не загрузился 🙁 , загрузилась консоль grub
grub>
Не буду описывать процесс поиска решения, а сразу дам его (решение).
grub>ls
(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
Я помню, что /boot был на vda2 — hd0,gpt2 а корень на vda3 — hd0,gpt3 , значит:
set prefix=(hd0,gpt3)/boot/grub
set root=(hd0,gpt3)
ls /boot
initrd.img-3.13.0-106-generic //оказалось там только один файл, остальные исчезли при обновлении..
Ладно, я помню, что оставил /boot_new и он мне помог
set prefix=(hd0,gpt3)/boot_new/grub
set root=(hd0,gpt3)
linux /boot_new/vmlinuz-3.13.0-107-generic root=/dev/vda3
initrd /boot_new/initrd.img-3.13.0-107-generic
boot
Ура, сервер запустился!
Я сразу же дал команду
#update-grub
И еще раз перезагрузил сервер, чтобы убедиться, что все сработало.
Необходимость увеличения раздела /boot появляется при обновлениях, в случае если /boot является разделом, а не каталогом и размер его недостаточен для процесса обновления системы. 1. Первый вариант, который приходит в голову — загрузиться с live-cd и с помощью gparted изменить разделы диска в нужных пропорциях. Есть риск потери данных, поэтому надо бэкапить все важные данные.…