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 ★★★★★
()

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