找回密码
 立即注册
搜索
查看: 4866|回复: 53

[软件] linux低手求救!

[复制链接]
     
发表于 2022-1-27 22:39 | 显示全部楼层 |阅读模式
今天升级archlinux提示boot分区不够了,我查了一下发现个怪事:
我划了512mb分区专门给boot,用lsblk命令能查到该分区,大小512mb;
但该分区挂载到/boot时,/boot目录只有100mb大小,这就是空间不够的原因!
用gparted也能显示有412mb未分配。但我用mount命令挂载这个分区到boot时boot目录就死活只能有100mb大,那剩下的400多mb就是不能给到boot目录。
请问我该怎么办?
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-27 22:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-27 23:08 | 显示全部楼层
gparted显示未分配,应该是说boot的文件系统比分区小吧。分区有512mb,但是文件系统只有100mb。你试试扩容一下文件系统
回复

使用道具 举报

发表于 2022-1-27 23:11 | 显示全部楼层
应该是分区分了512M,但文件系统只占据了100M吧

假设你/boot用的是ext3/4文件系统,那么用arch安装盘启动,用resize2fs命令修复一下就行了,具体怎么用可以man一下,应该是resize2fs /dev/sda2这样就行(当然要把/dev/sda2换成你的/boot对应的物理分区)

但是,一个内核可能就有一两百兆,boot分配512M太小了,建议如果有可能,扩到1-1.5G
回复

使用道具 举报

     
 楼主| 发表于 2022-1-27 23:15 来自手机 | 显示全部楼层
我给boot分区用的是fat32格式,应该用什么命令?
回复

使用道具 举报

     
发表于 2022-1-27 23:22 | 显示全部楼层
说一个感觉可能性不大的情况:
有进程在向 /boot 下写入长期打开着的文件
然后这个文件被删了,但前面说的进程还在,那么这个打开着的文件所占的空间也就没法释放
可以用
  1. lsof | grep -w deleted
复制代码
看下有没有这类文件

