LINUX.ORG.RU

Как обновить систему, если в /boot нет места для нового ядра?

 ,


0

1

Не опытен в линукс… Не могу понять как установить обновление если у меня нету не зарезервированного места для расширения /boot, а переустанавливать нету диска для бэкапа, ИИ посоветовал пересоздать init:

#"Удалить текущий initrd":
sudo rm /boot/initrd.img-6.18.12+kali-amd64 ;
#"Пересоздать":
sudo update-initramfs -c -k 6.18.12+kali-amd64 ;
#"Обновить GRUB":
sudo update-grub 

Так что не понятно что делать, думал kali хороший выбор для студента ИС.



Последнее исправление: dataman (всего исправлений: 4)

Удалить старые ядра. Удаление initrd с последующей пересборкой проблемы не решит, потому что ты сначала почистишь место, а потом займёшь его обратно этим же.

Если ты опытный спец, ты можешь снести старый initrd и загрузиться потом в новый, но сам понимаешь, есть риски.

думал kali хороший выбор для студента ИС.

Нет. Kali хороший выбор для специалиста по ИБ. Для студента лучше что попроще взять.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Ну если сейчас ядро 6.18.12 и в установке установится новое, то я смогу же просто в grub поставить новое?(Хотя я думаю что оно поставится автоматически). Ну просто давно в документации kali как то заметил что там rm -rf не работает, хотя сейчас понял что это вроде у всех, так что, что выбрать пока не знаю. Ps: Так вот да у меня чистый /boot, там только бинарники на пару килобайт/байт, и конфиги тоже на пару килобайт/байт, и поэтому и спрашиваю что делать.

d2156
() автор топика
Ответ на: комментарий от d2156

то я смогу же просто в grub поставить новое?(Хотя я думаю что оно поставится автоматически)

Поставится автоматически.

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

Почему ты пишешь, что у тебя нет места в /boot, если у тебя там пара килобайт?

Давай так:

du -sh /boot
df -h
ls -l /boot

в студию, посмотрим что там у тебя.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler
du: невозможно прочитать каталог '/boot/efi': Отказано в доступе
du: невозможно прочитать каталог '/boot/lost+found': Отказано в доступе
231M    /boot
Файловая система              Размер Использовано  Дост Использовано% Cмонтировано в
udev                            7,6G            0  7,6G            0% /dev
tmpfs                           1,6G         1,7M  1,6G            1% /run
/dev/mapper/DMKR2156--vg-root   456G         401G   32G           93% /
tmpfs                           7,7G         149M  7,6G            2% /dev/shm
efivarfs                        192K          56K  132K           30% /sys/firmware/efi/efivars
none                            1,0M            0  1,0M            0% /run/credentials/systemd-journald.service
tmpfs                           7,7G          45M  7,7G            1% /tmp
/dev/sda2                       456M         231M  201M           54% /boot
/dev/sda1                       511M         156K  511M            1% /boot/efi
none                            1,0M            0  1,0M            0% /run/credentials/getty@tty1.service
tmpfs                           1,6G         176K  1,6G            1% /run/user/1000
итого 220922
-rw-r--r-- 1 root root     53248 июн 30  2022 2nd_gen_i5_i7_SINIT_51.BIN
-rw-r--r-- 1 root root     52416 июн 30  2022 3rd_gen_i5_i7_SINIT_67.BIN
-rw-r--r-- 1 root root     52800 июн 30  2022 4th_gen_i5_i7_SINIT_75.BIN
-rw-r--r-- 1 root root     87424 июн 30  2022 5th_gen_i5_i7_SINIT_79.BIN
-rw-r--r-- 1 root root    131072 июн 30  2022 6th_7th_gen_i5_i7-SINIT_79.bin
-rw-r--r-- 1 root root    131072 июн 30  2022 7th_8th_gen_i5_i7-SINIT_81.bin
-rw-r--r-- 1 root root    294106 фев 25 20:06 config-6.18.12+kali-amd64
-rw-r--r-- 1 root root    294105 фев 10 19:36 config-6.18.9+kali-amd64
drwx------ 3 root root      4096 янв  1  1970 efi
-rw-r--r-- 1 root root     32896 июн 30  2022 GM45_GS45_PM45_SINIT_51.BIN
drwxr-xr-x 6 root root      1024 мар 29 01:35 grub
-rw-r--r-- 1 root root     35776 июн 30  2022 i5_i7_DUAL_SINIT_51.BIN
-rw-r--r-- 1 root root     44480 июн 30  2022 i7_QUAD_SINIT_51.BIN
-rw-r--r-- 1 root root 209785801 мар 29 12:45 initrd.img-6.18.12+kali-amd64
drwx------ 2 root root     12288 окт 28  2024 lost+found
-rw-r--r-- 1 root root     31552 июн 30  2022 Q35_SINIT_51.BIN
-rw-r--r-- 1 root root     33088 июн 30  2022 Q45_Q43_SINIT_51.BIN
-rw-r--r-- 1 root root        92 фев 25 20:06 System.map-6.18.12+kali-amd64
-rw-r--r-- 1 root root        91 фев 10 19:36 System.map-6.18.9+kali-amd64
-rw-r--r-- 1 root root  14160064 фев 25 20:06 vmlinuz-6.18.12+kali-amd64
-rw-r--r-- 1 root root     37120 июн 30  2022 Xeon-5600-3500-SINIT-v1.1.bin
-rw-r--r-- 1 root root     38336 июн 30  2022 Xeon-E7-8800-4800-2800-SINIT-v1.1.bin
d2156
() автор топика
Ответ на: комментарий от Aceler

