Creating new and bigger /boot partition

Continuing the discussion from Looking for advise to extend my swap partition, while reducing Root Partition, when possible with KDE Partition Manager:

Hello,
today i wanted to increase my Boot Partition, as the screenshot in my last Topic showed some overview about the Partitions. Im in the live environment right now btw.

So my plan is, to backup my Partition SDC3 (ext3) 200MB Partition and deleting this partition.
Then i wanted to use my freespace from my old swap partition (2930MB) and creating a new boot partition in this space.

My problem is now, that i cant copy/backup all files from my current boot partition and the copy command that i had from a youtube tutorial doesnt work either for this locked files.

cp -arv /boot/. /media/temp/bootbackup/

(i copy this files in my normal install, but copy the files in life environment dont change anything.
Initramfs files are still missing.)

I have no idea, why the guy in the tutorial had no problems… are this 2 missing Initramfs bootfiles and the Lost+Found folder not needed here?

Timestamp 5:49
https://youtu.be/7NCI7DmQO28?t=349

Edit: i used the same copy command with sudo and could backup everything.
Good that i double checked the result from this copy command.

I have no idea if thats working as intended… any suggestions?

System:
  Kernel: 6.1.77-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/vmlinuz-6.1-x86_64
    root=UUID=eb235aa7-d461-413d-800e-ea57385703fb rw quiet
    sysrq_always_enabled=1 retbleed=off
    resume=UUID=717b267e-7322-4bf9-a840-f1210d422d1a udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.12 info: frameworks
    v: 5.115.0 wm: kwin_x11 vt: 2 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop System: Gigabyte product: Z170X-UD3 v: N/A
    serial: <superuser required>
  Mobo: Gigabyte model: Z170X-UD3-CF v: x.x serial: <superuser required>
    uuid: <superuser required> UEFI-[Legacy]: American Megatrends v: F23d
    date: 12/01/2017