这个情况多见于没能正确 rotate 的日志文件,但是在 /boot 下应该没有这么干的(吧
回复

使用道具 举报

     
 楼主| 发表于 2022-1-27 23:45 | 显示全部楼层
我打算把原来boot里面的东西拷出来,再把分区从fat32格式化成ext4,再把东西拷进去,这样可以吗,能安全启动吗?需要注意什么?
回复

使用道具 举报

     
发表于 2022-1-27 23:59 | 显示全部楼层
alann 发表于 2022-1-27 23:45
我打算把原来boot里面的东西拷出来,再把分区从fat32格式化成ext4,再把东西拷进去,这样可以吗,能安全启 ...

按照标准,ESP 的格式必须是 FAT
https://wiki.archlinux.org/title ... ormat_the_partition
如果你真的要重建分区
那重建后确认文件系统的大小是 512MB 就行了,没必要再转换格式
回复

使用道具 举报

     
 楼主| 发表于 2022-1-28 00:06 | 显示全部楼层
我现在把boot分区格式化了,然后mount成boot,空间终于512mb了,但现在这个分区是空的,怎么重建boot啊
回复

使用道具 举报

发表于 2022-1-28 00:07 | 显示全部楼层
alann 发表于 2022-1-27 23:15
我给boot分区用的是fat32格式,应该用什么命令?

FAT32那可能是你这只是个EFI启动器分区,不是传统意义上的/boot吧

把所有文件备份下来,重新用fat32格式化该分区,然后再把文件拷回去应该就行了。千万不要重格成ext4,否则可能BIOS识别不了,无法启动

如果任何操作导致不能启动,用安装盘启动,挂载相应分区,arch-chroot进去,把安装过程中initramfs和boot loader的部分重复一遍,应该就能修复启动了
回复

使用道具 举报

     
 楼主| 发表于 2022-1-28 00:10 | 显示全部楼层
citrus 发表于 2022-1-28 00:07
FAT32那可能是你这只是个EFI启动器分区,不是传统意义上的/boot吧

把所有文件备份下来,重新用fat32格式 ...

我拷文件都是图形化操作的,现在拷出来的文件拖不回去boot了,是不是因为boot是只读的?应该用什么命令把目录a里面的文件拷回boot?
回复

使用道具 举报

     
 楼主| 发表于 2022-1-28 00:26 | 显示全部楼层
拷完了,然后重启失败,看来不是简单的把boot里面的文件拷回去那么简单,因为格式化过,所以里面配置也变了,正在想办法恢复中
回复

使用道具 举报

     
发表于 2022-1-28 00:31 | 显示全部楼层
从来不用单独建boot的啊
回复

使用道具 举报

     
发表于 2022-1-28 00:42 | 显示全部楼层
从来不用单独建立boot的,因为你不知道哪天升级内核,这个分区就炸了
回复

使用道具 举报

     
发表于 2022-1-28 02:52 来自手机 | 显示全部楼层
plumlis 发表于 2022-1-28 00:42
从来不用单独建立boot的,因为你不知道哪天升级内核,这个分区就炸了

我记得boot得用fat分区,被迫分区

—— 来自 HUAWEI WLZ-AL10, Android 10上的 S1Next-鹅版 v2.5.2
回复

使用道具 举报

     
发表于 2022-1-28 05:15 来自手机 | 显示全部楼层
重建boot你拿启动盘chroot过去,重新安装linux grub这些包,然后生成一下grub配置感觉应该差不多了

—— 来自 HUAWEI NOP-AN00, Android 10上的 S1Next-鹅版 v2.5.2
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 07:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-28 09:00 | 显示全部楼层
本帖最后由 Midnight.Coup 于 2022-1-28 13:12 编辑

原来/boot只有100MB可能是fstab或者gpt分区表里写错了

拖boot分区的文件用图形化?这个Arch是楼主从头开始配置的还是一键脚本还是manjaro,用mv/cp命令就可以移动/拷贝文件
/boot分区按理论上来讲只要把之前的文件都复制回去就能用了(rEFInd和systemd-boot的配置文件都在efi里比较简单,而且根目录盘的uuid没变,配置文件都不用重新写)
在Arch ISO里先挂载后安装“linux”再重新执行一下grub的安装命令和配置命令应该就可以了
回复

使用道具 举报

     
 楼主| 发表于 2022-1-28 09:00 | 显示全部楼层
本帖最后由 alann 于 2022-1-28 09:01 编辑

昨天搞到凌晨也没解决。一开始是grub参数里面的boot分区uuid不对,我改了,但进去以后就一直提示权限不足,不能进控制台,也不给我输密码的机会,就一直死在那。
另外昨天有个小插曲,不知道是不是我火上浇油了。就是我把boot里备份的文件拷回boot文件夹的时候不小心把/boot输成了/root,拷到/root文件夹了,然后我就对照/boot里的内容,把/root里面相应的文件和文件夹都删了。不知道这有什么影响?在/root里面删除的文件大概是vmlinuz-linux、initramfs-linux.img,还有efi、grub两个文件夹。想请问arch用户,你们/root里面本来有这些文件或文件夹吗,是不是我删坏事了。
另外我在网上搜/root这个文件夹时,搜到的信息有时说/root是linux根目录,有时又说根目录是外面的/,那么/root和/到底谁才是根目录,它们是什么关系?以我这个win用户思维难以理解啊。
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 09:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-28 09:31 | 显示全部楼层
/boot是系统分区,本身应该是ext2/3/4,放kernel, initramfs和grub的一些文件的,如果是efi的bl,那efi分区(fat32)应该挂载在/boot/efi下,里面放efi格式的启动文件
回复

使用道具 举报

     
发表于 2022-1-28 09:37 | 显示全部楼层
楼主似乎在用win的思路在处理问题
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 09:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2022-1-28 09:55 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-28 10:34 | 显示全部楼层
其实只有 Arch Linux 一个系统的话,100MB 是足足够的…和 Windows 双系统也没问题,甚至能再塞几个内核。

一个内核一两百兆不知道是啥时候的老黄历了,Arch Linux 内核非必要的功能都用模块分出去了,还做了 zstd 压缩,现在也就是 10-30 MB 大。

lz 的问题是知道自己是低手还自作主张,谭友们让你 lsblk、lsof 贴出来看看,你一句也没听,全程直播自己的下饭操作。正确的做法是多提供一些信息,包括自己的分区结构、是否有双系统等等,让大家帮你定位问题了对症下药。

Arch Linux 问题建议去这里求助:https://t.me/archlinuxcn_group
回复

使用道具 举报

发表于 2022-1-28 10:39 | 显示全部楼层
。。。所以为什么要装arch,不想用windows的话装个ubuntu系比arch省心多了
回复

使用道具 举报

     
发表于 2022-1-28 11:15 来自手机 | 显示全部楼层
楼主,真心劝你不要单独分区boot

完全没必要,我日常arch3年了

—— 来自 Xiaomi Mi 10, Android 11上的 S1Next-鹅版 v2.4.3
回复

使用道具 举报

     
发表于 2022-1-28 11:44 | 显示全部楼层
nessaj 发表于 2022-1-28 09:48
/boot可以挂efi分区,arch支持efistub内核的启动
https://wiki.archlinux.org/title/EFI_system_partitio ...

啊,确实我自己自从进入uefi+gpt时代后,/boot就不单独分了

早期mbr时代,会单独分一个/boot,用ext2格式,那时grub能力有限
回复

使用道具 举报

     
发表于 2022-1-28 11:47 来自手机 | 显示全部楼层
不是经验不足的应该用redhat跟debian系吗,上来就折腾arch

—— 来自 Xiaomi MI 8 SE, Android 10上的 S1Next-鹅版 v2.5.2
回复

使用道具 举报

头像被屏蔽
发表于 2022-1-28 12:02 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-28 12:29 来自手机 | 显示全部楼层
RaidenII 发表于 2022-1-28 12:02
没有单独的esp的话你uefi启动难道是直接读ext4的?

有单独的esp,一般挂到/boot/efi下面

—— 来自 samsung SM-G9910, Android 12上的 S1Next-鹅版 v2.5.2-play
回复

使用道具 举报

头像被屏蔽
发表于 2022-1-28 12:33 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 12:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2022-1-28 12:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 12:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
发表于 2022-1-28 12:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-1-28 13:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-1-28 13:08 来自手机 | 显示全部楼层
双硬盘装双系统是最稳的,用哪个就启动哪个,互不干涉
回复

使用道具 举报

     
发表于 2022-1-28 13:18 | 显示全部楼层
macos 发表于 2022-1-28 12:33
esp其实没必要挂载吧,存在就行,他的内容和传统的boot内容也不重合

确实可以不用挂,除非要升级grub
回复

使用道具 举报

     
发表于 2022-1-28 13:18 来自手机 | 显示全部楼层
RaidenII 发表于 2022-1-28 12:02
没有单独的esp的话你uefi启动难道是直接读ext4的?

问题是大部分人都是双系统

win10安装的时候自己会建立一个500MB的esp



—— 来自 Xiaomi Mi 10, Android 11上的 S1Next-鹅版 v2.4.3
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-14 20:15 , Processed in 0.251661 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表