Скорее всего разбивал по старым гайдам, и выделил 500 метров под /boot/.

Современные ядра крупнее, нужно минимум 1 гигабайт, а если параллельно 2 линейки ядер стоит, например LTS и latest, то 2.

Если еще и / в гигов 8, то тоже могут быть сюрпризы :-)

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от d2156

Мда. Тут вопрос не почему плохо, а как это вообще работает.

/boot/, как ранее писал, должен быть хотя бы в 1 гигабайт, но то ладно – а у тебя ОС вообще грузится с /boot/efi такого размера? Там много не надо, но обычно хотя бы 100 метров дают.

Или это BIOS, а не UEFI?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от d2156

У тебя установка нового ядра упадёт из-за нехватки места. Единственное что тут можно попробовать сделать без полной переразбивки диска - это уменьшить sda1 до 100МБ и отдать освободившееся в sda2. Но если что-то сделать неверно система в итоге грузиться перестанет.

firkax ★★★★★
()
Ответ на: комментарий от firkax

А, тьфу ты. Не так прочел. Нормальный у него по размеру /boot/efi/.

И есть вариант тупо отказаться от /boot/ – в Debian GRUB2 собирают так, что он может грузить ядра с / на LVM.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от firkax

А нет, как же я забыл, есть ещё один заметно более простой вариант.

Копируешь /boot в /boot.tmp, затем размонтируешь /boot и убираешь его из fstab, затем копируешь всё назад в /boot (но уже не отдельным разделом а в составе /) и вроде после этого надо grub-install заново сделать.

Отдельный раздел для /boot не требуется. Кидать всё в один раздел - не очень хорошо, желательно отсоединить /home хотя бы, но это уже другая тема.

firkax ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Можно не смотреть, там в выводе df видно, что efivars смонтированы, а значит, у него EFI.

А раз так — можно воспользоваться советом от @firkax, объединить /boot и / и переустановить grub. И всё будет работать.

Aceler ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Конечно BIOS, он у всех есть. Но его биос с поддержкой UEFI очевидно, например такой (смотреть заголовок утилиты).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

думал kali хороший выбор для студента ИС.

отличный выбор! вот ты сейчас проблему решишь, опыт/знания получишь. что ещё надо студенту?!

futurama ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Тогда иду тестировать на виртуалке, и верно ли то что у меня grub2?

grub-install --version
grub-install (GRUB) 2.12-9+kali1
d2156
() автор топика
Ответ на: комментарий от futurama

Ну не думаю, просто думал что на kali больше библиотек, плюс пентест утилиты(посмотреть сеть, побаловаться с ардуино) плюс по выбору это был тогда самый большой по размеру дистрибутив(думал будет полезным), а для ИС(всё от некоторых профессий по чу-чуть) думаю не нужен я не ИБшник:)

d2156
() автор топика
Ответ на: комментарий от d2156

Чтобы взять что-то из третьего, тебе придётся слишком много возиться. А из первого взять весьма просто.