Memory:
  System RAM: total: 16 GiB available: 15.58 GiB used: 2.22 GiB (14.2%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 64 GiB slots: 4 modules: 2 EC: None
    max-module-size: 16 GiB note: est.
  Device-1: ChannelA-DIMM0 type: no module installed
  Device-2: ChannelA-DIMM1 type: DDR4 detail: synchronous size: 8 GiB
    speed: 2800 MT/s volts: note: check curr: 1 min: 1 max: 1 width (bits):
    data: 64 total: 64 manufacturer: G.Skill part-no: F4-2800C16-8GRR
    serial: N/A
  Device-3: ChannelB-DIMM0 type: no module installed
  Device-4: ChannelB-DIMM1 type: DDR4 detail: synchronous size: 8 GiB
    speed: 2800 MT/s volts: note: check curr: 1 min: 1 max: 1 width (bits):
    data: 64 total: 64 manufacturer: G.Skill part-no: F4-2800C16-8GRR
    serial: N/A
CPU:
  Info: model: Intel Core i7-6700K bits: 64 type: MT MCP arch: Skylake-S
    gen: core 6 level: v3 note: check built: 2015 process: Intel 14nm family: 6
    model-id: 0x5E (94) stepping: 3 microcode: 0xF0
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 8 MiB desc: 1x8 MiB
  Speed (MHz): avg: 4500 min/max: 800/4700 scaling: driver: intel_pstate
    governor: performance cores: 1: 4500 2: 4500 3: 4500 4: 4500 5: 4500 6: 4500
    7: 4500 8: 4500 bogomips: 64026
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid invpcid_single lahf_lm lm mca mce md_clear mmx monitor
    movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm
    pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp
    rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp
    syscall tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi
    vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling status: Vulnerable: No microcode
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed status: Vulnerable
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines, IBPB: conditional, IBRS_FW,
    STIBP: conditional, RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: NVIDIA TU102 [GeForce RTX 2080 Ti Rev. A] vendor: Micro-Star MSI
    driver: nvidia v: 545.29.06 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2024-02; EOL~2026-12-xx) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.0 chip-ID: 10de:1e07 class-ID: 0300
  Display: x11 server: X.Org v: 21.1.11 compositor: kwin_x11 driver: X:
    loaded: nvidia gpu: nvidia display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 122 s-size: 532x302mm (20.94x11.89")
    s-diag: 612mm (24.08")
  Monitor-1: DP-4 res: 2560x1440 dpi: 123 size: 527x296mm (20.75x11.65")
    diag: 604mm (23.8") modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 545.29.06
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2
    memory: 10.74 GiB
  API: Vulkan v: 1.3.276 layers: 5 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 2080 Ti driver: nvidia v: 545.29.06 device-ID: 10de:1e07
    surfaces: xcb,xlib
Audio:
  Device-1: Intel 100 Series/C230 Series Family HD Audio vendor: Gigabyte
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a170
    class-ID: 0403
  Device-2: NVIDIA TU102 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
    bus-ID: 01:00.1 chip-ID: 10de:10f7 class-ID: 0403
  Device-3: Creative Labs CA0132 Sound Core3D [Sound Blaster Recon3D /
    Z-Series BlasterX AE-5 Plus] driver: snd_hda_intel v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 0b:00.0 chip-ID: 1102:0012 class-ID: 0403
  API: ALSA v: k6.1.77-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.0.3 status: off with: pipewire-media-session
    status: active tools: pw-cli
  Server-3: PulseAudio v: 17.0 status: active with: 1: pulseaudio-alsa
    type: plugin 2: pulseaudio-jack type: module tools: pacat,pactl
Network:
  Device-1: Intel Ethernet I219-V vendor: Gigabyte driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15b8 class-ID: 0200
  IF: enp0s31f6 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 5.93 TiB used: 334.43 GiB (5.5%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Corsair model: MP600 PRO LPX
    size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: EIFM31.6 temp: 30.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 PRO 1TB
    size: 953.87 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 2B6Q scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: HGST (Hitachi) model: HDN724030ALE640
    size: 2.73 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: A5E0 scheme: GPT
  ID-4: /dev/sdc maj-min: 8:32 vendor: Samsung model: Portable SSD T5
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B type: USB
    rev: 3.1 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1 tech: SSD serial: <filter>
    scheme: MBR
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 88.61 GiB size: 86.66 GiB (97.80%) used: 19.87 GiB (22.9%)
    fs: ext4 dev: /dev/sdc1 maj-min: 8:33 label: N/A
    uuid: eb235aa7-d461-413d-800e-ea57385703fb
  ID-2: /boot raw-size: 200 MiB size: 188.2 MiB (94.09%)
    used: 113.8 MiB (60.4%) fs: ext3 dev: /dev/sdc3 maj-min: 8:35 label: N/A
    uuid: 26eda82e-b403-49b8-abca-202167417020
  ID-3: /home raw-size: 332.03 GiB size: 325.75 GiB (98.11%)
    used: 15.41 GiB (4.7%) fs: ext4 dev: /dev/sdc4 maj-min: 8:36 label: N/A
    uuid: ada4a6a2-bd0a-4652-b386-7c637bba7ee9
  ID-4: /media/nvme-games raw-size: 1.82 TiB size: 1.79 TiB (98.37%)
    used: 283.89 GiB (15.5%) fs: ext4 dev: /dev/nvme0n1p1 maj-min: 259:1
    label: nvme-games uuid: 423e0b4c-a042-4ca4-9b01-f066f692d375
  ID-5: /media/temp raw-size: 63.48 GiB size: 62.18 GiB (97.96%)
    used: 15.14 GiB (24.3%) fs: ext4 dev: /dev/sdb1 maj-min: 8:17 label: temp
    uuid: 1e81b7c2-3438-438a-b572-ff8a966a78e1
Swap:
  Kernel: swappiness: 10 (default 60) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 7.81 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sdc2 maj-min: 8:34 label: N/A
    uuid: 717b267e-7322-4bf9-a840-f1210d422d1a
Unmounted:
  ID-1: /dev/sda1 maj-min: 8:1 size: 50 MiB fs: ntfs label: System-reserviert
    uuid: B2286A122869D5BF
  ID-2: /dev/sda2 maj-min: 8:2 size: 97.09 GiB fs: ntfs label: win10
    uuid: 5E60C09860C077F3
  ID-3: /dev/sda4 maj-min: 8:4 size: 782.51 GiB fs: ntfs label: games
    uuid: 165692E31D7ADAF2
  ID-4: /dev/sdb2 maj-min: 8:18 size: 1.57 TiB fs: <superuser required>
    label: N/A uuid: N/A
  ID-5: /dev/sdb3 maj-min: 8:19 size: 1.09 TiB fs: <superuser required>
    label: N/A uuid: N/A
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 16 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-13:2 info: A4Tech XL-730K / XL-750BK XL-755BK Mice
    type: keyboard,mouse driver: hid-generic,usbhid interfaces: 2 rev: 1.1
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 100mA
    chip-ID: 09da:9090 class-ID: 0301
  Hub-2: 2-0:1 info: super-speed hub ports: 10 rev: 3.0
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Device-1: 2-5:3 info: Samsung Portable SSD T5 type: mass storage
    driver: uas interfaces: 1 rev: 3.1 speed: 5 Gb/s (596.0 MiB/s) lanes: 1
    mode: 3.2 gen-1x1 power: 896mA chip-ID: 04e8:61f5 class-ID: 0806
    serial: <filter>
  Hub-3: 3-0:1 info: hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-4: 4-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 5-0:1 info: hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-6: 6-0:1 info: super-speed hub ports: 2 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 30.0 C mobo: N/A gpu: nvidia temp: 32 C
  Fan Speeds (rpm): N/A gpu: nvidia fan: 25%
Info:
  Processes: 224 Power: uptime: 50m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 6.22 GiB services: org_kde_powerdevil,upowerd
    Init: systemd v: 255 default: graphical tool: systemctl
  Packages: 1539 pm: pacman pkgs: 1533 libs: 443 tools: pamac pm: flatpak
    pkgs: 6 Compilers: clang: 16.0.6 gcc: 13.2.1 Shell: Bash v: 5.2.26
    running-in: konsole inxi: 3.3.33

the apparent intent was to copy everything that was present in the source to the new location.
I have no idea why the provided command was shown to work.
Do what is needed - copy all of the contents of the source to the destination.
All of it.
Everything.
Don’t mind the lost+found folder.

… one of the many mysterious ways following YT tutorials can fail
when one does not know what is actually going on or intended to be done.
One small typo or editing mistake and the whole thing falls apart.

Several people complained that the Youtube Tutorial wasn’t enough and they run into error or unbootable OS, but no one explained what information was missing.

With the additional sudo cp command i could backup everything.

But im still unsure, if this is the right way to get a bigger boot partition or if i run into a unbootable OS after this.

Are editing fstab and copy the new UUID into is enough to tell the OS to boot from the new Partition?

Edit: What about timeshift, can i still restore my system after deleting and creating a new boot partition?

Of course not - this is YT.
Only if you are lucky you get good information. :wink:

I have not watched the video.

Do you even need a separate /boot partition?
If yes then - create a new one and replace the old with the new.

If no then just integrate it into / and be done with.

1 Like

I use MBR, i don’t think that i need one… but in another PC Forum some people advised me to create a separate /boot Partition… and fooled me that 200MB are more than enough, this was 4 years ago before i earned experience in Linux… today i know better.

If i don’t need this Partition, how should i go from here?

  1. Booting in Live Environment.

  2. Just uncomment the UUID from /Boot in fstab.

  3. Copy the /boot backup files into / where the boot folder in Root is located and overwrite this files again?

Then restart my system and hope everything is fine?

… not today - perhaps tomorrow
standby
or someone else explain it in the mean time …

Tomorrow is fine. Thanks for now.

Why would you want to have a bigger /boot?

What is stored in /boot ?
… the kernel image and the initrd and the firmware

ls -hl /boot

to see the size of /boot partition
and mount point:
lsblk -f
mount

also: is it really a separate partition …
cat /etc fstab

~ 200 MB should be sufficient

a kernel image and it’s corresponding initrd will take up ~50MB in /boot

Rather than creating a new and bigger one
you may just clean out of there what is no longer needed
Old kernels … which are not even being used anymore
just taking up space

To me it makes no sense to create a bigger one
in order to hold/keep even more of what is not needed anymore anyway.

Yours is a bit of an XY question, isn’t it? :wink:

Not at all.

Even a fresh install from 6.6 LTSC takes 180MB (i try to download it yesterday but the installation aborted because of no space) and the newer 6.7 Kernels extended hardcore for around 350MB, you can see it under known issues $ solutions in Stable release Topic.

Not new info for me… i do this since 3,5 years for now… there is nothing left besides Kernel 6.1 now… take a look at my screenshot where i backup the /boot files… there is nothing else besides this one LTSC Kernel and it takes 130MB… only 70MB left, not enough room to switch Kernels.

This was maybe 3 years ago the case…

Any advise?

Not quite.
You boot the live system.
You mount the /boot partition - because you need to copy its contents to the /boot directory on the / partition

You mount the / partition (to a separate place) - so that you can access the /boot directory
This directory is empty (!) - until now it was just a mount point for your too small /boot partition

And now you copy the contents of the /boot partition to that directory.
Then you open /etc/fstab and comment out the line for your /boot partition.
It is no longer needed, it’s contents are now on the /

unmount the partitions and test by rebooting

If everything works you can delete the line in /etc/fstab - if not you can just uncomment it and all will be back to what it was.

1 Like

What is an LTSC Kernel, isn’t that a Windows thing?

I’m using UKI images and running 6.6, 6.7, and 6.8 kernels, along with Windows Boot Manager, rEFInd, and some misc utilities, all taking up ~181 MB. Kernel and initramfs are ~45 MB with some extra stuff manually bundled in, but I’m not using the nvidia bloat.

If rolling it into your root partition doesn’t work, you can remove the fallback image and disable it’s creation in /etc/mkinitcpio.conf, which should give you enough space to update your kernel.

That fallback image is usually much larger.

Typo, most likely - the C at the end does not belong there.
Then it is an LTS kernel (long term support).

I was going to suggest the same - but even as it is, 200 MB is enough for two different kernels.
It’s just a bit cumbersome when wanting to install a new one
because to do that, he has got to delete one of the existing ones first.

Rolling it into their rootfs is the best solution if that’s possible, but they’re right about the bloated images. I don’t normally use the fallback images but I just built one to see:

[root@manjaro-testing ~]# ls -lh /boot/initramfs-6.7-x86_64*
-rw------- 1 root root 128M Feb 25 21:14 /boot/initramfs-6.7-x86_64-fallback.img
-rw------- 1 root root  25M Feb 25 21:13 /boot/initramfs-6.7-x86_64.img

And in my EFI partition, if I skip the mkinitcpio autodetect hook, its a 150MB UKI image:

[root@manjaro-testing ~]# ls -lh /efi/EFI/Manjaro/
total 279M
-rwx------ 1 root root 148M Feb 25 21:14 manjaro-6.7-x86_64-fallback.efi
-rwx------ 1 root root  44M Feb 25 20:39 manjaro-stable.efi
-rwx------ 1 root root  45M Feb 25 21:13 manjaro-testing.efi
-rwx------ 1 root root  45M Feb 25 17:11 manjaro-unstable.efi

I think you probably forgot that i backup my /boot files already

Maybe this is the case for EFI Boot files, but not for MBR.

… probably.
Use the backup you made then.
Either way will work.
The contents of /boot need to end up in the /boot directory on the / partition.
For that, the /boot partition cannot be mounted to /boot.

Lets not argue about this - it is irrelevant for the task - and will not play a role anymore once the contents of /boot are on the / partition.

Yeah i do this by mistake, instead LTS i called it LTSC, im cursed by Microsoft :wink:

Well i do, i have a nvidia 2080Ti maybe thats why its downloading 180MB for only the 6.6 LTS Kernel 2 days ago.

Yeah, @Nachlese is correct, BIOS vs. EFI isn’t really going to differ with regards to size.

That said, have you tried this yet? You may need to set the boot flag on the root partition, and unset it from the existing boot partition… it’s been a while since I’ve used legacy BIOS boot.

I just verified his information, im not flash :zap:

I saw yesterday in KDE partition manager a bloot flag icon from / and /boot partition, but it wasnt marked on both partitions.

Roger, i was only confused why he see a much smaller bootfiles than i do… the screenshot above, showed 100MB… you can see this on the left Dolphin Window there, only with 6.1 Kernel.

Ok, grub is smart enough to work without it I believe, it will scan through your partitions and look for kernel images, so try without any boot flags.

Question… Are you using BIOS/GPT or BIOS/MBR, both are possible but BIOS/GPT requires a separate boot partition.

1 Like