firkax ★★★★★
()
Ответ на: комментарий от d2156

У тебя тема про /boot, место, «шеф, всё пропало», при чём тут «больше библиотек, плюс пентест утилиты» … что-то там ещё???

futurama ★★★★★
()
Последнее исправление: futurama (всего исправлений: 1)
Ответ на: комментарий от firkax

Получается он имеет один и тот же размер и не обновляется?, но всё таки, это другой не менее важный раздел, ничего не случиться если его затрагивать?

d2156
() автор топика
Ответ на: комментарий от d2156

У тебя в нём занято меньше мегабайта, что там ему может не хватить? Главное ничего не перепутать в процессе. А процесс скорее всего будет примерно такой:

1) копируем /boot/efi и /boot куда-нить на основной раздел

2) размонтируем их обоих, удаляем

3) создаём новые с теми же типами что были и в том же порядке, но других рамеров (100M+900M)

4) создаём на них файловые системы (учти, что на EFI должен быть виндузятный FAT а не линуксовая фс)

5) монтируем назад и копируем на них сделанные ранее бекапы

6) возможно надо переустановить grub после этого

Ну и, напомню, есть второй вариант - избавиться от sda2 вообще, а /boot сделать обычной директорией на sda3.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 3)
Ответ на: комментарий от firkax

А, ну тоже вариант. Но его хватит не надолго — ядро пухнет с каждым годом.

Aceler ★★★★★
()
Ответ на: комментарий от Werenter

В /boot хранятся ядра, а в efi только этот файл ./efi/EFI/kali/grubx64.efi (144кб)

Ps: Спасибо всем протестирую оба метода.

d2156
() автор топика

sudo apt autoremove

Пакетник должен сам удалить занятое старыми ядрами место.

Либо можно удалить старые ядра также вручную, через пакетник.

svidrigaylov ★
()
Последнее исправление: svidrigaylov (всего исправлений: 1)

Ты выбрал автоматическкую разбивку диска, и инсталлятор создал /boot такого маленького размера? Тогда это явный баг в инсталляторе.

Смело иди на bugs.kali.org и репорть это как баг.

Только так.

Welcome to open-source =)

bigbit ★★★★★
()
Ответ на: комментарий от router

Вот-вот. Я тоже посмотрел на эти 200Мб, и предложил открыть у них баг.

С такими аппетитами и /boot следует делать соответствующего размера. Или может он у них несжат, или еще что.

bigbit ★★★★★
()

Как обновить систему, если в /boot нет места для нового ядра?

  1. Переносишь все файлы из папки «/boot» себе в папку «/root». То есть папка «/boot» должна стать пустой.

  2. После этого запускаешь в «Терминале» обновление ядра «Линукса». Новое ядро установится в пустую папку «/boot».

  3. Перезагружаешься.

  4. Если загрузка нового ядра завершится неудачно, то всегда же можно загрузиться с флэшки и вернуть назад файлы предыдущего ядра в папку «/boot» из папки «/root».

Не боись, я сам так делал несколько раз. Всё отлично будет.

Enthusiast ★★★☆
()

В чем вообще проблема? Два ядра спокойно влезают в 500мб

Вот пример, раздел даже меньше и свободно 100М

 df -h | grep boot
/dev/sda2                                       437M         309M  101M           76% /boot
/dev/sda1                                        94M          64M   31M           68% /boot/efi

При этом становлено даже не два, сразу три ядра!

 rpm -qa | grep kernel-core
kernel-core-6.13.11-100.fc40.x86_64
kernel-core-6.14.2-300.fc42.x86_64
kernel-core-6.14.8-300.fc42.x86_64

Что вы там выдумываете?

usermod ★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Скорее всего разбивал по старым гайдам, и выделил 500 метров под /boot/.

А сколько сейчас ядро занимает? У меня 32Мб вместе с initramfs. У меня 3 версии на 100Мб влезают. Может конечно это в генте моей, а в современных дистрах одно ядро 300Мб. Но если нет, то удалить одно из старых и установить на его место новое.

Loki13 ★★★★★
()
Ответ на: комментарий от d2156
tune2fs -m 0 /dev/sda2

даст тебе дополнительные свободные 48 мегабайт - этого может хватить для решения проблемы

adn ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария